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

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

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

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

公共基础选择题

1.下列选项中,当x为大于1的奇数时,值为0的表达式是( )。(A)

A. x%2==0

B. x/2

C. x%2!=0

D. x%2==1

解析:算术运算符的优先级高于关系运算符的优先级。所以当x为大于1的奇数时,A选项的值为假,即0。B选项的值为不定值,但绝对不是0。C选项的值为真,即1。D选项的值为真,即1。故本题答案为A选项。

2.若a是数值类型,则逻辑表达式“(a==1)||(a!=1)”的值是( )。(A)

A. 1

B. 0

C. 2

D. 不知道a的值,不能确定

解析:逻辑或“||”要求两边的运算对象有一个非零值,结果就为真。变量a的值不确定,但是若a为1,则左边运算对象的值为1;若a不为1,则右边运算对象的值为1,所以总能保证一边为非零值。故本题答案为A选项。

3.当变量c的值不为2、4.6时,值为“真”的表达式是( )。(D)

A. (c>=2&&c<=6)&&(c%2!=1)

B. (c==2)||(c==4)||(c==6)

C. (c>=2&&c<=6)&&!(c%2)

D. (c>=2&&c<=6)||(c!=3)||(c!=5)

解析:逻辑或运算中只要有一个运算量为真,结果就为真。当“c>=2&&c<=6”条件不成立时,c的值肯定不是2、3、4、5、6,“c!=3”与“c!=5”均成立,所以D选项的结果一定为真。故本题答案为D选项。

4.有以下程序:

#include

main( )

{

int a=1,b=2,C=3,d=0;

if(a==1&&b++==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@;

}

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

A. 1,3,2

B. 1,3,3

C. 1,2,3

D. 3,2,1

解析:else总是和最近的if配对。进入第1个if语句进行条件判断时,因为是逻辑与运算,需要两边运算对象的值均为非零值才为真,所以需要逐个执行判断。结果为1,进入第2个if语句进行条件判断。因为“b!=2”条件成立,所以整个条件表达式的值为真,不再执行逻辑或的第2个运算对象“c--!=3”,变量c的值不变,也不再执行第1个else语句。输出a的值1,b的值3,c的值3。故本题答案为B选项。

5.设有宏定义“#define IsDIV(k,n)((k%n==1)?1:0)”,且变量m已正确定义并赋值,则宏调用“IsDIV(m,5)&&IsDIV(m,7)”为真时所要表达的是( )。(B)

A. 判断m是否能被5和7整除

B. 判断m被5和7整除是否都余1

C. 判断m被5或者7整除是否余1

D. 判断m是否能被5或者7整除

解析:本题考查逻辑运算符的相关概念。逻辑与运算两边运算对象的值都为真时,结果才为真。所以需要m被5和7整除都余1。故本题答案为B选项。

6.if语句的基本形式是“if(表达式)语句”,以下关于“表达式”值的叙述中正确的是( )。(D)

A. 必须是逻辑值

B. 必须是整数值

C. 必须是正数

D. 可以是任意合法的数值

解析:if语句中的表达式可以是任意合法的数值,如常量、变量表达式。故本题答案为D选项。

7.下列条件语句中,输出结果与其他语句不同的是( )。(C)

A. if(a!=0)printf("%d\n",x);else printf("%d\n",y);

B. if(a==0)printf("%d\n",y);else printf("%d\n",x);

C. if(a==0)printf("%d\n",x);else printf("%d\n",y);

D. if(a)printf("%d\n",x);else printf("%d\n",y);

解析:A、B、D选项的含义均为:a的值如果为0,则输出y的值,否则输出x的值。而C选项的含义是:a的值为0时输出x的值,不为0时输出y的值,与其他选项正好相反。故本题答案为C选项。

8.有以下程序:

#include

main( )

{ int a=0,b=0,c=0,d=0;

if(a=1)b=1;c=2;

else d=3;

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

}

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

A. 1,1,2,0

B. 0,0,0,3

C. 编译有错

D. 0,1,2,0

解析:本题中“if(a=1)b=1;”与“else d=3;”之间多了语句“c=2;”,所以会出现else语句的位置错误的编译失败提示。故本题答案为C选项。

9.设有定义“int a=1,b=2,c=3;”,以下语句中执行结果与其他3个不同的是( )。

C

解析:因为变量“a=1,b=2”,所以表达式“a>b”不成立。选项A、B和D相当于一条语句,选项A是逗号表达式,选项B和选项D是复合语句,所以都没有执行。选项C中,语句“c=a;”不执行,语句“a=b;b=c;”执行。故本题答案为C选项。

10.有嵌套的if语句:

if(a<b)

if(a<c)k=a;

else k=c:

else if(b<c)k=b;

else k=c:

以下选项中与上述if语句等价的语句是( )。(B)

A. k=(a<b)?((b<c)?a:b):((b>c)?b:c);

B. k=(a<b)?((a<c)?a:c):((b<c)?b:c);

C. k=(a<b)?a:b;k=(b<c)?b:C;

D. k=(a<b)?a:b;k=(a<c)?a:c;

解析:题目中嵌套语句的含义是当“a<b”且“a<c”成立时,将a的值赋给k;如果“a<b”成立而“a<c”不成立,则将c的值赋给k;如果“a<b”不成立而“b<c”成立,则将b的值赋给k;如果“a<b”不成立且“b<c”也不成立,则将c的值赋给k。判断条件表达式,只有B选项可以表示这个含义。故本题答案为B选项。

11.有以下程序:

#include

main( )

int x=1,y=2,z=3;

if(x>y)if(y<z)

<

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号