ImageVerifierCode 换一换
格式:DOC , 页数:27 ,大小:66.50KB ,
资源ID:498811      下载积分:2000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-498811.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文([计算机类试卷]国家二级C语言机试(选择结构程序设计)模拟试卷1及答案与解析.doc)为本站会员(livefirmly316)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

[计算机类试卷]国家二级C语言机试(选择结构程序设计)模拟试卷1及答案与解析.doc

1、国家二级 C语言机试(选择结构程序设计)模拟试卷 1及答案与解析 一、选择题 1 若有定义 int x,y; 并已正确给变量赋值,则以下选项中与表达式 (x-y)?(x+) : (y+)中的条件表达式 (x-y) 等价的是( )。 ( A) (x-y0) ( B) (x-y0) ( D) (x-y=0) 2 有以下程序 #include main() char a=H; a = ( a=A if (!x) y+; else if (x=0) if (x) y+=2; else y+=3; printf(“%dn“, y); 程序运行后的输出结果是( )。 ( A) 0 ( B) 2 ( C)

2、1 ( D) 3 4 若有定义: float x=1.5; int a=1,b=3,c=2; 则正确的 switch语句是( )。 ( A) switch(a+b) case 1: printf(“*n“); case 2+1: printf(“*n“); ( B) switch(int)x); case 1: printf(“*n“); case 2: printf(“*n“); ( C) switch(x) case 1.0: printf(“*n“); case 2.0: printf(“*n“); ( D) switch(a+b) case 1: printf(“*n“); case

