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

上传人:花仙子 文档编号:497953 上传时间:2018-11-30 格式:DOC 页数:23 大小:64.50KB
下载 相关 举报
[计算机类试卷]国家二级C语言机试(C语言程序设计)模拟试卷25及答案与解析.doc_第1页
第1页 / 共23页
[计算机类试卷]国家二级C语言机试(C语言程序设计)模拟试卷25及答案与解析.doc_第2页
第2页 / 共23页
[计算机类试卷]国家二级C语言机试(C语言程序设计)模拟试卷25及答案与解析.doc_第3页
第3页 / 共23页
[计算机类试卷]国家二级C语言机试(C语言程序设计)模拟试卷25及答案与解析.doc_第4页
第4页 / 共23页
[计算机类试卷]国家二级C语言机试(C语言程序设计)模拟试卷25及答案与解析.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、国家二级 C语言机试( C语言程序设计)模拟试卷 25及答案与解析 一、选择题 1 以下是 if语句的基本形式: if(表达式 )语句 其中 “表达式 ” ( A)必须是逻辑表达式 ( B)必须是关系表达式 ( C)必须是逻辑表达或关系表达 ( D)可以是任意合法的表达式 2 有以下程序 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); 程序输出 ( A) 0, 0, 0, 3 ( B) 1, 1, 2, 0 ( C)编译有错 ( D) 0, 1, 2, 0

2、 3 有以下程序 main()int x=1, y=0; if(!x)y+; else if(x=0) if(x)y+=2; else y+=3; printf(“ d n“, y); 程序运行后的输出结果是 ( A) 2 ( B) 0 ( C) 1 ( D) 3 4 若变量己正确定义,在 if(W)printf(“ d n“, k);中,以下不可替代 W的是 ( A) ch=getchar() ( B) a=b+c ( C) a不是 C语言的合法运算符,如果要表达 a大于 或小于 b+c可用 a!=b+c或 (a b+c)(a b+c)来表达,而不能使用 a b+c。所以它不是一个合法的 C

3、语言表达式。 【知识模块】 C语言程序设计 5 【正确答案】 C 【试题解析】 本题的程序段首先定义三个整型变量 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。 【知识模块】 C语言程序设计 6 【正确答案】 A 【试题解析】 在 C语言中,用分号表示一条语句的结束,用 把几条语句放在

4、一块表示一个语句块,其整体表示一个功能。因而在题目给出的四个选项中,选项B)、 C)、 D)表示的功能相同,而选项 A)表示的是一条 if语句,两条赋值语句。 【知识模块】 C语言程序设计 7 【正确答案】 C 【试题解析】 在 if语句中,表达式可以是任意合法的数值。当其值为非零时,执行 if语句,为 0时执行 else语句 。 【知识模块】 C语言程序设计 8 【正确答案】 D 【试题解析】 嵌套的 if else语句的含义是,在变量 a的信小干蛮量 h的值,同时,变量 a的值小于变量 c的值时,把变量 a的值赋给变量 k。在变量 a的值小于变量 b的值,同时,变量 a的值大丁等丁变量 c

5、的值时,把变量 c的值赋给变量k。在变量 a的值大于等于变量 b的值,同时,变量 b的值小于变量 c的值时,把变量 b的值赋给变量 k。在变量 a的值大于等于变量 b的值,同时,变量 b的值大于等于变量 c的值时,把变量 c的值赋给变量 k。 【知识模块】 C语言程序 设计 9 【正确答案】 A 【试题解析】 由题意可知计算公式的含义是:当 x大于等于 0时, y值等于 x的算术平方根;当 x小于 0时, y值等于 x的相反数的算术平方根。所以选项 B)用一个完整的 if else语句表达了计算公式的含义;选项 C)用两个 if语句表达了计算公式的含义;选项 D)在求平方根函数的后面用 x0?

6、x: x条件表达式来表达了计算公式的含义。选项 A)没有用 C语言语句正确的表达计算公式的含义。 【知识模块】 C语言程序设计 10 【正确答案】 D 【试题解析】 题目中,虽然 else和第二个 if不在同一行上,但等价于在同一行上,因此,程序的意思是当 x大于 3且不等于 10时打印出来。 【知识模块】 C语言程序设计 11 【正确答案】 C 【试题解析】 a, b, c, d初始值分别为 1, 2, 3, 0。嵌套的 if语句中,第一个if中,表达式 a=1&b+=2值为 1,执行嵌套的 if分支,此时 “b=3, b!=2”成立,由于运算符是 ,不管后面一个表达式的值是不是 1,其整个

