2004/2005学年第二学期
《高级语言程序设计》试题
第一、二、三题的答案写在本页答题卡上 一、单选题(每题2分,共46分) 1 13 14 2 15 3 16 4 17 5 18 6 19 7 20 8 21 9 10 22 11 23 12 二、读程序,写结果(每题2分,共12分)
1. 2. 3. 4. 5.
6.
三、填空实现指定的功能(每空1分,共12分)
⑴. ⑵. ⑶. ⑷. ⑸. ⑹. ⑺. ⑻. ⑼. ⑽. ⑾. ⑿. 一、单选题(每题2分,共46分)
1.以下正确的叙述是
A) C语言本身没有输入、输出语句
B) 对一个C程序进行编泽预处理时,可检查宏定义的语法错误 C) 在C语言中,main函数必须位于文件的开头 D) C语言每行中只能写一条语句
2.以下关于C语言标识符的描述中,正确的是 A) 关键字可以作为用户标识符 B) 标识符可以由汉字组成 C) Num与num是不同的标识符 D) 标识符只能以字母开头
3.表达式3.5+1/2+56的计算结果是 A) 8.5 B) 10 C) 9.5 D) 9
4.设有定义 int i; char c; float f; 以下结果为实型的表达式是 A) c-(int) f B) i*c C) i+c D) i+c+f 5.与表达式!(x<0)等价的C语言表达式是
A) x>=0 B) x>0 C) x<=0 D) x<0
6.设a=3,b=4,c=5,则以下逻辑表达式的值为0的是 A) a||b+c&&b-c B) !(x=a)&&(y=b)&&0 C) !(a>b)&&!c||1 D) !(a+b)+c-1&&b+c/2 7.在循环语句的循环体中执行continue语句,其作用是 A) 结束本次循环,进行下次循环 B) 终止程序运行
C) 跳出该循环体,提前结束循环
D) 继续执行break语句之后的循环体中的各语句 8.以下由while构成的循环执行次数是 int k=0;
while (k=1) k++;
A) 无限次 B) 有语句错误,不能执行 C) 一次也不执行 D) 执行1次 9.下列程序的输出结果是
main()
{ int j=5;
for(; j<15; ) { j++;
if (j%4==0)
print(\; else
continue; }
}
A)8 12 16 B) 8 12 C) 12 16 D) 8 10.下列对一维数组a的正确说明语句是
A) int a(10); B) int n=10,a[n]; C) int n; D) #define SIZE 10 scanf(\ int a[n];
11.若有定义语句int a[][2]={1,3,5,7,9};则以下叙述正确的是 A) 该语句存在语法错误
B) 该语句等价于 int a[3][2]={1,3,5,7,9}; C) 该语句等价于 int a[][2]={{1,3,5},{7,9}}; D) 该语句等价于 int a[2][2]={1,3,5,7,9};
12.不能正确进行字符串赋值、赋初值或读入(输入字符均不超过5个)的语句
组是
A) char *s, a[10];s=a;gets(s);
B) char s1[]=\; C) char s[6]; scanf(\
D) char s[5]={'a','b','c'}; 13.函数返回值的类型是由____决定:
A) return语句中表达式的类型 B) 该函数的形参类型
C) 调用该函数时的实参类型 D) 函数定义时所指定的函数类型 14.以下程序的输出结果是 func(int a)
{ static int m=0; m+=a; return m; }
main()
{ int k=4,p;
p=func(k); printf(\ p=func(k); printf(\ }
A)4, 4 B) 0, 4 C)4, 8 D)8, 8