3、c: printf(“*n“); 5 若变量已正确定义,在 if (W) printf(“%dn“ ,k ); 中,以下不可替代 W的是( )。 ( A) ab) a=b, b=c; c=a; printf(“a=%d b=%d c=%dn“, a, b, c); 程序的输出结果是( )。 ( A) a=10 b=50 c=10 ( B) a=10 b=50 c=30 ( C) a=10 b=30 c=10 ( D) a=50 b=30 c=50 7 设有定义: int a=1,b=2,c=3; 以下语句中执行效果与其它三个不同的是( )。 ( A) if(ab) c=a;a=b;b=c; (

4、 B) if(ab) c=a,a=b,b=c; ( C) if(ab) c=a,a=b,b=c; ( D) if(ab) c=a;a=b;b=c; 8 if语句的基本形式是: if (表达式 ) 语句,以下关于 “表达式 “值的叙述中正确的是( )。 ( A)可以是任意合法的数值 ( B)必须是整数值 ( C)必须是正数 ( D)必须是逻辑值 9 有如下嵌套的 if语句 if(ac)?b:c); ( C) k=(a main() int x; scanf(“%d“, if(xb?(bc ? 1 : 0) : 0; 功能相同的是( )。 ( A) if(ab) else k=0; ( B) if

5、(ab)|(bc) k=1; else k=0; ( C) if(ab) k=1; else if(bc) k=1; else k=0; 12 以下选项中与 if(a=1)a=b; else a+; 语句功能不同的 switch语句是( )。 ( A) switch(a=1) case 0:a=b;break; case 1:a+; ( B) switch(a) case 1:a=b;break; default : a+; ( C) switch(a) default:a+;break; case 1:a=b; ( D) switch(a=1) case 1:a=b;break; case

6、0:a+; 13 有以下程序 #include main() int a=1,b=2,c=3,d=0; if (a=1 else printf(“%d,%d,%dn“,a,b,c); else printf(“%d,%d,%dn“,a,b,c); 程序运行后的输出结果是( )。 ( A) 1,3,3 ( B) 1,3,2 ( C) 1,2,3 ( D) 3,2,1 14 下列条件语句中,输出结果与其他语句不同的是( )。 ( A) if ( a=0 ) printf(“%dn“, x); else printf(“%dn“, y); ( B) if ( a=0 ) printf(“%dn“,

7、y); else printf(“%dn“, x); ( C) if ( a!=0 ) printf(“%dn“, x); else printf(“%dn“, y); ( D) if ( a ) printf(“%dn“, x); else printf(“%dn“, y); 15 有以下程序 #include main() int x=1,y=2,z=3; if(xy) if(y main() int a=1,b=2,c=3,d=4; if (a=2) | (b=1) c=2; if (c=3) printf(“%d,%d,%d,%dn“, a,b,c,d); 则程序的输出结果是( )。

8、( A) 2,2,2,4 ( B) 2,1,2,-1 ( C) 5,1,2,-1 ( D) 1,2,3,4 17 若有以下程序 #include 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(“%dn“, r); 则程序的输出结果是( )。 ( A) 7 ( B) 10 ( C) 6 ( D) 3 18 若有以下程序 #include main() int a=1,b=2,c=3,d=4; if (a=

9、2) if (c=3) | (d=-1) a=5; printf(“%d,%d,%d,%dn“, a,b,c,d); 则程序的输出结果是( )。 ( A) 5,1,2,-1 ( B) 2,1,2,-1 ( C) 2,2,2,4 ( D) 1,2,3,4 19 若有以下程序 #include 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(“%dn“, r); 则程序的输出结果是( )。 ( A) 10 ( B) 7 ( C)

10、6 ( D) 3 20 有以下程序 #include 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; printf(“a=%d,b=%dn“,a,b ); 程序运行后的输出结果是( )。 ( A) a=2,b=1 ( B) a=1,b=1 ( C) a=1,b=0 ( D) a=2,b=2 21 有以下程序 #include main() int k, j, s; for( k=2; k main(

11、) double x=2.0, y; if( x main() int a,b; for (a=0; a ,则输出结果是( )。 ( A) 2,3,4,3,4,4, ( B) 2,3,4, ( C) 2,2,2,3,3,4, ( D) 2,3,4,3,4,5,4,5,6 28 有以下程序 #include main() int a,b; for (a=0; a,则输出结果是( )。 ( A) 1,2,3,2,3,3, ( B) 1,2,3, ( C) 2,3,4,3,4,4, ( D) 1,1,1,2,2,3 29 有以下程序段,若变量已正确定义并赋值 if(ab)printf(“x=%d,“

12、, x); else printf(“y=%d,“, y); if(ab)printf(“x=%d,“, x);j+; else printf(“y=%d,“, y);i+; ( B) if(ab)printf(“x=%d,“, x);i+; else printf(“y=%d,“, y);j+; ( C) if(a=b)printf(“x=%d,“, x);i+; else printf(“y=%d,“, y);j+; 30 以下程序的功能是判断输入的一个整数是否能被 3或 7整除,若能整除,输出YES,否则输出 NO。在下划线处应填入的选项是 #include main() int k;

13、printf(“Enter a int number : “); scanf(“%d“, if _ printf(“YESn“); else printf(“NOn“); printf(“%dn“,k%3); ( )。 ( A) ( (k%3=0) | (k%7=0) ) ( B) (k/3=0) | (k/7=0) ( C) ( (k%3=0) | (k%7=0) ) ( D) ( (k%3=0) if (a+ else printf(“F“); printf(“a=%d,b=%dn“, a, b); 程序运行后的输出结果是( )。 ( A) Fa=1,b=1 ( B) Fa=0,b=2 (

14、 C) Ta=1,b=2 ( D) Ta=0,b=1 33 有如下程序 #include main() int x = 0x13; if (x = 0x18) printf(“T“); printf(“F“); printf(“n“); 程序运行后的输出结果是( )。 ( A) TF ( B) T ( C) F ( D) TFT 34 有如下程序 #include main() int a = 0, b = 1; if (+a = b+) printf(“T“); else printf(“F“); printf(“a=%d,b=%dn“, a, b); printf(“n“); 程序运行后的

15、输出结果是( )。 ( A) Ta=1,b=2 ( B) Fa=1,b=2 ( C) Ta=0,b=1 ( D) Fa=0,b=2 35 有以下程序段 scanf(“%d%d%d“, if(ab) a=b; if(ac) a=c; printf(“%dn“,a); 该程序段的功能是( )。 ( A)输出 a、 b、 c中的最小值 ( B)输出 a、 b、 c中的最大值 ( C)输出 a的原始值 ( D)输出 a、 b、 c中值相等的数值 36 有以下程序 #include main() int x; scanf(“%d“, if(x10) printf(“1“); else if(x20) p

16、rintf(“2“); else if(x30) printf(“3“); 若运行时输入: 35,则输出结果是( )。 ( A) 1 ( B) 2 ( C) 3 ( D) 123 37 有以下程序段 scanf(“%d%d%d“, if(a=b)? -10:10; 国家二级 C语言机试(选择结构程序设计)模拟试卷 1答案与解析 一、选择题 1 【正确答案】 A 【试题解析】 考 查条件表达式。条件表达式的形式为: 表达式 1 ? 表达式 2 : 表达式 3 ,计算 “表达式 1“的值,若为 “真 “,取 “表达式 2“的值作为整个条件表达式的值;若为 “假 “,取 “表达式 3“的值作为整个条

17、件表达式的值。本程序中要选能判定 (x-y)为 “真 “的语句,即 x! =y,或者 (x-y 0),选 A。 【知识模块】 选择结构程序设计 2 【正确答案】 A 【试题解析】 考查条件运算符。条件表达式的形式为: 表达式 1 ? 表达式 2 : 表达式 3 ,计算 “表达式 1“的值,若为 “真 “,取 “表达 式 2“的值作为整个条件表达式的值;若为 “假 “,取 “表达式 3“的值作为整个条件表达式的值。字符参与运算时一般计算其 ASCII 码,并且一个字母的小写 -大写 =32( ASCII 码),该程序将大写字母转成对应的小写字母,答案选 A。 【知识模块】 选择结构程序设计 3

18、【正确答案】 A 【试题解析】 在该题中,选择结构的表达式都不成立,所以整个选择语句都没有执行, y值没有发生改变,答案选 A。 【知识模块】 选择结构程序设计 4 【正确答案】 A 【试题解析】 switch(表达式 )后不能 有分号,选项 B)错误; switch 语句的圆括号中表达式的值必须为整型或者字符型,不能为实型,选项 C)错误; case后面的表达式可以是求得整型量和字符型量的常量表达式,但是常量表达式中不能含有变量,选项 D)错误;答案选 A)。 【知识模块】 选择结构程序设计 5 【正确答案】 A 【试题解析】 C语言中没有符号 “b) if(bc) k=1; else k=

19、0; else k=0;“。即是当 ab并且 bc时, k=1,其余情况 k=0,所以答案选 A)。 【知识模块】 选择结构程序设计 12 【正确答案】 A 【试题解析】 题目程序的意思是当 a值为 1的时候,将 b值赋给 a,若 a值不为1则 a自加 1。选项 A)中,若 a的值为 1,则表达式 a=1的值为 1,进入 case 1分支, a自加 1,而 a值不为 0时,执行 “a=b; break;“,和题目程序执行的 语句不一致,所以答案选 A)。 【知识模块】 选择结构程序设计 13 【正确答案】 A 【试题解析】 else总是与前面距离它最近的且未曾配对的 if语句配对。“a=1,b