7、表达式的值总是1, “c-!=3”表达式不执行,最后打印出 a, b, c的值是 1, 3, 3。 【知识模块】 C语 言程序设计 12 【正确答案】 A 【试题解析】 选项 B)、 C)、 D)这三条语句都是在变量不等于 0的情况下,输出x;等于 0的情况下输出 y,而选项 A)则正好相反。 【知识模块】 C语言程序设计 13 【正确答案】 B 【试题解析】 代码中有两条并列的 if语句,第一条 if语句执行, (a=2)(b=1)值为1,由于逻辑或表达式,根据其短路运算规则, a=2, b=2,即 b值不变执行 if分支c=2。并列的 if语句中表达式 (c=3)&(d= 1)为逻辑与表达

8、式, c=3不成立,不考虑 d= 1表达式, d为 5,逻辑表达式值为 0,不执行相应 if分支。 【知识模块】 C语言程序设计 14 【正确答案】 C 【试题解析】 程序代码中有四条并列的 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。 【知识模块】 C语言程序设计 15 【正确答案】 D 【试题解析】 代码中有两条并列的 if语句,第一条 if语句,逻辑与表达式(a

9、=2)&(b=1)中, a=2,则执行 b=1,得到该逻辑与表达式值为 1,执行分支语句c=2;第二条 if语句 (c=3)(d= 1), c=3不成立,执行 d= 1,而后得出整个逻辑与表达式值为 1,执行分支语句 a=5。 【知识模块】 C语言程序设计 16 【正确答案】 B 【试题解析】 程序代码中有四条并列的 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。 【知

10、识模块】 C语言程序设计 17 【正确答案】 C 【试题解析】 含 else子句的 if语句的格式为 if(表达式 )语句 1 else 语句 2 其中 if和 else是 C语言的关键字。 “语句 1”称为 if子句, “语句 2”称为 else子句,这些子句只允许为一条语句,若需要多条语句时,则应该使用复合语句,对于 if和 else语句的嵌套原则是比较自由的。 【知识模块】 C语言程 序设计 18 【正确答案】 B 【试题解析】 本题主要考查 if和 switch结构。 “if(a=1)a=b; else a+; ”代码段的功能是如果 a等于则把 b的值赋值给 a,否则 a+。选项 A)

11、使用 switch对 a进行判断,如果是 1则 a=b,跳出 switvch,如果是其他值则 a+;选项 B)对 a=1的结果进行 switch判断,如果为 0表示 a不等于 1则 a=b,和题目要求不符合;选项 C)和选项 A)一样;选项 D)和选项 case条件相反,满足题目要求。 【知识模块】 C语言程序设计 19 【正确答 案】 B 【试题解析】 本题考查 switch的使用。选项 A)中的 case 0和 case 4没有 break语句:选项 B)正确;选项 C)中的 case后面不是常量,错误;选项 D)中 switch后面没有括号。 【知识模块】 C语言程序设计 20 【正确答

12、案】 D 【试题解析】 本题考查的是用 switch语句实现多分支选择结构,首先进入第一个 switch(x)判断,进入 case 1中进行嵌套判断,如果 switch(y)也成立, a自加 1,遇到 break,退出嵌套,接着执行 case 2, a自加为 2, b自加为 1,遇到 break,结束循环,此时 a=2, b=1。 【知识模块】 C语言程序设计 21 【正确答案】 A 【试题解析】 在 C语言中, switch()后一对圆括号中的可以是整型表达式或字符表达式。 case语句后面的常量表达式的类型必须与 switch后圆括号中的表达式类型相同,各 case语句标号的值应该互不相同

13、,选项 B)中 switch后括号表达式出错,选项 C)中 case后面的常量类型不正确,选项 D)中 case后面出现了变量表达式,所以 D)不正确。 【知识模块】 C语言程序设计 22 【正确答案】 C 【试题解析】 break为 C语言关键字,又称间断语句。 break语句的功能是跳出正在执行的条件语句或循环语句。它可以出现在 switch语句中,也可以出现在循环语句中。 default是关键字,起标号的作用,代表所有 case标号之外的那些标号。 default标号可以出现住语句体中任何标号位置上。在 switch语句体中也可以没有 default标号。 【知识模块】 C语言程序设计

14、23 【正确答案】 B 【试题解析】 因为变量的初始值分别为 k=5, n=0,所以程序第 1次 进入循环时,执行 default语句, “n=0, k=4”,没有 break语句,因此执行 case 2分支语句, n为 2, k为 3,程序进行第 2次循环,执行 “case 3: n=3, k=2”,输出 n值为3,程序进行第 3次循环,执行 case 3这个分支,结果是 “n=5, k=1”,打印出 5;这时因为 n=5不满足 n 5的循环条件,因此退出循环,程序运行结束。 【知识模块】 C语言程序设计 24 【正确答案】 A 【试题解析】 if else语句的含义是,如果变量 a的值等于

