C语言参考试题1 下载本文

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