20、=2,c=3,d=0“,所以语句 “if(a=1 “,输出 x的值为 1,答案选 A。 【知识模块】 选择结构程序设计 16 【正确答案】 A 【试题解析】 根据逻辑表达式 的 “短路求值 “原理,逻辑或的第一个表达式 “a=2“的值为真,则表达式 “b=1“不再计算,整个逻辑表达式值为真,执行语句 “c=2;“,第二个 if语句条件不成立,所以第二个表达式 “d=-1“也不计算,所以变化的值有a和 c,变化后 a=2, c=2,所以答案选 A。 【知识模块】 选择结构程序设计 17 【正确答案】 A 【试题解析】 else总是与前面距离它最近的且未曾配对的 if语句配对。 “if (a!=1

21、); else r=1;“执行的是空语句 “;“。 “if (b=2) r+=2; else;“执 行的是语句 “r+=2“, r值为 2。 “if (c!=3) r+=3;else;“执行的是空语句 “;“。 “if (d=4) r+=4;“执行语句“r+=4“,计算后 r的值为 7,输出结果为选项 A)。 【知识模块】 选择结构程序设计 18 【正确答案】 A 【试题解析】 该程序中所有的逻辑表达式均不满足 “短路求值 “原理,所以所有的表达式都需要计算,第一个 if 语句执行完毕之后, a=2, b=1, c=2,第二个 if语句执行完毕之后, d=-1, a=5,所以最终的 a=5,

22、b=1, c=2, d=-1,答案选 A。 【知识模块】 选择结构程序设计 19 【正确答案】 A 【试题解析】 if语句的形式为 “if(表达式 ) 语句体 “,若语句体为复合语句,则必须用 “括起来,否则只会执行 if(表达式 )下的第一条语句。所以整个程序执行的语句为 “r=1; r+=2; r+=3; r+=4;“,输出的 r值为 10。答案选 A。 【知识模块】 选择结构程序设计 20 【正确答案】 A 【试题解析】 break 语句用于循环嵌套或者 switch 选择嵌套时,只能跳出当前层的 switch 选择层或循环层。本程序 中,先执行 switch(x),而 x=1,执行 c

