- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
二级c语言题库及答案
一、单项选择题(每题2分,共10题)
1.以下选项中合法的标识符是()
A.1_1B.1-1C._11D.1__
答案:C
解析:标识符只能由字母、数字和下划线组成,且第一个字符必须是字母或下划线。A以数字开头,B包含非法字符“-”,D中两个下划线相连不符合规范,C正确。
2.若有定义:inta=2,b=3,c=4;则值为0的表达式是()
A.(ab)!c||1B.(ab)(c0)C.a||b+cb-cD.!((ab)!c)
答案:B
解析:A中(ab)为真,!c为假,1为真,逻辑或运算结果为真;B中(ab)为真,(c0)为假,逻辑与运算结果为假;C中a为真,b+c为真,b-c为真,逻辑与运算结果为真,再与a逻辑或运算结果为真;D中(ab)为真,!c为假,逻辑与运算结果为假,取反后为真。
3.有以下程序:
```c
includestdio.h
main()
{
intx=1,y=0,a=0,b=0;
switch(x)
{
case1:
switch(y)
{
case0:a++;break;
case1:b++;break;
}
case2:a++;b++;break;
}
printf(a=%d,b=%d\n,a,b);
}
```
程序的运行结果是()
A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=2
答案:A
解析:x=1,进入外层switch,y=0,进入内层switch,执行a++,a变为1,内层switch结束;接着执行外层switch的case2,a++,b++,a变为2,b变为1。
4.以下叙述中错误的是()
A.C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令
B.C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件
C.用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中
D.C语言源程序经编译后生成后缀为.obj的目标程序
答案:A
解析:非执行语句如注释等不会被转换成二进制机器指令,A错误;B、C、D描述均正确。
5.若有定义:doublea=22;inti=0,k=18;,则不符合C语言规定的赋值语句是()
A.i=(a+k)=(i+k);B.i=a%11;C.a=a++,i++;D.i=!a;
答案:B
解析:%运算符要求两边操作数为整数,a是double类型,B不符合规定;A是关系表达式赋值,C是逗号表达式赋值,D是逻辑非表达式赋值,均符合规定。
6.以下关于字符串的叙述中正确的是()
A.空串比空格打头的字符串小
B.两个字符串中的字符个数相同时才能进行字符串大小的比较
C.可以用关系运算符对字符串的大小进行比较
D.C语言中有字符串类型的常量和变量
答案:A
解析:空串长度为0,空格打头的字符串长度大于0,空串比其小,A正确;比较字符串大小是按字符顺序逐个比较,不是仅看字符个数,B错误;不能用关系运算符直接比较字符串大小,C错误;C语言中没有字符串类型变量,D错误。
7.有以下程序:
```c
includestdio.h
main()
{
inta=1,b=2,c=3,d=0;
if(a==1b++==2)
if(b!=2||c--!=3)
printf(%d,%d,%d\n,a,b,c);
else
printf(%d,%d,%d\n,a,b,c);
else
printf(%d,%d,%d\n,a,b,c);
}
```
程序的运行结果是()
A.1,2,3B.1,3,2C.1,3,3D.3,2,1
答案:C
解析:a==1为真,b++==2先判断b==2为真,然后b自增为3;b!=2为假,c--!=3先判断c==3为真,然后c自减为2,逻辑或运算结果为假,执行else后的printf,此时a=1,b=3,c=3。
8.若有定义:inta=10,b=9,c=8;,依
文档评论(0)