第一章习题解答(李梅)
一、选择题
1—7:B A D C A B C 备注:
2:参考P8页中的标识符命名规则 3:参考P8页中的表1.1 二、填空题
1:编辑、编译、连接、运行 2:.obj 3:.exe 4: 编译 5:文件 6:【1】char ch; 【2】”%d\\n”,ch 备注:
知识点参考P12页的C语言开发过程 三、编程题
备注
参考答案第2题有问题,注意数据类型转换:
比如语句hs=9/5*ss+32,其中9/5运算结果是1,是要的中间结果吗?
第二章习题解答(蔡晓妍)
1
一 选择题
1. D (考查不同类型在内存中所占字节) 类型 short int char float double unsigned char long int 长度/字节 2 4 1 4 8 1 4 2. D (这个内容跟我们没有多大关系) 3. A (考查不同类型数据的有效范围)
由表2.2可知,short int的取值范围是 -32768-32767 037是8进制数,相当于十进制数31 0xaf是十六进制数,相当于十进制数175
4. A (考查常数的表示方法)
A选项中:xcdf没有这个表示方式,017为八进制数,0xe为十六进制数,123为十进制
数
B选项中:160为十进制数,0xffff为十六进制数,011为八进制数,0L表示长整数 C选项中:01为八进制数,32768u为无符号整数,0617为八进制数,0x163为十六进
制数
D选项中:0x48a为十六进制数,0205为八进制数,0x0为十六进制数,-256为负数。 5. A (考查整型常数的表示方法) 6. A (考查无符号字符型的表示范围)
参见书中第25页的表2.2
2
7. D
这个题本身是有错的,D选项应该是少了一个单撇号,A选项的错误解释见24页 8. D
考查不同类型整数尾符的表示方法,前三个既可表示成整数,也可以理解为长整型,只有D才明确地由尾符L表示为长整型了。 9. B
(考查字符与整型数之间的转换,说明字符在内存中是以整型数的形式存放的) 参见P319页的“附录C:ASCII代码表”
字符B的ASCII码值为66,字符E的ASCII码值为69,字符a的ASCII码值为97,字符A的ASCII码值为65, 所以,c2-c1=69-66=3,c2+’a’-‘A’=69+97-65=101,但由于按照%c的格式输出,所以ASCII码值101对应的字符为e。
10. C (考查不同数制型数据的转换与表示)
printf语句中的%d,意味着需要按照十进制整数形式打印出结果。
u=010为八进制数,转化为十进制数为1?81?0?80=8 v=0x10为十六进制数,转化为十进制数为1?161?0?160=16
w=10本身就是十进制数 11. C (同第9题) 12. B
这个题向我们展示这样一个道理,当我们向计算机表示不同进制数据时,我们必须按要求写上前导符,如0开头啊,0X开头什么的,但计算机向我们表示各种进制时是没有前导符的,除非我们自己设置。
k=15为十进制数,而在printf语句中,需要将该数分别用十进制数,八进制数以及十六进制数表示。
13. C (考查宏定义常数)
3
参见第28页“(1)宏定义”相关内容 14. A (考符符号定义常数)
参见第28页“(2)const定义”相关内容 15. B (考查scanf的数据输入)
参见第35页的一句话“当一个scanf()函数中包含若干个输入项或几个scanf( )函数连续出现时,可以依次输入几个数据,各数据之间只能用空格、制表符或回车符分隔,其他符号都不能作为分隔符”。
选项B中,各数据是用逗号分隔的,所以错误。 16. B (考查点与第15题相同) 17. A (考查点与第15题相同) 18. B (考查点与第15题相同) 二 填空题
1. 2个字节,1个字节
“C”是字符串常量,由第25页的一句话“一个含有n个字符的字符串常量要占用n+1个字节的存储空间”,因此“C”占用的存储空间为1+1=2个字节 ‘C’是字符常量,占用1个字节 2. #define 标识符 字符串 3. unsigned int,double,char
参见第22页“3. 基本数据类型的扩展” 4. 10,8,16 5. 4
参见第23页的表2.2 6. stdio.h 7. 0,%s 8. 5.0, 4, c=3 9. a=1,b=2 三 编程题
4
相关推荐: