- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
二级C语言模拟试题及答案
一、选择题
1.以下选项中合法的标识符是()
A.1_1
B.11
C._11
D.1__
答案:C。标识符由字母、数字和下划线组成,且不能以数字开头。选项A、D以数字开头,不符合要求;选项B中包含非法字符“”。
2.已知inta=5,b=6;则表达式++a+b++的值是()
A.12
B.13
C.14
D.15
答案:B。++a是先将a的值加1变为6,然后参与运算;b++是先使用b的值6参与运算,然后b的值再加1。所以表达式的值为6+6=12,之后b变为7,但表达式的值是12。
3.以下关于for循环的说法不正确的是()
A.for循环只能用于循环次数已经确定的情况
B.for循环是先判断表达式,后执行循环体
C.for循环可以嵌套使用
D.for循环的三个表达式都可以省略
答案:A。for循环不仅可以用于循环次数确定的情况,也可以用于循环次数不确定的情况,只要循环条件合适即可。B选项,for循环先判断条件表达式,为真则执行循环体;C选项,for循环可以嵌套使用;D选项,for循环的三个表达式都可以省略,如for(;;)会构成一个无限循环。
4.以下数组定义中错误的是()
A.inta[2][3];
B.intb[][3]={{1,2},{3,4},{5,6}};
C.intc[100][100]={0};
D.intd[3][]={{1,2},{3,4},{5,6}};
答案:D。在二维数组定义中,如果省略第一维的长度,必须给出初始化列表;但不能省略第二维的长度。选项A是正常的二维数组定义;选项B省略第一维长度,根据初始化列表可以确定第一维长度为3;选项C将数组所有元素初始化为0。
5.以下关于函数的说法正确的是()
A.函数的返回值类型不能是数组类型
B.函数的形参在函数调用时才分配内存单元
C.函数可以嵌套定义
D.函数的实参和形参可以同名
答案:B。A选项,函数的返回值类型可以是指针类型来间接操作数组;C选项,C语言中函数不能嵌套定义,但可以嵌套调用;D选项,函数的实参和形参虽然可以同名,但它们是不同的变量,有不同的内存空间。函数的形参在函数调用时才分配内存单元,调用结束后释放。
二、填空题
1.若有定义intx=10;则表达式x+=x=x=x的值是______。
答案:0。按照运算符优先级,先计算x=x,此时x=1010=100;再计算x=x,即x=100100=0;最后计算x+=x,x=0+0=0。
2.若有定义chars[10]=abcde;则strlen(s)的值是______。
答案:5。strlen函数用于计算字符串的实际长度,不包括字符串结束标志\0。所以abcde的长度是5。
3.以下程序段的输出结果是______。
```c
inti;
for(i=0;i5;i++)
{
if(i%2)
printf(%d,i);
}
```
答案:13。for循环从i=0到i=4,当i%2结果为非0(即i为奇数)时,输出i的值,所以输出1和3。
4.若有定义inta[3][4];则数组a中元素的个数是______。
答案:12。二维数组a有3行4列,元素个数为34=12。
5.以下函数的功能是求两个整数的最大公约数,请填空。
```c
intgcd(inta,intb)
{
while(______)
{
intr=a%b;
a=b;
b=r;
}
returna;
}
```
答案:b!=0。该函数使用辗转相除法求最大公约数,当b不等于0时,不断进行取余和赋值操作,直到b为0,此时a就是最大公约数。
三、程序分析题
1.分析以下程序的输出结果。
```c
includestdio.h
intmain()
{
inta=10,b=20;
intp1=a,p2=b;
inttemp;
temp=p1;
p1=p2;
p2=temp;
printf(a=%d,b=%d\n,a,b);
printf(p1=%d,p2=%d\n,p1,p2);
return0;
}
```
答
原创力文档


文档评论(0)