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

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

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

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

选择题

1.有以下计算公式

(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>=0?x :-x);

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

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

A. 不等于10的整数\\t

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

C. 小于3的整数\\t

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

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

3.有以下程序

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。

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

A. if ( a==0 ) printf(\\

B. if ( a==0 ) printf(\\

C. if ( a!=0 ) printf(\\

D. if ( a ) printf(\\

解析:选项B、C、D这三条语句都是在变量不等于0的情况下,输出x;等于0的情况下输出y,而选项A则正好相反。

5.若有以下程序

#include<stdio.h>

main() {

int a=1,b=2,c=3,d=4;

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

if ((c==3) && (d=-1)) a=5;

printf(\\(B)

A. 2,1,2,-1

B. 2,2,2,4

C. 5,1,2,-1

D. 1,2,3,4

解析:代码中有两条并列的if语句,第一条if语句执行,(a=2) || (b=1)值为1,由于逻辑或表达式,根据其短路运算规则,a=2,b=2,即b值不变执行if分支c=2。并列的if语句中表达式(c==3) && (d=-1)为逻辑与表达式,c==3不成立,不考虑d=-1表达式,d为5.逻辑表达式值为0,不执行相应if分支。

6.若有以下程序

#include<stdio.h>

main() {

int a=1,b=2,c=3,d=4, r=0;

if (a!=1) ; else r=1;

if (b==2) r+=2;

else;

if (c!=3) r+=3;

else;

if (d==4) r+=4;

printf(\\(C)

A. 10

B. 6

C. 7

D. 3

解析:程序代码中有四条并列的if语句,第一条if表达式a!=1不成立,执行else分支,r=1;第二条if表达式b==2成立,执行r+=2,r=3;第三条if语句c!=3不成立,执行else分支,分支为空语句;第四条if分支d==4成立,执行该if分支语句,r+=4,r=7。

7.若有以下程序

#include<stdio.h>

main() {

int a=1,b=2,c=3,d=4;

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

if ((c==3) || (d=-1)) a=5;

printf(\\(D)

A. 2,1,2,-1

B. 2,2,2,4

C. 1,2,3,4

D. 5,1,2,-1

解析:代码中有两条并列的if语句,第一条if语句,逻辑与表达式(a=2) && (b=1)中,a=2,则执行b=1,得到该逻辑与表达式值为1,执行分支语句c=2;第二条if语句(c==3) || (d=-1),c==3不成立,执行d=-1,而后得出整个逻辑与表达式值为1,执行分支语句a=5。

8.若有以下程序

main() {

int a=1,b=2,c=3,d=4, r=0;

if (a!=1) ;

else r=1;

if (b==2) r+=2;

if (c!=3); r+=3;

if (d==4) r+=4;

printf(\\(B)

A. 7

B. 10

C. 6

D. 3

解析:程序代码中有四条并列的if语句,第一条if表达式a!=1不成立,执行else分支,r=1;第二条if表达式b==2成立,执行r+=2,r=3;第三条if语句c!=3不成立,执行语句r+=3,r=6;第四条if分支d==4成立,执行该if分支语句,r+=4,r=10。

9.以下叙述中正确的是(C)

A. if语句只能嵌套一层

B. 不能在else子句中再嵌套if语句

C. if子句和else子句中可以是任意的合法的C语句

D. 改变if-else语句的缩进格式,会改变程序的执行流程

解析:含else子句的if语句的格式为

if(表达式) 语句1

else 语句2

其中if 和else是C语言的关键字。“语句1”称为if子句,“语句2”称为else子句,这些子句只允许为一条语句,若需要多条语句时,则应该使用复合语句 ,对于if和else语句的嵌套原则是比较自由的。

10.有以下程序

main() {

int x=1, y=0, a=0, b=0;

switch ( x ) {

case 1: switch(y) {

case 0: a++; break;

case 1: b++; break; }

case 2: a++; b++; break;

case 3: a++; b++; }

printf(\\(C)

A.

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号