《2016年计算机二级C语言测试题及答案解析(二).pdf》由会员分享,可在线阅读,更多相关《2016年计算机二级C语言测试题及答案解析(二).pdf(2页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、.20162016 年计算机二级年计算机二级 C C 语言测试题与答案解析二语言测试题与答案解析二根 本 输 入 输 出 与 流 程 控 制1.#include main()inta=1,b=3,c=5;if(c=a+b)printf(yesn);elseprintf(non);运行结果为:no 详见教材 p89 选择结构详见教材 p91 关系符号详见附录 D p378 符号的优先级=表示判断符号两边的值是否相等;=表示将符号右边的值赋给左边的变量此题考点是选择结构 3 种根本形式的第二种选择结构三种一般形式中的“语句皆为复合语句,复合语句要用 括起来,只有当复合语句中只包括一条语句时可以省略
2、,此题即如此,因此两个printf 操作没有加 假设 c=a+b 成立,那么执行 printf(yesn);否那么即 c=a+b 不成立,执行 printf(non);+的优先级高于=,因此先算 a+b,值为 4,表达式 5=4 不成立,因此执行 printf(non);即输出字符串no2.#include main()inta=12,b=-34,c=56,min=0;min=a;if(minb)min=b;if(minc)min=c;printf(min=%d,min);运行结果为:min=-34 详见教材 p89 选择结构此题考点是选择结构 3 种根本形式的第一种一共包含了两个选择结构两个
3、 if 语句定义变量,并赋值 此时 a=12,b=-34,c=56,min=0 将 a中值拷贝,赋给min,覆盖了 min 中的 0,此时 min 中的值被更新为 12。假设minb 成立,那么执行min=b;假设 minc 成立,那么执行min=c;输出 min 中的值 12 大于-34,第一个 if 语句的表达式成立,因此执行 min=b;执行后 min 中的值被更新为-34.-34 小于 56,第二个 if 语句的表达式不成立,因此不执行 min=c;最后输出 min 中的值,为-34.3.#include main()intx=2,y=-1,z=5;if(xif(y0)z=0;else
4、z=z+1;printf(“%dn,z);运行结果为:5 遇到选择结构,首先要明确条件表达式成立时执行哪些操作。此题中,第一个 if 语句,其后的复合语句没有大括号,说明复合语句中只包含一条语句,进而省略了。层的 if.else.是选择结构的第二种根本形式,在结构上视为一条语句。因此层的 if.else.作为第一个 if 语句的复合语句。假设表1/2.达式 x假设 y=0,执行 z=z+1;输出 z2-1,表达式x输出z中的值为54.#include main()floata,b,c,t;a=3;b=7;c=1;if(ab)t=a;a=b;b=t;if(ac)t=a;a=c;c=t;if(bc
5、)t=b;b=c;c=t;printf(%5.2f,%5.2f,%5.2f,a,b,c);运行结果为:1.00,2.00,7.00 详见教材 p72 数据的输出形式此题包含了 3 个 if 语句,每个 if 语句后的 都不可省略,因为每个 中都包含了多条语句假设表达式ab 成立,那么执行 t=a;a=b;b=t;假设表达式ac 成立,那么执行t=a;a=c;c=t;假设表达式 bc 成立,那么执行t=b;b=c;c=t;输出 a,b,c 中的值,要求输出的每个数据宽度为 5 个空格,小数局部保存2 位,数据右对齐 3 小于 7,因此表达式 ab不成立,因此不执行t=a;a=b;b=t;3 大于
6、 1,因此表达式 ac 成立,那么执行t=a;a=b;b=t;。第一句,将a 中的 3 拷贝,粘贴到t 中;第二句,将c 中的 1 拷贝,粘贴到 a 中,覆盖掉先前的 3;第三句。将 t 中的 3 拷贝到 c 中,覆盖掉 c 中先前的 1.执行完复合语句后实现了 a,c 元素的值的互换,a 为 1,c 为 3,t 为 3,。7 大于 c 中的 3,因此bc 成立,执行那么执行t=b;b=c;c=t;,过程同上,执行后b 为 3,c 为 7,t 为 7 此时输出 a,b,c 中的值为 1.00,2.00,7.005#includemain()floatc=3.0,d=4.0;if(cd)c=5.
7、0;else if(c=d)c=6.0;elsec=7.0;printf(“%.1fn,c);运行结果为:7.0此题为if.else.语句的嵌套,第二if.else.作为第一个if.else.语句else局部的复合语句。假设表达式 cd 成立,那么执行 c=5.0;否那么表达式 cd 不成立假设表达式 c=d成立,那么执行 c=6.0;否那么,执行 c=7.0;输出 c 中的值 3.0 小于 4.0,因此表达式 cd不成立,执行第二个 ifelse。3.0 不等于 4.0,因此表达式 c=d 不成立,执行 c=7.0,将 7.0 赋给 c,覆盖掉 c 中的 3.0,此时 c 中的值为 7.0 输出此时的 c 中的值2/2