一、单项选择题(本大题共20小题,每小题1分,共20分)
第1题 设有宏定义“#define R 2+3”,则R*R的宏替换结果正确的是()
A. (2+3)*(2+3)
B. 2+3*2+3
C. 5*5
D. 5.0*5.0
【正确答案】 B
第2题 计算机能够直接识别的语言是()
A. 符号语言
B. 二进制语言
C. 汇编语言
D. C语言
【正确答案】 B
第3题 设有定义“short x[5]={1,2,3};”,则数组x占用的内存字节数是()
A. 10
B. 6
C. 5
D. 3
【正确答案】 A
第4题 以下选项中,合法的用户标识符是 ()
A. long
B. _2Test
C. 3Dmax
D. A.dat
【正确答案】 B
第5题 执行表达式“x=(y=4,z=16,k=32)”后,x的值为()
A. 4
B. 16
C. 32
D. 52
【正确答案】 C
第6题 .执行下面的程序段后,变量 k 中的值为()
int k=3,s[2];
s[0]=k;k=s[1]*10;
A. 不定值
B. 33
C. 30
D. 10
【正确答案】 A
第7题 执行下列程序段后的输出结果是 ()
int x=8; while (--x>6) printf(″*″);
A. ****
B. ***
C. **
D. *
【正确答案】 D
第8题 以下程序的输出结果是()
# define MIN(x,y) (x)<(y)?(x):(y)
main()
{int i,j,k;
i=10;
j=15;
k=10*MIN(i,j);
printf(″%d″,k);
}
A. 15
B. 100
C. 10
D. 150
【正确答案】 A
第9题 设 float m=4.0,n=4.0;使 m 为10.0的表达式是()
A. m-=n*2.5
B. m/=n+9
C. m*=n-6
D. m+=n+2
【正确答案】 D
第10题 以下定义语句中,错误的是 ()
A. int a[]={1};
B. char a[3];
C. char s[]=″t″;
D. int n=5,a[n];
【正确答案】 D
第11题 若已定义:int a[9],*p=a,并在以后的语句中未改变 p 的值,不能表示 a[1]地址的表达式是()
A. p+1
B. a+1
C. a++
D. ++p
【正确答案】 C
第12题 设有定义“double a=5.0,b=2.5;”,则表达式(int)b+a/b的值是()
A. 3
B. 4
C. 3.0
D. 4.0
【正确答案】 D
第13题 下列程序执行后的输出结果是()main( )
{ int x=′f′;printf(″% c\n″,′A′+(x-′a′+1));}
A. G
B. H
C. I
D. J
【正确答案】 A
第14题 设n=10,i=4,则赋值运算n%=i+1执行后,n的值是()
A. 0
B. 3
C. 2
D. 1
【正确答案】 A
第15题 语句while(!e);中的条件!e等价于()
A. e==0
B. e!=1
C. e!=0
D. ~e
【正确答案】 A
第16题 下面有关for循环的正确描述是()
A. for循环只能用于循环次数已经确定的情况
B. for循环是先执行循环体语句,后判定表达式
C. 在for循环中,不能用break语句跳出循环体
D. for循环体语句中,可以包含多条语句,但要用花括号括起来
【正确答案】 D
第17题 设有定义“ int x=8;”, 则表达式 “x+++1/3”的值是()
A. 0
B. 2
C. 3
D. 8
【正确答案】 D
第18题 下列程序的输出结果是()
main()
{int x=1,a=0,b=0;
switch (x) {case 0: b++;
case 1: a++;
case 2: a++;b++;
}
printf(″%d,%d\n″,a,b);
}
A. 1,0
B. 1,1
C. 2,1
D. 2,2
【正确答案】 C
第19题 设有定义语句″int x[]={1,3,5,7,9,11,13},?p=x;″,则不能正确引用数组x的合法元素的表达式是()
A. (p--)
B. (-- p)
C. p(++)
D. (++ p)
【正确答案】 B
第20题 fread(buf,64,2,fp)的功能是()
A. 从 fp 文件流中读出整数64,并存放 buf 中
B. 从 fp 文件流中读出整数64和2,并存放在 buf 中
C. 从 fp 文件流中读出64个字节的字符,并存放在 buf 中
D. 从 fp 文件流中读出2个64个字节的字符,并存放在 buf 中
【正确答案】 D
二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。错填,不填均无分。
第1题 执行下列语句后,变量x的值是___。
switch (x=1) { case 1: x=2;
case 2: x=3; }
【正确答案】 3
第2题 函数中定义的static型变量的作用域是___。
【正确答案】 该函数体内部
第3题 若使用fopen函数打开一个新的二进制文件,对该文件进行读写操作,则文件使用方式字符串应该是___。
【正确答案】 ″wb+″
第4题 如果使用“r”操作方式打开一个并不存在的文件,则fopen()函数的返回值是___。
【正确答案】 NULL或0
第5题 若 a 是 int 型变量,则执行a=25/3%3后 a 的值为___。
【正确答案】 2
第6题 若定义了int a[10],*p;,将数组元素a[8]的地址赋给指针变量p的赋值语句是___。
【正确答案】 p=&a[8];(或p=a+8;)
第7题 设有数据定义语句“int a[]={30,25,20,15,10,5},*p=a;”,则表达式“*++p+3”的值是______
【正确答案】 28
第8题 已知字母a的ASCⅡ码为十进制数97,且设ch为字符型变量,则表达式ch=′a′+′8′-′3′的值为______
【正确答案】 f
第9题 设有数据定义语句″struct{char a[5];long b[5];}x;″,则为变量x所分配的内存字节数是个______
【正确答案】 30
第10题 使用系统函数getchar(),必须在程序的开头写上一条命令__________________
【正确答案】 #include