23、ase 1对应的语句块,进入嵌套的选择语句 switch(y), y=0,执行 case 0: a+; break;此时a=1,遇到 break 语句后跳出 switch(y),没有遇到 break,继续执行 case 2: a+; b+; break;此时 a=2, b=1。遇到 break 跳出 switch(x)。最终 a=2, b=1,输出结果为 【知识模块】 选择结构程序设计 21 【正确答案】 A 【试题解析】 嵌套循环,外层循环 k 从 2循环到 5,每次自增 2,。内层循环 j从k 到 5,每次自增 1, s为在 s的基础上累加当前内层循环所有的 j值。程序输出的是最后一次外层

24、循环时 s的统计值,即 k=4时, j的取值为 4、 5,所以 s=10,答案选 A。 【知识模块】 选择结构程序设计 22 【正确答案】 A 【试题解析】 循环条件是 “k=1“,该表达式恒为真,所以程序构成死循环,答案选 A。 【知识模块】 选择结构程序设计 23 【正确答案】 A 【试题解析】 if多分支选择结构中,从上到下依次判定 if(或 else if)后的圆括号内的表达式的值,只有之 前的 if(或 else if)条件都为假时,才会判定下一条else if 语句的条件是否成立,该程序中,执行的是语句 “else if( xb时,执行语句 “printf(“x=%d, “, x)

25、;“和语句 “ j+;“,否则执行语句 “printf(“y=%d, “,y);“和语句 “i+;“,由此答案选 A。 【知识模块】 选择结构程序设计 30 【正确答案】 A 【试题解析】 根据程序的逻辑设计, if 的判定条件应该是 k 对 3或者 7取余的值等于 0,使用逻辑或 “|“、求余运算符 “%“以及等于关系运算符 “=“,答案选 A。 【知识模块】 选择结构程序设计 31 【正确答案】 A 【试题解析】 if语句的一般形式为 “if(表达式 ) 语句体 “,其中, “表达式 “可以是任意合法的 C语言表达式,所以计算出的结果可以是任意合法的数值,所以答案选 A。 【知识模块】 选

26、择结构程序设计 32 【正确答案】 A 【试题解析】 自加运算符后置的时候,该变量是先使 用后自加 1。并且根据逻辑表达式的 “短路求值 “原理,判定表达式 “a+“的值为 0,整个逻辑表达式的值为0,而且 “b+“不再计算。 a=1, b=1,所以输出结果为选项 A)。 【知识模块】 选择结构程序设计 33 【正确答案】 A 【试题解析】 C语言中用非 0值表示真,用 0值表示假, 0x18 为用十六进制表示的数值,为非 0,赋值给 x后 x也为非 0,所以 if条件语句 “ printf(“T“);“能够执行,输出 T。之后执行语句 “printf(“F“);“,所以输出的结果为选项 A)

27、。 【知识模块】 选 择结构程序设计 34 【正确答案】 A 【试题解析】 自增运算符前置时,该变量是先自增 1后再参与其他运算;自增运算符后置时,该变量是先参与运算后再自增 1。由此, if判定条件判定的是自加后的 a值和自加前的 b 值是否相等,判定条件为真,输出 T,此时 a=1, b=2,所以答案选 A。 【知识模块】 选择结构程序设计 35 【正确答案】 A 【试题解析】 if语句的形式为 “if(表达式 ) 语句体 “,如果表达式的值为真,则执行语句体。该程序段的逻辑是如果 ab,则把 b 值赋值给 a;如果 ac,则把 c值赋值给 a,也就是 a中记录但是 a、 b、 c中的最小

28、值,答案选 A。 【知识模块】 选择结构程序设计 36 【正确答案】 A 【试题解析】 if多分支选择结构中,只有之前的 if(或 else if)的判定条件不满足时才进行下一个 if(或 else if)的条件判定,所以当输入 35时,执行的是第一条 if语句的语句体,输出结果为选项 A)。 【知识模块】 选择结构程序设计 37 【正确答案】 A 【试题解析】 该程序中没有赋值运算符 “=“,也就是说没有变量会被改变,所以a值也不变,答案选 A。 【知识模块】 选择结构程序设计 38 【正确答案】 A 【试题解析】 题目的意思若 a=b, x=-10,选项 A)少考虑了a=b 的情况。答案选 A)。 【知识模块】 选择结构程序设计

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1