首页 > 全部 > 二级C语言 > 国家二级C语言机试(C语言程序设计)模拟试卷32

国家二级C语言机试(C语言程序设计)模拟试卷32

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

国家二级C语言机试(C语言程序设计)模拟试卷32

选择题

1.以下是if语句的基本形式:

if(表达式)语句

其中“表达式”(D)

A. 必须是逻辑表达式

B. 必须是关系表达式

C. 必须是逻辑表达或关系表达

D. 可以是任意合法的表达式

解析:本题考查if语句,C语言中if语句中的表达式可以是任意合法的表达式。

2.有以下程序

main(){int a=0,b=0,c=0,d=0;

if(a=1)b=1;

c=2;

else d=3;

printf(\\(C)

A. 0,0,0,3

B. 1,1,2,0

C. 编译有错

D. 0,1,2,0

解析:if语句的格式为;

ifr表达式)语句1

else 语句2

if和else是C语言的关键字。“语句1”称为if子句,“语句2”称为else子句,这些子句只允许为一条语句,若需要多条语句时,则应该使用复合语句。因此题目“if(a=1)b=1;c=2;else d=3;”,if分支有两条语句,没构成复合语句。

3.有以下程序

main(){int x=1,y=0;

if(!x)y++;

else if(x~0)

if(x)y+=2;

else y+=3;

printf(”%d\11”,y);}

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

A. 2

B. 0

C. 1

D. 3

解析:x=l,if和else if的条件都不满足,故y值不改变输出。

4.若变量已正确定义,在if(W)pfintf(”%d\11”,k);中,以下不可替代W的是(C)

A. ch=getchar(1

B. a–b+c

C. ab+c

D. a++

解析:在if()语句的括号是一个合法的C语言表达式即可,如果表达式的值为0,则不执行if语句,否则执行if语句,而在选项C中,符号不是C语言的合法运算符,如果要表达a大于或小于b+c可用a!b+c或(a>b+c)‖(a<b+c)来表达,而不能使用ab+c。所以它不是一个合法的C语言表达式。

5.有以下程序段

int a,b,c;

a=10;b=50;c=30;

if(a>b)a=b,b=c;c=a;

printf(\\(C)

A. a=10 b=50 c=30

B. a=10 b=30 c=10

C. a=10 b=50 c=10

D. a=50 b=30 c=50

解析:本题的程序段首先定义三个整型变量a,b,c,并且其初始值分别等于10.50,30,然后判断a>b是否成立,如果条件成立,则把b的值赋给a,把c的值赋给b。由a和b的初始值可知,此条件表达式不成立,所以a和b的值保持不变。再执行下一条语句,把a的值赋给c,所以c的当前值等于10,最后由输出语句输出变量a,b,c的当前值,分别为10,50,10。

6.设有定义: int a=1,b=2,c=3;以下语句中执行效果与其它三个不同的是

A

解析:在C语言中,用分号表示一条语句的结束,用{}把几条语句放在一块表示一个语句块,其整体表示一个功能。因而在题目给出的四个选项中,选项B、C)、D)表示的功能相同,而选项A表示的是一条if语句,两条赋值语句。

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

C

解析:在if语句中,表达式可以是任意合法的数值。当其值为非零时,执行if语句,为0时执行else语句。

8.有如下嵌套的if语句if(a<b)

if(a<c)k=a:

else k=c;

else

if(b<c)k=b;

else k=c;

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

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

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

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

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

解析:嵌套的if else语句的含义是,在变量a的值小于变量b的值,同时,变量a的值小于变量c的值时,把变量a的值赋给变量k。在变量a的值小于变量b的值,同时,变量a的值大于等于变量c的值时,把变量c的值赋给变量k。在变量a的值大于等于变量b的值,同时,变量b的值小于变量c的值时,把变量b的值赋给变量k。在变量a的值大于等于变量b的值,同时,变量b的值大于等于变量c的值时,把变量c的值赋给变量k。

9.有以下计算公式

(A)

A. y=sqrt(x);if(x<0)y=sqrt(-x);

B. if(x>=0)y=sqrt(x);else y=sqrt(-x);

C. if(x>=0)y=sqrt(x);if(x<0)y=sqrt(-x);

D. y=sqrt(x>=07x:-x);

解析:由题意可知计算公式的含义是:当x大于等于0时,y值等于x的算术平方根;当x小于0时,y值等于x的相反数的算术平方根。所以选项B用一个完整的if else语句表达了计算公式的含义:选项C用两个if语句表达了计算公式的含义;选项D在求平方根函数的后面用x≥0?x:-x条件表达式来表达了计算公式的含义。选项A没有用C语言语句正确的表达计算公式的含义。

10.有以下程序#include main(){int x;scanf(\\(D)

A. 不等于10的整数

B. 大于3或等于10的整数

C. 小于3的整数

D. 大于3且不等10的整数

解析:题目中,虽然else和第二个if不在同一行上,但等价于在同一行上,因此,程序的意思是当x大于3且不等于10时打印出来。

11.有以下程序

main(){int a=1,b=2,c=3,d=0;

if(a==1&&b++=2)

if(b!=2‖c-!=3)

printf(\\(C)

A. 1,3,2

B. 1,2,3

C. 1,3,3

D. 3,2,1

解析:a,b,c,d初始值分别为1,2,3,0。嵌套的if语句中,第一个if中,表达式a==1&&b++==2值为1,执行嵌套的if分支,此时“b=3,b!=2”成立,由于运算符是‖,不管后面一个表达式的值是不是1,其整个表达式的值总是1,“c–!=3”表达式不执行,最后打印出a,b,c的值是1,3,3。

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

A. if(a==0)prin

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

剩余未完,查看全文
收藏
国家二级C语言机试(C语言程序设计)模拟试卷32

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号