一 选择题(每题2分,共40分)
1、以下说法中正确的是_____D____。
A. C语言程序总是从第一个的函数开始执行
B. 在C语言程序中,要调用的函数必须在main()函数中定义
C. C语言程序总是从main()函数开始执行
D. C语言程序中的main()函数必须放在程序的开始部分√
2、选出下列标识符中不是合法的标识符的是____D_____。
A. hot_do B. cat1 C. _pri D. 2ab
3.下面的变量说明中______C_______是正确的。
A.char:a, b, c; B.char a; b; c;
√ C.char a, b, c; √ D.char a, b, c
4. 为表示关系x≥y≥z,应使用C语言表达式(A)
√A.√(x>=y)&&(y>=z) B. (x>=y) AND (y>=z)
C.(x>=y>=z) D. (x>=z)&(y>=z)
5.在C语言中,存储一个int、char、double型变量所需的字节数是 __A_____。
A.2、1、8 B.4、1、4
C.4、1、4 D.2、2、8
6.若x=5,y=3 则y*=x+5; y的值为________D_______.
A. 10 B. 20 C. 15 D. 30
7.字符串指针变量中存入的是_____A___________。
A.字符串的首地址。 B. 字符串
C.第一个字符 D. 字符串变量。
8.在函数中默认存储类型说明符的变量应该是________存储类型。
A.内部静态 B. 外部 C.自动 D. 寄存器
9.下列数据中属于“字符串常量”的是_________
A.ABC B.“ABC” C.‘ABC’ D.‘A’
10.下列关于指针说法不正确的是________
A.指针是一种变量,该变量用来存放某个变量的地址值的。
B.指针变量的类型与它所指向的变量类型一致。
C.指针变量的命名规则与标识符相同。
D.在定义指针时,标识符前的“*”号表示后面的指针变量所指向的内容。
11.设变量定义为 int a[3]={1,4,7},*p=&a[2], 则*p的值是 。
A. &a[2] B. 4 C. 7 D. 1
12.以下不能正确定义二维数组的语句是_________
A . int a[2][2]={{1},{2}}; B. int a[][2]={1,2,3,4};
C. int a[2][2]={{1},2,3}; D. int a[2][]={{1,2},{3,4}};
13、不能把字符串:Hello!赋给数组b的语句是_________。
A.char b[10]={'H','e','l','l','o','!'}; B.char b[10]; b="Hello!";
C. char b[10]; strcpy(b,"Hello!"); D.char b[10]="Hello!";
13、在C程序中有如下语句:char func(int x,int y); 它是_________。
A. 对函数func的定义。 B. 对函数func的调用。
C.对函数func的原型说明。 D. 不合法的。
14、以下程序的输出结果是_________。
char str[15]=”hello!”;
printf(“%d\n”,strlen(str));
A. 15 B. 14 C. 7 D. 6
15.在C语言中对于实型数组,其每个数组元素的类型是_________。
A. 实型 B. 整型 C. 可以为任何类型 D. 不确定
16.设有数组定义:char array[]=”China”; 则数组所占的空间是________。
A.4个字节 B.5个字节 C.6个字节 D.7个字节
17. 若x是整型变量,表达式 (x=10.0/4.0) 的值是_____ 。
A、2.5 B、 2.0 C、 3 D、2
18. 数组定义为,int a[11][11]; 则数组a 的元素个数为:________.
A. 12 B. 144 C. 100 D. 121
19.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是______.
A.地址传递 B.单向值传递
C.由实参传给形参,再由形参传回实参 D.传递方式由用户指定
20. 执行下列程序后,其结果为________.
int a[]={2,4,6,8,10,12}; *p;
p=a;
*(p+4) =2;
printf(“%d,%d\n”,*p,*(p+4));
A.0,10 B.0,2 C.2,10 D.2,2
得分 评卷人