- 0
- 0
- 约6.69千字
- 约 13页
- 2026-01-27 发布于河南
- 举报
电大c语言期末试题
第一部分单选题(50题)
1、以下函数定义中,参数为两个int类型的是?()
A.voidfun(inta,floatb){}
B.voidfun(inta,intb){}
C.voidfun(floata,intb){}
D.voidfun(inta,charb){}
【答案】:答案解析:B中两个参数均为int类型,其余选项参数类型不匹配,故选B。
2、以下关于指针的说法错误的是?()
A.指针可指向变量、数组、函数
B.指针可进行算术运算(如++、--)
C.指针可指向自身
D.指针可用于动态内存分配
【答案】:答案解析:指针不能指向自身(类型不匹配),A、B、D说法正确,故选C。
3、以下哪个for循环是无限循环?()
A.for(i=0;i5;i++)
B.for(;;)
C.for(i=0;i5;i--);
D.for(i=5;i0;i--)
【答案】:答案解析:for循环三个表达式均省略时,条件恒为真,是无限循环,A执行5次,C、D初始条件不满足(执行0次),故选B。
4、以下if语句中,逻辑非运算符使用正确的是?()
A.if(!x)printf(yes);
B.if(!x==0)printf(yes);
C.if(!(x0))printf(yes);
D.A和C
【答案】:答案解析:!x表示“x为假(0)”,!(x0)表示“x不大于0”,均正确;B中!x==0等价于x!=0,逻辑不同,故选D。
5、do-while循环的语法格式正确的是?()
A.do语句;while(条件);
B.do{语句}while(条件)
C.do语句while(条件);
D.do;语句;while(条件);
【答案】:答案解析:do-while格式为“do循环体;while(条件);”,循环体可是单条语句或代码块,B缺少分号,C缺少分号,D循环体为空,故选A。
6、若inta[3][3]={{1,2},{3,4},{5,6}};则a[1][1]的值是?()
A.2
B.4
C.5
D.6
【答案】:答案解析:a[1][1]是第二行第二列,值为4,故选B。
7、若inta[5]={10,20,30,40,50},p=a+3;则p的值是?()
A.30
B.40
C.50
D.无定义
【答案】:答案解析:a+3指向a[3],*p=40,故选B。
8、若charstr[]=helloworld;则字符串长度是?()
A.10
B.11
C.12
D.13
【答案】:答案解析:helloworld含11个字符(不含\0),长度为11,故选B。
9、以下循环中,循环次数为3次的是?()
A.for(i=1;i=3;i++)
B.while(i=3)
C.do{i++;}while(i3);
D.for(i=5;i0;i--)
【答案】:答案解析:A执行3次(1-3),B是无限循环,C(i初始0)执行3次,D执行5次,题目问“3次”,A明确正确,故选A。
10、若inta=2;执行a*=a+3;后a的值是?()
A.7
B.10
C.14
D.5
【答案】:答案解析:a*=a+3等价于a=a*(a+3)=2*(2+3)=10,故选B。
11、以下switch语句中,case后的常量可以是?()
A.整数
B.字符
C.枚举常量
D.以上都可以
【答案】:答案解析:switch的case后必须是整型常量(整数、字符、枚举常量,字符本质是ASCII码整数),故选D。
12、函数调用时,实参和形参的个数必须?()
A.相等
B.实参多于形参
C.形参多于实参
D.无要求
【答案】:答案解析:函数调用时实参和形参个数、类型需匹配,否则编译错误,故选A。
13、若inta=7,b=3;执行if(a%b==1)a=0;elseb=0;后a和b的值分别是?()
A.0,3
B.7,0
C.0,0
D.7,3
【答案】:答案解析:7%3=1,条件为真,a=0,b保持3,故选A。
14、若inti=0;执行while(1){printf(%d,i);i++;if(i==3)break;}输出结果是?()
A.012
B.0123
C.无限循环
D.无输出
【答案】:答案解析:while(1)无限循环,i=3时break,输出012,故选A。
15、以下循环语句中,执行次数为5次的是?()
A.for(i=0;i5;i++)
B.while(i5){i++;}
C.do{i++;}while(i5);
D.for(i=1;i=5;i--)
【答案】:答案解析:A执行5次(0-4),B、C未初始化i(若i初始0则5次,否则不确定
原创力文档

文档评论(0)