C语言章节练习题参考 答案

上传人:101****457 文档编号:45880822 上传时间:2018-06-19 格式:PDF 页数:28 大小:391.03KB
返回 下载 相关 举报
C语言章节练习题参考 答案_第1页
第1页 / 共28页
C语言章节练习题参考 答案_第2页
第2页 / 共28页
C语言章节练习题参考 答案_第3页
第3页 / 共28页
C语言章节练习题参考 答案_第4页
第4页 / 共28页
C语言章节练习题参考 答案_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《C语言章节练习题参考 答案》由会员分享,可在线阅读,更多相关《C语言章节练习题参考 答案(28页珍藏版)》请在金锄头文库上搜索。

1、祝大家一次性通过考试! !全国计算机等级考试 C 语言习题答案坚持就是胜利!第 1 页 共 28 页第第 1 章程序设计基本概念选择题章程序设计基本概念选择题1.解析: 计算机语言分为低级语言、汇编语言和高级语言,C 语言属于高 级语言,但并不是说 C 语言比其他语言高级,选项 A)错误;除了低级语 言外,其他各种语言都必须编译成能被计算机识别的二进制数才能执行, 选项 B)错误;C 语言出现于 1972 年至 1973 年间,并不是出现最晚的语 言,选项 D)错误。 2.解析: 本题考查最简单的 C 程序设计知识。在做题之前一定要慎重对待 题干的主要信息,本题所描述的是“3 种基本结构”,而

2、选项 B) ,C) ,D) 三个选项则表达的是零零散散的循环结构。3.解析: C语言相对其他高级语言来说,放宽了语法检查,因此程序设计自 由度大,但并不是不检查语法,C语言的程序是由函数构成的。函数不能 嵌套定义,但是可以嵌套调用。4.解析: 本题综合考查C语言的概念部分,关于C语言,我们应该了解以下 必须要掌握的基础知识: C程序是由函数构成的。 一个函数由两部分组成:函数的首部和函数体。 一个C程序总是从main函数开始执行的,而不论main函数的整个程序中 的位置如何(main函数可以放在程序最开始,也可以放在程序最后,或写 在一些函数之前,在另一些函数之后) 。 C程序在书写上,表现形

