一、单选 ( 每题参考分值 2.5 分 )
1、若定义如下结构,则能打印出字母 M 的语句是( )。
struct person{ char name[9]; int age;};
struct person class[10]={"Wujun",20, "Liudan",23, "Maling",21,
"zhangming",22};
A.
printf("%c\n",class[3].name);
B.
printf("%c\n",class[2].name[0]);
C.
printf("%c\n",class[2].name[1]);
D.
printf("%c\n",class[3].name[1]);
错误 : 【B】
2 、一个结构体变量占用的内存大小是( )。
A.
占内存容量最大的成员所需容量
B.
各成员所需内存容量之和
C.
第一个成员所需内存容量
D.
最后一个成员所需内存容量
错误 : 【B】
3 、以下程序的运行结果是( )。
void main( )
{ int a;
if(a=6) printf("%d\n",a);
else if(a>6) printf("%d\n",a+2);
else printf("%d\n",a+3);}
A.
运行时产生错误信息
B.
9
C.
8
D.
6
错误 : 【D 】
4 、
A.
B.
C.
D.
错误 : 【C 】
5 、以下叙述错误的是( )
A.
存放地址的变量称为指针变量
B.
NULL 可以赋值给任何类型的指针变量
C.
一个指针变量只能指向类型相同的变量
D.
两个相同类型的指针变量可以作加减运算
错误 : 【D 】
6 、下列程序段运行后,表达式( )的值为 3 。
struct point{ int x; int y;} *p;
struct point a[3]={1,2,3,4,5,6};p=a;
A.
*(p+2)
B.
p[1].x
C.
p[2].x
D.
p[3].x
错误 : 【B】
7 、若有定义: float x=3.5,y=5.5; 则表达式( )的值为 2 。
A.
(x+y)%7
B.
(int)(x+y)%7
C.
int(x+y)%7
D.
(int)x+y%7
错误 : 【B】
8 、
A.
B.
C.
D.
错误 : 【A 】
9 、 ( )是关于 C 语言数据类型的正确叙述。
A.
变量必须先定义后使用
B.
不允许使用空类型
C.
枚举类型不是基本类型
D.
数组并不是构造类型
错误 : 【A 】
10 、以下程序段运行后 x 的值为( )。
int a[8]={1,2,3,4,5,6,7