15、 1,则把变量 b的值赋给变量 a,否则,变 量 a的值加 1。在本题的 4个选项中,与其含义不同的是选项A),表示如果变量 a的值等于 1,则把变量 a的值加 1,否则,把变量 b的值赋给变量 a。 【知识模块】 C语言程序设计 25 【正确答案】 C 【试题解析】 本题考查的是用 switch语句实现多分支选择结构,首先进入第一个 switch(x)判断,进入 case 1中进行嵌套判断,如果 switch(y)也成立, a自加 1,遇到 break,退出嵌套,接着执行 case 2, a自加为 2, b自加为 1,遇到 break,结束循环,此时 a=2, b=1。 【 知识模块】 C语

16、言程序设计 26 【正确答案】 A 【试题解析】 使用 switch语句直接处理多个分支,其 一般形式为: switch(表达式 ) case常量表达式 1: 语句 1: break; case常量表达式 n: 语句 n; break; default: 语句 n+1; break; switch语句的执行流程是:首先汁算 switch后面圆括号中表达式的值,然后用此值依次与各个 case的常量表达式比较,若圆括号中表达式的值与某个 case后面的常量表达式的值相等,就执行此 case后面的语句,执行后遇 break语句就退出switch语句;若圆括号中表达式的值与所有 case后面的常量表达

17、式都不等,则执行 default后面的语句 n+1,然后退出 switch语句。 对于选项 B), case语句和常量之间没有空恪,而选项 C)中的 case后面为变量,选项 D)中 switch后面没给出圆括号。 【知识模块】 C语言程序设计 27 【正确答案】 C 【试题解析】 本题考查 if语句,在 C语言中, else总是和之前与其最近的且不带else的 if配对。 【知识模块】 C语言程序设计 28 【正确答案】 C 【试题解析】 题干中的表达式的功能是当 a b并且 b c时,变量 k的值等于1,其余情况下,变量 k的值都是等于 0。 【知识模块】 C语言程序设计 29 【正确答案

18、】 C 【试题解析】 while语句中表达式是循环条什,语句为循环体。 while语句中当表达式计算的值为真 (非 0)时,执行循环体语句。因此条件 表达式执行的次数总是比循环体多一次。 【知识模块】 C语言程序设计 30 【正确答案】 B 【试题解析】 在 while循环中每次变量 y的值减 1,直到其值等于 0时退出循环,这时 y的再减 1变为 1。 【知识模块】 C语言程序设计 31 【正确答案】 C 【试题解析】 在程序语句中, k的初始值为 5,进行第 1次 while循环后, k自减1为 4,非 0,执行循环体里的 printf语句,输出 1,此时 k的值变为 1。程序执行第 2次

19、循环时, k自减 1变为 0,为假,退出 while循环语句。所以程序的最 后结果为 1。 【知识模块】 C语言程序设计 32 【正确答案】 C 【试题解析】 while循环语句的循环体为空语句,所以每一次循环程序什么都不做。当循环自变量 y=0时,退出循环结束,变量 y执行自减运算,得 1,所以打印输出变量 y的值 1。 【知识模块】 C语言程序设计 33 【正确答案】 B 【试题解析】 这道试题主要考查了 switch和 break语句,当变量 s的值为 1时,执行 case1、 case 2两条语句,输出 65;当变量 s的值为 2时,执行 case 2语句,输出 6;变量 s的值为 3

20、时,执行 case3、 default两条语句,输出 64;变量 s的值为 4时,执行 default语句,输入 5;变量 s的值为 5时,执行 default语句,输出6;变量 s的值为 0时,程序运行结束。 【知识模块】 C语言程序设计 34 【正确答案】 C 【试题解析】 在 while语句中,先判断 while后面的表达式是否为 0,如果为 0,则退出循环,否则执行循环体。在本题中,当变量 a的值经过几次循环后,其值等于 0时,退出 while循环语句,变量 a再执行自减运算,所以其值等于 1。 【知识模块 】 C语言程序设计 35 【正确答案】 A 【试题解析】 在 while(E)中,表达式 E可以是 C语言中任意合法的条件表达式,但不能为空,由它来控制循环体是否执行。在选项 A)中表达式 E 0E 0是一个逻辑表达式。 【知识模块】 C语言程序设计

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

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