- 1
- 0
- 约6.34千字
- 约 13页
- 2026-01-27 发布于河南
- 举报
大学工程学院C语言考试真题
第一部分单选题(50题)
1、以下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)
【答案】:答案解析:初始化表达式是for循环第一个部分,B中i=5符合,其余初始化非5,故选B。
2、以下函数声明错误的是?()
A.voidfun(int);
B.voidfun(inta);
C.voidfun(inta,intb);
D.voidfun(inta;intb);
【答案】:答案解析:函数声明中参数用逗号分隔,不能用分号,D语法错误,故选D。
3、若inta=2,b=4;执行if(a==b)a=0;elseb=0;后a和b的值分别是?()
A.0,4
B.2,0
C.0,0
D.2,4
【答案】:答案解析:a==b为假,执行else,b=0,a保持2,故选B。
4、C语言中基本数据类型不包括以下哪项?()
A.char
B.int
C.float
D.array
【答案】:答案解析:基本数据类型为char、int、float、double,array是数组(构造类型),故选D。
5、函数返回值的类型由______决定?()
A.return语句中的表达式类型
B.函数定义时的返回类型
C.函数调用时的参数类型
D.编译器默认类型
【答案】:答案解析:函数返回类型在定义时指定,return表达式类型需与返回类型匹配(不匹配则强制转换),故选B。
6、若intx=6;执行以下代码后输出结果是?()if(x5){printf(A);}elseif(x8){printf(B);}else{printf(C);}
A.A
B.B
C.C
D.无输出
【答案】:答案解析:x=68,执行第二个分支,输出B,故选B。
7、若inti=0;执行for(i=0;i5;i++){if(i==2)continue;printf(%d,i);}输出结果是?()
A.0134
B.01234
C.01
D.无限循环
【答案】:答案解析:i=2时执行continue,跳过printf,输出0134,故选A。
8、指针的自增运算(p++)的含义是?()
A.指针值加1
B.指针指向的变量值加1
C.指针指向地址偏移一个类型大小
D.指针指向地址偏移1字节
【答案】:答案解析:p++使指针指向地址偏移“指向类型大小”(如int指针+4字节),故选C。
9、以下函数参数传递方式中,能修改实参值的是?()
A.值传递
B.地址传递
C.都能
D.都不能
【答案】:答案解析:值传递修改的是形参(副本),不影响实参;地址传递通过指针修改实参值,故选B。
10、以下for循环的循环次数是?()for(inti=2;i=8;i+=2)
A.3次
B.4次
C.5次
D.6次
【答案】:答案解析:i取值2、4、6、8,共4次,故选B。
11、若inti=0;执行for(i=1;i=5;i++){if(i%3==0)continue;printf(%d,i);}输出结果是?()
A.1245
B.12345
C.3
D.无输出
【答案】:答案解析:i=3时continue,跳过printf,输出1、2、4、5,故选A。
12、以下哪个条件表达式表示“x大于等于5且小于等于10”?()
A.5=x=10
B.x=5x=10
C.x=5||x=10
D.5=x=10
【答案】:答案解析:C语言中连续比较不合法,需用逻辑与连接两个判断,A语法错误,C逻辑错误,D语法错误,故选B。
13、表达式5324的结果是?()
A.0
B.1
C.真
D.假
【答案】:答案解析:53为真(1),24为真(1),逻辑与结果为1,故选B。
14、若inta=10,*p=a;则sizeof(p)的值是?()
A.4
B.8
C.取决于系统
D.10
【答案】:答案解析:sizeof(p)是指针大小,32位系统4字节,64位8字节,故选C。
15、若inta=10;执行if(a%2==0)printf(偶数);elseprintf(奇数);输出结果是?()
A.偶数
B.奇数
C.10
D.无输出
【答案】:答案解析:a=10%2=0,条件为真,输出偶数,故选A。
16、以下switch语句语法正确的是?()
A.switch(x){case1:printf(1);break;case2:printf(2);}
B.switch(x){case1:printf(1);case2:printf(
原创力文档

文档评论(0)