- 0
- 0
- 约6.67千字
- 约 13页
- 2026-01-27 发布于河南
- 举报
软件技术C语言基础知识练习题
第一部分单选题(50题)
1、若inta=5,*p=a;则*p的值是?()
A.5
B.a
C.p
D.无定义
【答案】:答案解析:*p等价于p,即a(a的地址),故选B。
2、以下关于二维数组的说法正确的是?()
A.二维数组是数组的数组
B.二维数组元素在内存中按列存储
C.二维数组长度必须是常量
D.二维数组不能作为函数参数
【答案】:答案解析:二维数组本质是数组的数组,内存按行存储,可作为函数参数,长度需常量,故选A。
3、若charstr[10];执行strcpy(str,hello);后str的长度是?()
A.5
B.6
C.10
D.不确定
【答案】:答案解析:strcpy复制字符串hello(含\0),长度为5(不含\0),故选A。
4、若charstr=hello;则str[1]的值是?()
A.h
B.e
C.l
D.\0
【答案】:答案解析:str是字符串首地址,str[1]等价于(str+1),值为e,故选B。
5、以下函数调用时,实参为常量的是?()
A.fun(5);
B.fun(a);
C.fun(a);
D.fun(abc);
【答案】:答案解析:A中5是常量,B是变量,C是变量地址,D是字符串常量,题目问“常量”,A正确,故选A。
6、若inti=0,s=0;执行while(i=3){s+=i2;i++;}后s的值是?()
A.12
B.6
C.8
D.10
【答案】:答案解析:累加02+12+22+3*2=0+2+4+6=12,s=12,故选A。
7、break语句在循环中的作用是?()
A.跳过本次循环,继续下一次
B.终止整个循环
C.终止当前语句
D.无作用
【答案】:答案解析:break在循环中用于终止整个循环(跳出循环体),continue是跳过本次循环,故选B。
8、以下函数调用正确的是?()
A.fun();
B.fun(1,2);
C.fun(test);
D.取决于函数定义
【答案】:答案解析:函数调用是否正确取决于函数定义(参数类型、个数),A、B、C均可能正确,故选D。
9、若inti=0;执行for(;;){if(i==4)break;printf(%d,i);i++;}输出结果是?()
A.0123
B.01234
C.无限循环
D.无输出
【答案】:答案解析:for(;;)是无限循环,i=4时break,输出0123,故选A。
10、函数返回值的类型与return语句中表达式类型不一致时,会?()
A.编译错误
B.自动强制转换为函数返回类型
C.程序崩溃
D.无影响
【答案】:答案解析:编译器会将return表达式类型强制转换为函数返回类型(可能丢失精度),不报错,故选B。
11、若inta=7;执行if(a%3==1)printf(A);elseif(a%3==2)printf(B);elseprintf(C);输出结果是?()
A.A
B.B
C.C
D.无输出
【答案】:答案解析:7%3=1?7/3=2余1?不,7%3=1?7-3*2=1,条件1成立?哦7%3=1,应输出A?不对,7%3=1,第一个条件成立,输出A?重新计算:7÷3=2余1,a%3=1,执行第一个分支,输出A,故选A(原解析修正:之前误算,正确结果A)。
12、以下switch语句中,default的位置可以在?()
A.所有case之前
B.所有case之后
C.两个case之间
D.以上都可以
【答案】:答案解析:default位置灵活,可在case前、后或中间,不影响执行逻辑,故选D。
13、若intx=4;执行switch(x){case2:printf(2);break;default:printf(0);case4:printf(4);break;}输出结果是?()
A.04
B.4
C.204
D.无输出
【答案】:答案解析:x=4匹配case4,执行输出4,break跳出,故选B。
14、以下函数定义中,参数为两个int类型的是?()
A.voidfun(inta,floatb){}
B.voidfun(inta,intb){}
C.voidfun(floata,intb){}
D.voidfun(inta,charb){}
【答案】:答案解析:B中两个参数均为int类型,其余选项参数类型不匹配,故选B。
15、以下for循环的循环变量初始化表达式为“i=5”的是?()
A.for(i=0;i5;i++)
B.for(i=5;i0;i--)
C.for(i=2;i=5;i++)
D.for(i=5;i10;i+=2)
【答
原创力文档

文档评论(0)