一、单项选择题(在每小题的四个备选答案中,选出一
个正确的答案,并将其代码填入题干后的括号内。
每小题1分,共20分)
1.程序中定义以下宏 #define S(a,b) a*b
若定义 int area; 且令area=S(3+1,3+4),则变量area的值为( )
A 10B 12C 21D 28
2.正确的标识符是 ( )
A ?aB a=2 C a.3 D a_3
3.表达式1&3&5&7的值为 ( )
A 1 B 3 C 5 D 7
4.语句printf(″s\\t″)的输出结果为 ( )
A s\\tB s\tC s\D s
5. 执行下列语句中,sum变量的值是 ( )
int sum=0
for(int i=0;i<10;i++,sum+=i);
A 45 B 55 C 0 D 编译错误
6.已知有共用体变量data1定义如下:
union data
{ int i;
char ch;
float f;
} data1; 则变量data1所占的内存存储空间可表示为 ( )
A size of(int)B size of(char)
C size of(float)
D size of(int)+size of(char)+size of(float)
7.若fp是指向某文件的指针,且feof(fp)的返回值是非零值,则表示
( )
A 已读到此文件末尾B 未读到此文件的末尾
C 此文件已关闭D 此文件尚未被打开
8.以下c语言函数声明中,不正确的是 ( )
A void fun (int x, int y);B fun (int x, int y);
C int fun (int x,y);D char *fun (char *s);
9.下列选项中,不合法的C语言关键字是 ( )
A autoB defaultC staticD var
10.若x=4,则x*=x+2的值为 ( )
A 36B 24C 18D 20
11.函数调用语句func((exp1,exp2),(exp3,exp4,exp5));中,实参的个
数为 ( )
A 1B 2C 4D 5
12.设a为5,执行下列语句后,b的值不为2的是 ( )
A b=a/2B b=6-(--a)
C b=a%2D b=a>3?2:1
13.假设指针p1已经指向了某个整型变量,要使指针p2也指向同一个变
量,则下面各项中正确的是 ( )
A p2=**p1B p2=*&p1
C p2=*p1D p2=&*p1
14.以下运算符中,运算对象必须是整型的是 ( )
A / B %= C != D 〈=
15.以下关于typedef的叙述中错误的是 ( )
A 用typedef可以增加新的类型
B 用typedef可以定义各种类型名,但不能用来定义变量
C 用typedef只是将已有的类型用新的标识符来代表
D 使用typedef有利于程序的通用和移植
16.若执行完成下列语句:
int a=3,b=6,c;
c=a∧b<<2;(提示:“<
则变量c的二进制值为 ( )
A B C 0001000D 17.设有定义int x=1; int y=‘a’