校园网新视野教育全国计算机等级考试二级C语言笔试习题集答案及解析.pdf_第1页
校园网新视野教育全国计算机等级考试二级C语言笔试习题集答案及解析.pdf_第2页
校园网新视野教育全国计算机等级考试二级C语言笔试习题集答案及解析.pdf_第3页
校园网新视野教育全国计算机等级考试二级C语言笔试习题集答案及解析.pdf_第4页
校园网新视野教育全国计算机等级考试二级C语言笔试习题集答案及解析.pdf_第5页
已阅读5页,还剩48页未读 继续免费阅读

校园网新视野教育全国计算机等级考试二级C语言笔试习题集答案及解析.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

校园网.新视野教育全国计算机等级考试二级 c 语言笔试习题集答案及解析 1 c 语言基础知识 一,选择题 1答案是 a a 正确 b 可以作为复合语句的标志 c main 函数不是用户命名的 d 分号是语句结束的标志,肯定是语句的一部分 做这个题目需要对书上的概念透彻的理解 2答案是 a a 错误用户标识符:命名时, 标识符的选择由用户自定, 但是不能与关键字相同, 所以 a 选项错误。这个题目考察用户标识符 3答案是 b 用户标识符是标识符,所以可以是有下划线,但是中划线不属于字母, 数字,下划线其中一种。这个题目考察用户标识符的概念。 4答案是 b define 是预定义标识符,而预定义标识符可以是用户标识符,所以 define 可以是用户标识,if 是关键字,而关键字不能是用户标识符, 所以 if 不可以是用户标识符 5答案是 d long 是关键字,参照附录二 注:6-13考察用户标识符概念 6答案是 d d 答案以数字 2 开头了,不符合标识符定义 7答案是 c c 答案以数字开头了 8答案是 d int是关键字 9答案是 b 答案 a 是关键字,答案 c 是以数字开头了,不符合概念,答案 d 出 现了小数点 10答案是 a 答案 a 出现了小数点 11答案是 c 答案 c 以数字开头了 校园网.新视野教育全国计算机等级考试二级 c 语言笔试习题集答案及解析 2 12答案是 a b 答案中 float 是关键字,c 答案中 3c 以数字 3 开头了,d 答案中-5d 中 - 不属于字母,数字,下划线中一种 13答案是 a b 答案中-max 中-错误,c 答案中 3com 以字母 3 开头了,d 答案中 int 是关键字,不是用户标识符 14答案是 b a 答案中 15. 后面不应该有点,c 答案中出现了逗号,d 中字母 b 有 问题 15答案是 d visual c+6.0 中 int 类型的变量占的字节数为 4。 16答案是 b b 中出现了 8,而八进制只能有 0 到 7 组成 17答案是 d 答案 d 中开头是 0 不是 o 18答案是 c 答案 a 中 e 后面是整数,0.5 是小数 答案 b 中 e 后面不能为空 答案 d 中 e 前面不能为空 本题目考察指数的表示形式 19答案是 c 答案 a 中 2.0 有问题,不能为小数形式 答案 b 中 e 前面不能为空 答案 d 中 e 后面不能为空 本题目考察指数的表示形式 20答案是 a b 中八进制中不能出现数字 8,c 中 e 后面不能是小数,d 中 e 后面 不能为空 21答案是 b b 中 0.4 是小数,不正确 22答案是 c c 中 0.5 是小数,不正确 校园网.新视野教育全国计算机等级考试二级 c 语言笔试习题集答案及解析 3 23答案是 d 3.6-5/2+1.2+5%2=3.6-2+1.2+1=3.8 本题目考察算术运算符,需要注意整数除以整数结果只能是整数 24答案是 d %不能用于实型的计算 25答案是 d d 答案中$不属于字母,数字,下划线 26答案是 a a 答案是逗号表达式,b 答案中 x+1=y 是赋值表达式,左边只能是变 量,而这里是 x+1, 同理答案 c 中 x+10 也是错误的,在 d 答案中, 考察的是强制类型转换, 正确的是(double)x/10 27答案是 a 本题考察的是注释需要注意的地方,具体解答见课本第 2 页中间部分 28答案是 b 答案 a 中 n2 没有定义,答案 c 中在定义 f 之前不能使用它,答案 d 中 e 后面必须是整数 29答案是 c 考察的是强制类型转换,正确的是 k%(int)f 30答案是 d 本题目类似与第七课时的例一,解题方法是要抓住+m,-n,-m, 表达式的值是变量变化之后的值,而 n-表达式的值是变量 n 变化之 前的值 31答案是 b 本题目考察的是负 整数与无符号正整数在计算机中存放的格式的一样的,但表示的不 同的两个数 32答案是 c a 答案中%运算对象不能为实型,26.8 错误,b 答案中考察的赋值 运算符,赋值运算符左边必须是变量,所以赋值运算符左边 1+2 错 误,同理答案 d 错误 33答案是 c 本题目考察的是课本第 15 页的关于自加与自减运算符的第一点说 明,即增量运算符的运算对象只能是变量,而在 c 答案中+(i+1) 校园网.新视野教育全国计算机等级考试二级 c 语言笔试习题集答案及解析 4 中,i+1 是表达式 34答案是 b 本题目考察的是整数除以整数结果是整数,在 b 答案中 1/2 结果是 0,导致整个 表达式的值是 0,明显是错误的 35答案是 d 对于+、-单目运算符来说,其运算对象可以是 char 型、int 型和 float 型变量 36答案是 a 本题目主要考察 n+表达式的值是 n 变化之前的值,然后使 n 的值增加 1 37答案是 b c=a/b+0.4c=8/5+0.4c=1+0.4c=1.4因为 c 是 int 型的,所以 c 的值 是 1 ,做此题目需要仔细阅读题目 38答案是 d (int)a+b/b=(int)5.5+2.5/2.5=5+1.000000=b=6.000000 同样 a,b 的类型是 double 型的 39答案是 d long 和 short 不能相互修饰 40答案是 c 标识符中不能有$ 答案是 c a 选项中,在变量赋值时不能赋给表达式,而 y*5 是表达式;选项 b 中进行强制类型转换 时,类型标识符要加上括号,所以错误;选项 d 中,%(求余运算符)运算对象只能是整 形数。 42答案是 a 选项 a 中,b 变量还没有定义 43答案是 c 选项 a 中 long 是关键字;选项 b 中“-”符号不属于字母、数字或下划线;选项 d 中,int 是关键字。 44答案是 b 选项 a 中,八进制数只能由 07 之间的数字组成;选项 c,十六进制数应该以 0x 开头, 并且由 09 以及 af 组成,oabc 不正确;选项 d 中 10,000 包含逗号,不正确。 45答案是 b c 语言的标识符中只能包含字线、数字和下划线,没有连接符。 校园网.新视野教育全国计算机等级考试二级 c 语言笔试习题集答案及解析 5 46答案是 c 既然在内存中,字符数据以 ascii 码存储,它的存储形式就与整数的存储形式类似。这样 使字符型数据和整型数据之间可以通用。 一个字符数据既可以以字符形式输出, 也可以以整 数形式输出。以字符形式输出时,需要先将存储单元中的 ascii 码转换成相应字符,然后 输出。以整数形式输出时,直接将 ascii 码作为整数输出。也可以对字符数据进行算术运 算,此时相当于对它们的 ascii 码进行算术运算。 47答案是 d 不同的计算机系统或者编译系统,对 3 种整数类型所占用的字节数有不同的规定。 48答案是 a 选项 b 中求余运算(%)的运算对象必须是整型;选项 c 中,赋值运算符(=)的左边必须 是变量,不能是常量或表达式;选项 d 与选项 c 同理。 49答案是 a +运算符有前缀和后缀两种形式,本题中的选项 c 就是前缀形式,其表达式的 值为增 1 后的值,而选项 a 为后缀形式,其表达式的值为增 1 之前的值。而选项 b 和 d 的 表达式都是 k 加 1 之后的值 50答案是 a 51答案是 c 选项 a 中将一个变量 j 的值赋给了一个表达式,这种写法是错误的,只能给变 量赋值,而不能给常量和表达式赋值;选项 b 中强制类型转换的格式使用出错,强制类型 转换时,类型标识符必须用括号括起来;选项 d 中,求余运算符(%)的两端必须是整形 数。 52答案是 d 字符常量是用单引号括起来的单个字符,所以选项 b 错误;此外还有一种特殊 的字符专为控制设计,称为转义字符,有三种转义字符:一种是由一个“”开头加一个普 通字符组成,代表一个字符。如 表示一个单引号字符,所以选项 d 正确; 表示 一个斜杠字符,而选项 c 中的则是错误的;用“”与其后的 13 位八进制数字构成的 字符序列,表示 ascii 码等值于该八进制数的字符;用“x”与其后的 12 位十六进制数字 构成的字符序列,表示 ascii 码等值于该十六进制数的字符;所以选项 a 错误。 53答案是 b 字符常量是用单引号括起来的单个字符,所以选项 a 正确;此外还有一种特殊的字符专为 控制设计,称为转义字符,有三种转义字符:一种是由一个“”开头加一个普通字符组成, 代表一个字符。如n表示一个换行符,所以选项 d 正确;用“”与其后的 13 位八进 制数字构成的字符序列,表示 ascii 码等值于该八进制数的字符,所以选项 b 错误,因为 9 不是八进制数字;用“x”与其后的 12 位十六进制数字构成的字符序列,表示 ascii 码等 值于该十六进制数的字符;所以选项 c 正确。 校园网.新视野教育全国计算机等级考试二级 c 语言笔试习题集答案及解析 6 54答案是 d 大写字母的 ascii 码值比小写字母的 ascii 码值小 32 55答案是 a 选项 a 中的字符变量 ch 只能接收单个字符, ab不是单个字符,所以错误。 56答案是 b char x=c将一个大写字母赋给了字符型变量 x;然后通过 x=x+32 将 x 中字符的 ascii 码值加 32,即为小写字符c的 ascii 码值;然后将 x 以字符形式输出,即为小写字母 c。 57答案是 a 语句 char x,y;定义两个字符型变量 x,y;然后通过 x=b-a+a将用大写字母 b 的 ascii 码送去大写字母 a 的 ascii 码, 结果便为 1, 然后再加上小写字每 a 的 as cii 码, 结果就为小写字母 b 的 ascii 码,然后再赋值给变量 x;通过 y=x+2,将变量 x 中的 ascii 码值加 2, 即变成小写字母 d 的 ascii 码值再赋值给变量 y;然后以数值形式输出变量 x 中的 ascii 码值为 98,再以字符形式输出变量 y 中的字符为 d。 58答案是b 选项 a 中字符0的 ascii 码值为 48,所以 a 的结果不为 1;选项 b 中0代表空值, 空值 null 的 ascii 码值为 0 所以结果为 1;选项 c 中字符1的 ascii 码值为 49,所 以结果不为 1;选项 d 相当于用 0-48 结果也不为 1。 59答案是 d 如果要表示十六进制字符,则要用x开头,所以选项 a 错误;如果要表示八进制,则 0开头,后面跟 13 位的八进制数,八进制数由 07 组成,不包含 8,所以选项 b 错误; 用单引号括起来的单个字符才是字符常量,所以 c 错误;而n是转义字符,用来表示回 车符。 60答案是 b 用单引号括起来的单个字符,称为字符常量,所以选项 b 错误。 61答案是 c 先将 c1 变量中的字符的 ascii 码值输出,即为 65,将变量 c2 中字符的 ascii 码值减 2 后 输出,即为 66。 62答案是 a 我们知道异或运算,只有两个操作数不同,结果才为 1。所以 01=1,11=0,由此可推理, 任何数与 1 进行异或运算都得它的相反数;变量 b 中的高 4 位为 1,所以要让变量 a 的高 4 位取反,即可让变量 a 和变量 b 进行异或运算。 63答案是 a 变量 c1 和 c2 中的值相同,所以转换成二进制数后,对应的二进制位上的值也相同,当两值 相同时,只有进行异或运算,结果才为 0,所以 c1c2 值为 0。所以本题的正确答案为 a。 校园网.新视野教育全国计算机等级考试二级 c 语言笔试习题集答案及解析 7 64答案是 a 4|3 转换成对应的二进制数即 100|011=111 再转换为十进制数即为 7;而 4 b 66 b 在 ascii 码中派在 a 的后面 a 为 65,那么 b 为 66。 10 012 为八进制数,转换为十进制为 10。 12 34 在 scanf 函数中指定了宽度为 2,输入 123456,a=12,b=34,后面的 567 无效。 12 程序运行时输入 12,getchar()函数只能接受单个字符,所以 ch1=1,ch2=2。 n1=ch1-0, 转化为 ascii 码计算 n1=50-49, n1 的值为 1。 n2=n1*10+ (ch2-0) 转化为 ascii 码计算 n2 = 1*10+(51-49) ,n2 的值为 12。 第三章 选择结构 一、选择题 1、d 此题主要是考语句的特征。一条语句只包含一个分号,d 项有两个分号,应该是两条 语句,所以选 d。 2、c 此题主要是考真假条件的等价。题目中的 e 为非 0 时条件为真,为 0 时为假。那么把 非 0 和 0 带到选项中可知,c 项正好是 e 为 0 时表达式为真,非 0 时为假,所以选 c。 3、d 任意合法的表达式都可以作为逻辑运算符的运算对象 校园网.新视野教育全国计算机等级考试二级 c 语言笔试习题集答案及解析 13 4、d 此题主要是考逻辑运算和关系运算的优先级别.只要掌握!、算术运算和”语句,输出符号“x 的值为 16。 再执行 if 语句。 (x%3)为真,执行 x+,x 的值为 17,再执行 break;语句,退出循环体,结 束 while 语句的执行。最后输出 x 的值 17。 答案:d 在循环中当 x 等于 0,3,6,9 时 x%3 等于 0,这时会进入 if 语句执行 printf 语句,在输出 校园网.新视野教育全国计算机等级考试二级 c 语言笔试习题集答案及解析 19 前 x 会先自加。屏幕上输出 14710。 答案:d 分析:continue 语句会提前结束此次循环体的执行,不会结束整个 for 语句的执行。 答案:2345 选择中没有此答案。 解析:本题注意的是在循环第一次进入 switch 语句的时候是执行的 default 后面的语句块, 由于没有 break,所以还会执行 case2:case4:后面的语句。 答案:a 本题答案为 a 解析:a 首先执行+n,判断条件表达式 n0,进入 if 语句输出 x 的值为 8,然后 x 自减 1,执行 continue 立即进行下次循环条件判断。第二次循环 x=6,x%3=0,不进入 if 语句,执行 if 语句后面的 printf(“%d,”,-x),x 先自减 1 再输出得到 5。第三次循环 x=4,x%30, 进入 if 语句,输出 x 的值为 2,然后 x 自减 1,执行 continue 立即进行下次循环条件判断。 第五次循环 x=0,判断表达式 x0 为假。结束循环输出结果为 8,5,4,2。答案 d c 第一次循环 y=9, y%3=0, 进入 if 语句 y 先自减, 输出 y 的值为 8。 第二次循环 y=7, y%30,进入下次循环。第五次循环 y=3,y%3=0,进入 if 语句 y 先自减,输 出 y 的值为 2。第六次循环 y=1,y%30 为假结束循环。输出结果为 8,5,2。答案 c b 在第一层循环中,当 i 自加到值等于 3 的时候才会进入第二层循环 55%3=1。输出 m 的值为 1. b 外层循环 3 次,i 的值在内层循环中依次为 1,2,3 内层循环次数依次为 3,2,1 次。 d 代码“if(n%3!=0) continue;”无实际意义。当 n 自加到 4 的时候结束循环。答案 d 校园网.新视野教育全国计算机等级考试二级 c 语言笔试习题集答案及解析 20 b 需要填入的实际是每行输出“*”的个数,从图形看到每行“*”的个数是行数的两倍减一, i 可以代表行数。所以填入的是“2*i-1” 。答案 b a 0%任何数等于 0, 所以第一次循环的时候就进入了 if 语句退出了 for 循环。 i=21, i=0struct node * next;*”就是 已有类型名,给这个已民用工业类型所起的别名就是 node。所以,下面授定义语句可以将 node 用“struct nodeint data;struct node * next;*”替换掉,即完整的定义语句是“struct nodeint data;struct node * next;*p; ” 。由此可见,p 是指向 struct node 结构变量的指针,所 以选择 c。 17、d 解析: 本题考查共用体数据类型。 共用体的特点是该类型变量与所有成员的起始地址都相同, 且在每一个时刻所有的成员中只有一个有效, 即当一个成员被赋值, 其余的成员就不起作用 了,所以选项 d 错误。本题选择 d。 18、b 解析:第 10 题相同,解析见第 10 题。 二、填空题 1、2002shangxian 解析:对字符串的操作 strcmp(s1,s2)是比较两个字符串第一个不相同字母并返回首个不相同 字母的 ascall 码的差值,若第 i 个字母不同则上述字符串的返回值为(s1i-1-s2i-1),结果为 一个整数,题目先将结构体变量 a 赋值给 d 将,然后将结构体变量 b 赋值给 d,由于程序第 11 行中 if 后面的表达式不成立所以没有将结构体变量 c 的值给结构体变量 d,题目前面又将结 构体变量 d 的首地址赋值给结构体指针变量 p 所以此时,结构体指针 p 指向结构体变量 d, 那么题目最后输出的结果实际是结构体变量 b 中的内容。 2、structnode * 解析: 自身结构体指针变量的类型必须和定义的结构体相同, 由于是指针变量所以我们在后 面加一个*号 3、sizeof(struct node) 解析: 注意 mallco 函数的基本格式, 后面表示在内存中动态分配一个长度为 sizeof(struct node) 的连续空间,在链表中非常常见。 校园网.新视野教育全国计算机等级考试二级 c 语言笔试习题集答案及解析 49 4、struct date d = 2006, 10, 1 5、p!=nullp-next 或者(p+) 解析:null 表示空地址,一般是链表结束的标志。第二空实际上是一个改变链表中节点的 首地址的操作、 p=p-next 的作用在这里实际上是输出结构体指针所指下的结点中相应的值, 再将结构体指针指向下一个节点的首地址执行下一个节点中内容的输出操作。 6、-next-data 解析: p-next-date 等价于图中 q-date;由于链表时循环的 r-next 实际上是图中结构体指针 p 所 指 向 的 那 个 节 点 的 首 地 址 , 要 取 出 结 构 体 指 针 r 所 指 向 的 结 点 的 值 只 需 (r-next-next-next-date)或者 p-next-next-date 7、p-next 解析:如果要找最小值,就要对每一个结点的 data 成员进行比较,空白处要求填的实际是 结构体指针变量 p 的变化值,也就是指针 p 向后移,指向下一个结点的首地址,所以填 p-next。 8、personi.sex 解析:本题中说明了一个结构体类型 ss,并定义了一个该类型的数组 w,在主函数中调用 fun 函数,将数组 w 传递给形参数组 person,在函数 fun 中利用 for 循环控制来统计 person 数组中 sex 为 m 的记录的个数,在空白处需要填写数组中第 i(是循环变量)个元素的 sex 成员的值是否为 m,所以空处应该写成 personi.sex。 9、5 解析:程序中建立了一个结构体类型的数组,其中包含 3 个元素,将这个 3 个数组元素建立 成一个单向循环链表,每个元素是其中的一个结点,然后让 p 指向第一个结点(数组中第一 个元素) ;q 指向第二个结点(数组中第二个元素) ;r 指向第三个结点(数组中第三个元素)。 所以 q-next-num 就等价于 r-num 而 r-next-next-num 就等价于 q-num,所以 sum 就 是 r-num+q-num=2+3=5。 第十二章数组与函数 选择题 d 此题关键是:搞清楚函数声明内形参表的数据类型要与函数首部的形参表的数据类型要一 至 ,实际上形参表中传递的地址值,即指针形参选项 abc 中,都有一个或者两个形参 传递的不是指针形参 a 程序分析题 void chang(int k)的意义是将 k数组中第五个元素的值赋值给第零个元素 注意:chang(静态变量在函数结束时其其值不会消 失。故选 c 4、c 排序题 sort(int a,int n)函数实现的是将数组 a中的数按从大到小排列,故选 c 5、a 元素求和题 函数 sum(当 i=1 时 p1=当 i=3 时,p3=&x7,此时输 出 p30即 x7的值为 8,所以输出的结果为 2468。 4、4 解析:首先定义一个整型数组 a,然后让整型指针变量 p 指向数组 a 和首地址,也就是 p 指 向数组中第一个元素 a0,然后 p+,使指针后移,指向数组中第 2 个元素 a1,输出

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论