首页 > 全部 > 二级C语言 > 国家二级C语言机试(选择题)模拟试卷567

国家二级C语言机试(选择题)模拟试卷567

本单篇文档共12082字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C语言 章节练习 5800人下载
价格: 2.00 原价:¥8.00
收藏

国家二级C语言机试(选择题)模拟试卷567

公共基础选择题

1.有以下程序:

#include

main( )

{int y=10;

while(y--);

printf("y=%d\n",y);

}

程序运行后的输出结果是( )。(B)

A. y=0

B. y=-1

C. y=1

D. while构成无限循环

解析:执行“y--”直到值为0,退出循环。由于“y--”是后缀自减运算,先使用再自减,因此退出循环时,y的值为-1。故本题答案为B选项。

2.有以下程序:

#include

main( )

{

int k=5;

while(--k)

printf("%d",k-=3);

printf("\n");

}

程序运行后的输出结果是( )。(A)

A. 1

B. 2

C. 4

D. 死循环

解析:“--k”是先自减再使用,所以第1次判断条件即while(4),条件为真,输出k的值,k=4-3,结果为1;第2次判断条件即while(0),条件为假,结束循环,输出回车换行符。故本题答案为A选项。

3.有以下函数:

int aaa(char *s)

{

char*t=s:

while(*t++);

t--;

return(t-s);

}

以下关于aaa函数功能叙述中正确的是( )。(C)

A. 将字符串s复制到字符串t

B. 比较两个字符串的大小

C. 求字符串s的长度

D. 求字符串s所占字节数

解析:本题重点考查的知识点是while循环语句的应用。aaa函数中,首先定义了一个字符指针t指向形参s,然后通过一个while循环让指针t不断递增,直到t指向字符串结束标识处。当t指向字符串结束标识处时,由于后缀“++”运算符,它还会被再递增1,因此“t--;”语句让它回到字符串结束标识处。最后返回t-s,s还是指向字符串第1个字符处,而t指向了字符串结尾,故返回值为字符串的长度。故本题答案为C选项。

4.在以下给出的表达式中,与“while(E)”中的“(E)”不等价的表达式是( )。(B)

A. (E>0||E<0)

B. (E==0)

C. (!E==0)

D. (E!=0)

解析:while语句中条件表达式E的值不为0即真,认为满足条件,这与B选项中表达式的含义正好相反。故本题答案为B选项。

5.以下不构成无限循环的语句或语句组的是( )。

A

解析:A选项中do后面的语句只执行了一次便结束了循环;B选项中条件while(1)永远成立,所以是死循环;C选项中n的值为10,而循环体为空语句,所以while(n)永远为真,进入死循环;D选项中for语句第2个表达式为空,所以没有判断条件,进入死循环。故本题答案为A选项。

6.若变量已正确定义,有以下程序段“i=0;do printf("%d,",i);while(i++);printf("%d\n",i);”,程序段的运行结果是( )。(A)

A. 0,1

B. 0,0

C. 1,1

D. 程序进入无限循环

解析:第1次首先执行循环体,输出i的值为0,然后判断while的条件“i++”,因为“i++”是后缀自增运算,先使用后自增,所以判断时条件为假,跳出循环,但是仍执行了i的自增操作,i的值为1,在接下来的printf语句中进行输出。故本题答案为A选项。

7.以下程序段中的变量已正确定义:

for(i=0;i<<4;i++,i++)

for(k=1;k<3;k++);

printf("*");

程序段的运行结果是( )。(C)

A. **

B. * * * *

C. *

D. * * * * * * * *

解析:因为内层循环“for(k=1;k<3;k++)”后面直接跟了空语句“;”,所以在循环内部什么操作也不做,跳出外层循环后执行printf语句,输出一个“*”。故本题答案为C选项。

8.有以下程序:

#include

main( )

{

int y=9;

for(;y>0;y--)

if(y%3==0)

printf("%d",--y);

}

程序的运行结果是( )。(A)

A. 852

B. 963

C. 741

D. 875421

解析:第1次for循环,y的值为9,“y%3”的值为0,满足if条件,输出“--y”,即先自减后输出,所以输出8;第2次for循环,y的值为7,“y%3”的值为1,不满足if条件,不执行printf语句;第3次for循环,y的值为6,“y%3”的值为0,满足if条件,输出“--y”,即先自减后输出,所以输出5;第4次for循环,y的值为4,不满足if条件,不执行printf语句;第5次for循环,y的值为3,满足if条件,输出2;第6次for循环,y的值为1,不满足if条件,不执行printf语句。故本题答案为A选项。

9.有以下程序:

#include

main( )

{

int a=1,b=2;

for(;a<8;a++)

{

b+=a:

a+=2:

}

printf("%d,%d\n",a,b);

}

程序运行后的输出结果是( )。(D)

A. 9,18

B. 8,11

C. 7,11

D. 10,14

解析:第1次循环,a的值为1,满足条件,执行“b+=a;”与“a+=2;”,则b的值变为3,a的值变为3。执行“a++”,a的值为4,满足条件,进入第2次循环,执行完循环体后,b的值为7,a的值为6。执行“a++”,a的值为7,满足条件,进入第3次循环,执行完循环体后,b的值为14,a的值为9。执行“a++”,a的值为10,条件不满足,退出循环。故本题答案为D选项。

10.有以下程序:

#include

main( )

{

int x=8;

for(;x>0;x--)

{

if(x%3)

{

printf("%d,

本文档预览:3600字符,共12082字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级C语言机试(选择题)模拟试卷567

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号