3、式比较自由,一行内可以写几个语句,一个语 句可以分写在几行上。每个语句和数据定义的最后必须有一个分号。 C程序本身没有输入输出语句。输入和输出的操作是由库函数scanf和 printf等函数来完成。 可以用/*/对C语言的程序的任何部分作注释。5.解析: 本题考查C语言的综合基础知识。构成C程序的基本单位是函数, 一个C程序总是从main函数开始执行,而不论main函数在整个程序中的位 置如何。C语言的函数定义都是互相平行、独立的,在定义函数时,一个 函数内不能定义另一个函数。C函数定义的一般格式有两种:传统格式和 现代格式。传统格式也称K。6.解析: 在C语言中,“%”运算符两侧的运算数必须

4、是整型。7.解析: x+y的值为实型7.200000,经强制类型转化成整型7。a%3的值为1, 1*7的值为7,7%2值为1。1/4的值为0,而非0.25,因而为两个整数相除的 结果为整数,舍去小数部分。与实型x相加,最终得结果为2.500000。8.解析: 在选项A)中的语句没有一条是错误的。选项B)和C)中有一个 逗号表达式,选项B)中是x=0,y=x+1;在选项C)中是y=x+1,z=x+y;所以B) 和C)中也没有错误。选项D)中的最后一条语句是以逗号结束的,而C 语言中不能用逗号作为一个语句的结束标志,每一条语句最后应该是分号,所以D)选项中的程序是错误的。 9.解析: 40000已

5、经超过了C语言规定的短整型的范围。要将这样的数赋值 给一个长整型的变量,需要在整型常量后面加字母L。 10. 解析: 逗号表达式的形式如下: 表达式1,表达式2,表达式3,. ,表达式n 逗号表达式的要点:1)逗号表达式的运算过程是从左往右逐个计算表达 式。2)逗号表达式作为一个整体,它的值为最后一个表达式(也即表达 式n)的值。3)逗号运算符的优先级别在所有运算符中最低。 11. 解析: 当自加运算符做后缀表达式的时候,表达式的值不变,只有变量 的值增1,所以表达式(x+*1/3)相当于(11*1/3)取整后为3。12.解析: 在C语言中,实数有两种形式表示,即十进制数形式和指数形式, 在指

6、数形式中,e3、2.1e3.5、.e3、e等都是不合法的指数形式。再如123e3 或123E3都代表123乘以10的3次方。注意,字母e的前面必须有数字,且e 的后面必须是整数。 13. 解析: 根据混合运算规则,如果有一个数据是float型或double型,则其他 数据类型先转化为double型,运算的结果最终也是double型。14.解析: 本题考查逗号表达式的用法。C语言中逗号“,”也是一种运算符, 称为逗号运算符。其功能是把两个表达式连接起来组成一个表达式,称为 逗号表达式。其一般形式为:表达式1, 表达式2 其求值过程是分别求两 个表达式的值,并以表达式2的值作为整个逗号表达式的值。

7、逗号表达式 的一般形式可以扩展为:表达式1,表达式2,表达式3,表达式n,它的值为 表达式n的值。15.解析: 字符A要转换成相应的ASC码值, 由于运算结果要赋值给int 型变量,所以对1.6进行取整运算,最后a的值应是66。 16. 解析: 选项A) ,C) ,D)答案中的n没有按题目要求进行任何转换,得到 的结果达不到题目的要求,选项B中,先求出n*100+0.5的值,n的第3位小 数四舍五入,后面的小数忽略变成整数m,将m/100.0的值赋给n时,先转 换其类型,然后再赋值给n,即达到题目要求。 17. 解析: 8进制中,不可能包括8以上的数字,它的范围只在07之间,以0 开头。同样,

8、十六进制是以0x开头,数字在09和af之间。祝大家一次性通过考试! !全国计算机等级考试 C 语言习题答案坚持就是胜利!第 3 页 共 28 页18. 解析: k=n+的意思是先将n的值赋给k,然后n的值再加1,选项A)符合 题意;选项C)是先使n的值加1,然后再赋值给k;选项D)等价于k=k+ (n+1) 。 19. 解析: 选项A)错误,因为在C语言中,各语句间可以用分号隔开,一行 可以书写多个语句;选项B)错误的原因是,忽略了C语言中进行运算的 数据类型必须一致的规定,因此实型变量中不允许存放整型数,存放整型 数据其实是把整型转化为实型在存放。选项C)错误的原因是由于实型变 量是用有限的

9、存储单元存储的,因此能提供的有效数字总是有限的,在有 效的位以外的数将被舍去,由此可能产生一些误差。 20. 解析: C语言中规定,标识符只能由字母、数字和下划线三种字符组成, 且第一个字符必须是字母或下划线,而且标识符不能是C语言的关键字。 21. 解析: “%”是求余运算符或模运算符,“%”两侧均应为整型数据,选项A) 中的x是double型数据。 22. 解析: 运算符“%”的两侧都应该是整型数。另外,本题需要掌握的知识 点是:x%=k,等价于x=x%k。 23. 解析: 解答本题时,我们必须要明白“进制”数的表示方法。按不同的进 制区分,整型常数有3种表示方法: 十进制数: 如:220

10、,-560,45900 八进制数:以0开始的数数字范围07. 如:06,0106,05757 十六进制数:以0X或0x开始的数数字范围09,af或AF 如:0X0D,0XFF,0x4e,-0x48a 另外,可在整型常数后添加一个“L”或“l”字母表示该数为长整型数, 如22L, 0773L,0Xae4l。 24. 解析: 本题需要掌握的知识点是:逗号表达式的求解步骤,另外,注意一 下两个整数相除的结果仍为整数。了解了知识点后,本题就可以逐步求解 了: x=2 y=x+3/2 y=2.000000+1y=3.000000 25. 解析: 本题中,“ ()”的优先级是最高的,“*”和“/”的优先级

11、别相同,运 算方向是从左向右。 26. 解析: 选项A)中的赋值方法为Pascal语言赋值格式;C语言中赋值直接 为“=”无冒号;选项D)中“x+5y+2”赋值格式错误,赋值号左边不可以 出现常量,也不可以同时出现两个变量。选项C)应改为(float)8%3 27. 【命题目的】考查+运算符的掌握情况。 【解题要点】当+运算符做后缀使用时,只有这个语句结束时候,变量才 被增1。 【错解分析】由于+是后缀形式,所以先取m的值进行计算,k=-1,然后再 将m加1。 【考点链接】在 C 语言中,+运算符和负号运算符是同优先级别,结合 方向为“自右向左”。 28. 【命题目的】这个题目考查的是对于强制

12、转换类型的掌握情况。 【解题要点】强制类型转换表达式的形式如下: (类型名)表达式,取余 运算符(%)的运算对象只能是整型。 【错解分析】由于取余运算符的运算对象只能是整型,所以强制转换运算 符号应该把浮点型转化为整型。 【考点链接】取余运算为负数的时候,所得结果随机器的不同而不同。 29. 【命题目的】考查对于标识符的掌握情况。 【解题要点】合法的标识符是由字母、数字和下划线组成,并且第一个字 符必须为字母或下划线,用户定义的标识符不能与关键字相同。 【错解分析】选项A) ,数字不能为第一个字母,auto为关键字;选项C) 中,也是数字不能为第一个字母,else为关键字;选项D)中负号不合法

13、。 【考点链接】C语言允许用户把预定义标识符另做它用,但这将使这些标 识符失去系统规定的原意。 30. 【命题目的】考查基本运算符运算对象的掌握情况。 【解题要点】取余运算符的运算对象只能是整型,所以这个k=m%2取余不 合法。 【考点链接】所有的双目运算符两边运算数的类型必须一致才能进行操祝大家一次性通过考试! !全国计算机等级考试 C 语言习题答案坚持就是胜利!第 4 页 共 28 页作,如不一致,要进行类型转换。 31. 【命题目的】考查对于+和-运算对象的掌握情况 。 【解题要点】按照C语言的规定,常量和表达式是不能进行+或-运算。 【错解分析】按照C语言的规定,常量是不能进行+或-运

14、算的,所以选 择D) 。 【考点链接】前缀+,-和后缀+,-的区别。填空题填空题1.此表达式为三目运算符,a的值为6,b的值为6,则整个表达式的 值为+a的值,a的值为7。请注意前缀,-和后缀,-的区别。 2.【命题目的】考查对于基本运算符的掌握情况。 【解题要点】+和-做前缀使用的时候,先对变量进行增1或减1,之后进 行其他的运算。 【考点链接】赋值运算符的优先级仅仅高于逗号运算符。 3.【命题目的】考查对于数据的格式化输出的掌握情况。 【解题要点】八进制的65转换为十进制的53之后减1输出。 【考点链接】0开头的是八进制整数。顺序结构顺序结构1.解析: 在 C 语言中,当一次输入多个数据的

15、时候,数据之间要用间隔符, 合法的间隔符可以是空格、制表符和回车符。逗号不是合法的间隔符。 2.解析: 本题中a的值为6,b的值为8,最后s的值为8,s*=s等价于ss*s。3.解析: printf函数的浮点数缺省输出格式:在printf函数的输出中,若无 输出宽度限制,每种数据都有一个缺省的输出宽度,一般浮点数的小数位 数则是6位,不管输出格式是%f或%lf皆如此。 printf函数的浮点数宽度限制输出:以%mf或%mlf格式输出浮点时,如 果指定的宽度大于实际数据宽度,按指定宽度输出,且多余数补以空格; 如果指定的宽度小于实际数据宽度,浮点数的整数部分将以实际数据(位 数)输出。小数部分按

16、指定数输出,且对数据做四舍五入处理。 printf的整数限宽输出:没有宽度制的整数原数输出。在宽度限制于数的实际位数时,宽度说明无效,按数的实际位数输出。4.解析: 在C语言所有的运算符中,逗号运算符的优先级最低。C语中区分 大小,所以APH和aph是两个不同的变量。赋值表达式a=b表示将b的值付 给a,而b本身的值保持不变;通过键盘可以向计算机输入允许的任何类型 的数据。选项D)中当从键盘输入数据时,对于整型变量可以输入整型数 值和字符,对于实型变量可以输入实型数和整型数值等。 5.解析: 本题中,程序先执行语句 x=1.2;,根据赋值运算的类型转换规则, 先将double型的常量1.2转换为int型,即取整为1,然后将1赋值给变量x。 接下来执行语句y=(x+3.8)/5.0;根据运算符的优先级,先计算小括号内, 再计算除法,最后执行赋值运算。小括号内的运算过程:先将整型变量x 的值1转换为doubl

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号