1. 按照标识符的要求,(A)不能组成标识符。
A.连接符
B.下划线
C.大小写字母
D.数字字符
2. 在C语言中,数字029是一个(D)。
A.八进制数
B.十进制数
C.十六进制数
D.非法数
3. 若有char w; int x; float y; double z;
则表达式w*x+z-y
值的数据类型为(D)。
A.float
B.char
C.int
D.double
4. 在c语言中,不允许有常量的数据类型是(B)
A.整型
B.结构型
C.字符型
D.字符串
5. 下列运算符中优先级最低的是 (A)
A. II
B. >=
C. !=
D. ~
6. 若x
为浮点型,则表达式x=10/4
为(B)。
A. 2.5
B. 2.0
C. 2
D. 3
7. 逻辑运算符两侧运算对象的数据类型(D)。
A. 只能是 0 或 1
B. 只能是 0 或非 0 正数
C. 只能是整型或字符型的数据
D. 可以是任何类型的数据
8. 若p1
、p2
都是整型指针,p1
已经指向变量x
,要使p2
也指向x
, (A)是正确的。 (重点)
A. p2 = p1;
B. p2 = **p1;
C. p2 = &p1;
D. p2 = *p1;
9. 以下选项中,对基本类型相同的指针变量不能进行运算的运算符是(A)。
A. +
B. -
C. =
D. ==
10. int a=5,*ap=&a ;则下列表达式错误的是(D) (重点)
A. &*ap 相当于&a
B. *&a 相当于ap
C. (*ap)++ 相当于a++
D. *ap++ 是合法访问
11. 下面是对s的初始化,其中不正确的是(D)
A. char s[5]={"abc"};
B. char s[5]={'a', 'b', 'c'};
C. char s[5]="";
D. char s[5]="abcdef";
12. 若有int x=1;,执行下列程序段后,变量x的正确结果是:(D)
A. 1
B. 2
C. 3
D. 4
13. 下列程序段的功能是(D)
A. 自然数1~9的累加和
B. 自然数1~10的累加和
C. 自然数1~9中的奇数之和
D. 自然数1~10中的偶数之和
14. 对于 C/C++语言的函数,下列叙述中正确的是(A)。
A. 函数的定义不能嵌套,但函数调用可以嵌套
B. 函数的定义可以嵌套,但函数调用不能嵌套
C. 函数的定义和调用都不能嵌套
D. 函数的定义和调用都可以嵌套
15. 在一个被调用函数中,关于 return 语句使用的描述,错误的是(D)。
A. 被调用函数中可以不用 return 语句
B. 被调用函数中可以使用多个 return 语句
C. 被调用函数中,如果有返回值,就一定要有 return 语句
D. 被调用函数中,一个 return 语句可以返回多个值给调用函数
16. 若程序中定义了以下函数
double myadd(double a,double b)
{ return (a+b); }
并将其放在调用语句之后,则在调用之前应该对该函数进行说明, 以下选项中错误的说明是(A)。
A. double myadd(double a,b) ;
B. double myadd(double,double);
C. double myadd(double b,double a);
D. double myadd(double x,double y);
17. 若有函数max(a,b),为了让函数指针变量p指向函数max,正确的赋值方式是(A)。
A. p=max;
B. *p=max;
C. p=max(a,b);
D. *p=max(a,b);
18. 若有函数int func(int a,int b),函数指针变量p已经指向func函数,那么下列用指针方式调用函数的正确方法是(C)。
A. (*p)func(2,3);
B. *func(2,3);
C. p(2,3);
D. *p(2,3);
19. 若有以下定义和语句:
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
则不能表示a数组元素的表达式是(B)
A. *p
B. a[10]
C. *a
D. a[p-a]
20. 若已定义:
int a[9],*p=a;
并在以后的语句中未改变p的值,不能表示a[1] 地址的表达式是(C)
A. p+1
B. a+1
C. a++
D. ++p
21. 以下数组定义中错误的是(B)。
A. int x[][3]={0};
B. int x[2][3]={{1,2},{3,4},{5,6)};
C. int x[][3]={{1,2,3},(4,5,6)};
D. int x[2][3]={1,2,3,4,5,6};
22. 有两个字符数组a,b,则以下正确的输入语句是(B)
A. gets(a,b);
B. scanf("%s%s",a,b);
C. scanf("%s%s",&a,&b);
D. gets("a"),gets("b");
23. 下面的程序段将输出 (C) 。
char s[10] = "abcd";
printf("%d\n", sizeof(s));
A. 4
B. 5
C. 10
D. 11
24. 设有数组定义:char array [ ]="China"; 则数组 array所占的空间为(C)。
A. 4个字节
B. 5个字节
C. 6个字节
D. 7个字节
25. 对于以下定义,不正确的叙述是(B)。
struct ex {
int x;
float y;
char z ;
} example;
A. struct
是定义结构类型的关键字
B. example
是结构类型名
C. x
, y
, z
都是结构成员名
D. struct ex
是结构类型名
海漫浩浩,我亦苦作舟!大家一起学习,一起进步!