一、单选题(共 20 道试题,共 60 分。)V 1. 下列不能实现赋值操作的是()
A. a++
B. a== b
C. a+=b
D. a=1
满分:3 分
2. 若要用下面的程序片段使指针变量p指向一个存储整型变量的动态存储单元: int *p; p=__________ malloc( sizeof(int)); 则应填入()
A. int
B. *int
C. (*int)
D. (int *)
满分:3 分
3. 关于return语句,下列正确的说法是()
A. 可以在同一函数中出现多次
B. 在主函数中不能出现
C. 必须在每个函数中出现
D. 只能在除主函数之外的函数中出现一次
满分:3 分
4. 有如下定义, struct { int n; char a[10]; float m; }x; 变量x占的字节数是()
A. 10
B. 8
C. 14
D. 16
满分:3 分
5. 有以下程序段int n=0,p; do{scanf(“%d”,&p); n++;} while(p!=12345 && n<3); 此处do-while循环的结束条件是 ()
A. p的值不等于12345且n的值小于3
B. p的值等于12345且n的值大于等于3
C. p的值不等于12345且n的值小于3
D. p的值等于12345或者n的值大于等于3
满分:3 分
6. C程序设计语言是()
A. 机器语言
B. 只适合编写应用软件的语言
C. 高级语言
D. 只适合编写系统软件的语言
满分:3 分
7. 以下程序 main() { char s1[20]=“abc”,s2[20]=“123”; if(strcmp(s1,s2)>0) printf(“%s\n”,s1); else printf(“%s\n”,s2); } 的输出结果是()
A. abc
B. 123
C. abc123
D. 123abc
满分:3 分
8. 若变量已正确定义并赋值,下面符合C语言语法的表达式是()
A. a:=b+1
B. a=b=c+2
C. int 18.5%3
D. a=a+7=c+b
满分:3 分
9. 若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0) s=a; for(b=1;b<=c;b++) s=s+1; 则与上述程序段功能等价的赋值语句是()
A. s=a+b;
B. s=a+c;
C. s=s+c;
D. s=b+c;
满分:3 分
10. 以下程序运行后, int func(char *str) { int num=0; while(*(str+num)!='\0') num++; return(num); } main() { char str[10],*p=str; gets(p); printf("%d\n",func(p)); } 如果从键盘上输入ABCDE<回车>,则输出结果为()
A. 8
B. 7
C. 6
D. 5
满分:3 分
11. 已有定义:int i,a[10],*p;,则合法的赋值语句是()
A. p=100;
B. p=a[5];
C. p=a[2]+2;
D. p=a+2;
满分:3 分
12. 选出下列标识符中不是合法的标识符的是()
A. hot_do
B. cat1
C. _pri
D. 2ab
满分:3 分
13. 以下函数 int fun(char *s,char *t) { while((*s)&&(*t)&&(*s==*t)) t++,s++; return (*s-*t); } 的功能是()
A. 求字符串的长度
B. 比较两个字符串的大小
C. 将字符串s复制到字符串t中
D. 将字符串 s连接到字符串t后
满分:3 分
14. 以下叙述正确的是()
A. 任何存贮类型变量在未赋初值时,其值都是不确定的
B. 将局部变量说明为static存贮类型,其生存期将得到延长
C. 将全局变量说明为static时,其作用域将被扩大
D. 形参可以使用的存贮类型说明符与局部变量相同
满分:3 分
15. 下列关于C语言数据文件的叙述中正确的是()
A. 文件由ASCII码字符序列组成,C语言只能读写文本文件
B. 文件由二进制数据序列组成,C语言只能读写二进制文件
C. 文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件
D. 文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件
满分:3 分
16. 以下程序: #define ADD(x) x*x main( ) { int a=4,b=6,c=7,d=ADD(a+b)*c; printf("d=%d",d); } 的输出结果为()
A. d=70
B. d=80
C. d=140
D. d=700
满分:3 分
17. 以下程序 main( ) { int i=010,j=10,*pi,*pj; pi=&i; pj=&j; printf("%d,%d\n",*pi,*pj); } 的输出结果为()
A. 10,10
B. 8,10
C. 010,10
D. 8,8
满分:3 分
18. 用C语言编写的代码程序()
A. 可立即执行
B. 是一个源程序
C. 经过编译即可执行
D. 经过编译解释才能执行
满分:3 分
19. 若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0) s=a; for(b=1;b<=c;b++) s=s+1; 则与上述程序段功能等价的赋值语句是()
A. s=a+b;
B. s=a+c;
C. s=s+c;
D. s=b+c;
满分:3 分
20. 设有说明 int (*ptr)();其中标识符ptr是()
A. 是一个指向整型变量的指针
B. 它是一个指向函数值是int的函数指针
C. 是一个函数名
D. 定义不合法
满分:3 分