一. 单项选择题:(每题2分,共20分)
下列各题A)、B)、C)、D)四个选项中只有一个是正确的,请将正确选项填在答题卡相应题目的横线上。答在试卷上不得分。
1.执行程序: int a; printf("%d \n", (a=3*5, a*4, a+5) );后,a的值是______。
A)60
B)20
C)15
D)10
2.程序段:int x=023; printf("%d \n", --x );的输出是______。
A)19
B)18
C)23
D)22
3.程序段:static char s[10]={'C','h','i','n','a'}; printf("%d\n",strlen(s));的输出是______。 A)6 B)5 C)11 D)10 4.若fun( int x) { printf(“%d\n”,x);}, 则fun_______。
A)返回值为 void 类型 C)返回值为 int 类型
B)返回值类型无法确定 D)没有返回值
5. 有宏定义:#define MULT1(a,b) a*b #define MULT2(a,b) (a)*(b)
且引用宏:y=MULT1(3+2,5+8); z=MULT2(3+2,5+8); 则y和z的值是______。 A)y=65,z=65 B)y=21,z=65 C)y=65,z=21 D)y=21,z=21 6.程序段char s[]="Hello", *p; p=s;执行后,*(p+5)的值是______。 A)'o' B)'\0' C)'o'的地址 D)不确定的值
7. 程序段:char *s=”ABCD”, *p; for( p=s; *p ; p++) printf("%s\n", p);的输出是______。
A)ABCD
BCD CD D
B)A
B C D
C)D
C B A
D)ABCD
ABC AB A
8. 若定义:int (*p)[3]; 则标识符p______。
A)定义不合法。
B)是一个指针数组名,每个元素是一个指向整型变量的指针。 C)是一个指针,它指向一个具有三个元素的一维数组。 D)是一个指向整型变量的指针。
9. 定义: struct sk {int a; float b;} data,*p; 且 p=&data; 则正确引用成员a的方