- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
3月计算机等级考试二级C语言笔试试题及答案
选择题
1.以下选项中,能作为C语言合法常量的是()
A.1.23e0.5
B.ABC
C.028
D.3.14L
答案:D
详细解答:
选项A:在科学计数法中,e后面必须是整数,1.23e0.5中e后面是0.5为小数,不合法。
选项B:单引号用于表示单个字符,ABC包含多个字符,应该用双引号表示字符串,所以不合法。
选项C:以0开头表示八进制数,但八进制数中只能包含07的数字,028中出现了8,不合法。
选项D:3.14L表示长双精度浮点数常量,是合法的。
2.若有定义:inta=7;floatx=2.5,y=4.7;则表达式x+a%3(int)(x+y)%2/4的值是()
A.2.500000
B.2.750000
C.3.500000
D.0.000000
答案:A
详细解答:
首先计算a%3,a=7,7%3结果为1。
接着计算x+y,x=2.5,y=4.7,x+y=7.2,(int)(x+y)将7.2强制转换为整数7。
然后计算17=7,7%2结果为1,1/4由于两个操作数都是整数,结果为0(整数除法取整)。
最后计算x+0,x=2.5,所以最终结果为2.500000。
3.以下关于函数的说法正确的是()
A.函数必须有返回值
B.函数可以嵌套定义
C.函数的形参在函数未调用时不占内存
D.函数的实参和形参可以同名,它们代表同一个变量
答案:C
详细解答:
选项A:函数可以没有返回值,使用void类型来声明,所以该说法错误。
选项B:C语言中函数不能嵌套定义,但可以嵌套调用,所以该说法错误。
选项C:函数的形参只有在函数被调用时才会分配内存,未调用时不占内存,该说法正确。
选项D:函数的实参和形参同名时,它们是不同的变量,实参是调用函数时传递的值,形参是函数内部接收值的变量,所以该说法错误。
填空题
1.若有定义:inta[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]的值为______。
答案:0
详细解答:
二维数组a[3][4]初始化时,第一行{1,2},未明确初始化的元素自动初始化为0,即第一行完整为{1,2,0,0};第二行{0},则第二行完整为{0,0,0,0};第三行{4,6,8,10}。所以a[1][2]是第二行第三列的元素,值为0。
2.以下程序段的输出结果是______。
```c
inti=5;
do{
if(i%3==1)
if(i%5==2){
printf(%d,i);
break;
}
i++;
}while(i!=0);
```
答案:7
详细解答:
首先i=5,i%3=2,不满足第一个if条件,i++后i变为6。
接着i=6,i%3=0,不满足第一个if条件,i++后i变为7。
然后i=7,i%3=1,满足第一个if条件,继续判断i%5=2,满足第二个if条件,输出i的值7,然后执行break跳出循环。
判断题
1.在C语言中,字符型数据和整型数据可以通用。()
答案:正确
详细解答:
在C语言中,字符型数据在内存中以ASCII码值存储,本质上是一个整数。所以字符型数据可以和整型数据进行混合运算,也可以相互赋值,因此可以通用。
2.数组名代表数组首元素的地址,是一个常量指针,不能对其进行自增自减等运算。()
答案:正确
详细解答:
数组名是数组首元素的地址,它是一个常量指针,其值在程序运行期间不能被改变,所以不能对数组名进行自增自减等会改变其值的运算。
解答题
1.编写一个函数,用于计算两个整数的最大公约数。
```c
includestdio.h
intgcd(inta,intb){
while(b!=0){
inttemp=b;
b=a%b;
a=temp;
}
returna;
}
intmain(){
intnum1=24,num2=36;
intresult=gcd(num1,num2);
printf(最大公约数是:%d\n,result);
return0;
}
```
您可能关注的文档
最近下载
- 母材材质焊接材料.docx
- 电池管理系统(BMS)软件:Battery Management System二次开发_5.电池均衡技术与软件实现.docx
- 2025年R1快开门式压力容器操作证考试题库附答案.docx
- 2024绿色工厂通用评价指标评价表.docx
- 第二次全国土地调查技术规程(TD 1014-2007 ).pdf
- 2022年广东省广州市中考生物试卷.doc VIP
- 电力机车转向架的常见故障及解决.doc
- 18.《童年的水墨画》课件(共20张PPT).pptx VIP
- 高速公路无人机智能巡检平台.pptx
- 2023九年级道德与法治下册 第一单元 我们共同的世界 第一课 同住地球村第1课时 开放互动的世界说课稿 新人教版.docx VIP
文档评论(0)