资源描述:
《c语言程序设计答案 曹计昌》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第一章习题1.4原码:对于一个二进制数X,如果规定其最高位为符号位,其余各位为该数的绝对值,并且规定符号位值为0表示正,为1表示负,采用这种方式的二进制编码称为该二进制数X的原码。补码:正数的补码等于正数的原码,负数的补码为其原码除符号位不动外,其余各位变反再加1所得。反码:对于正数而言,反码与原码相同;对于负数而言,反码符号位的定义与原码相同,但需要将对应原码的数值位按位变反。1.5和:10101010差:000100001.6和01073 差-03371.7和0x1AABA差-0x53201.8(251)1
2、0=(11111011)2=(373)8=(FB)161.10在16位机中,[157]补=0000000010011101 [-153]补=1111111101100111157-153=157+(-153)=(0000000010011101)2+(1111111101100111)2=(0000000000000100)2=(4)101.14算法设计:用变量s存储累加和,k表示计数描述为:(1)定义变量s,k。(2)s清零,k赋初值1。(3)判断k<101?如果是,顺序执行(4);否则转
3、步骤(5);(4)k加到累加和变量s中,k加1;转步骤(3)。(5)输出累加和s。(6)结束。 开始结束ints=0,k=1;k<101?s=s+k;k=k+1;输出sNY1.16 第二章习题2.2(1)x,++,+,y(2)-,0xabL(3)2.89e+12L(4)”String+”FOO””(5)x,*,*,2(6)”X??/”(7)a,?,b(8)x,--,+=,y(9)intx,=,+,10(10)”String”,“FOO” 2.3不是表识符的如下:4th首字母为数字 sizeof关键字 x*y*
4、不是字母、数字、下划线temp-2-不是字母、数字、下划线isn’t ’不是字母、数字、下划线enum关键字 2.4合法常数:.12 0.L 1.E-5 3.F 浮点型常量2L 33333 0377UL0x9cfU 整型常量“a” “” 字符串常量‘45’ ‘’ ‘a’ 字符常量 非法常数:‘‘’必须用转义序列0x1ag十六进制没有gE20没有尾数部分‘18’ 要用八进制数‘xa’格式错误,可以是’xa’“3’4”” 需要
5、转义序列‘”’ 需要转义序列 2.5(1)inta,b=5;(2)doubleh;(3)intx=2.3;0.3会被截取。(4)constlongy=1;必须赋初值(5)floata=2.5*g; g没有定义。(6)inta=b=2;在turboC中编译出错:未定义的符号’b’在main函数中。 2.6 (1)4(2)0(3)1(4)6(5)8(6)0(7)3.00(8)1(9)108(10)0 2.7 答案不确定(1)a==b==c c未定义(2)正确(3)正确(4)正确(5)a*++-b 表达式缺值(6)
6、a
7、
8、b^i ^运算的操作数必须是整型,而i不是(7)i*j%a %运算的操作数必须是整型,而a不是(8)正确(9)正确(10)int(a+b) 应该改成(int)(a+b) 2.9(1)0(2)-2(3)65535(4)5(5)60(6)113(7)-2(8)-1(9)65532(10)3 2.10unsignedlongencrypt(unsignedlongx){ unsignedlongx0,x1,x2,x3,x4,x5,x6,x7; x0=(x&0x0000000F)<<8; x1=(x&0x0
9、00000F0); x2=(x&0x00000F00)<<8; x3=(x&0x0000F000); x4=(x&0x000F0000)<<8; x5=(x&0x00F00000); x6=(x&0x0F000000)>>24; x7=(x&0xF0000000); return(x0
10、x1
11、x2
12、x3
13、x4
14、x5
15、x6
16、x7);} 2.11#includevoidmain(){ unsignedlongin;unsignedlonga,b,c,d;scanf("%ld",&in)
17、;//in=1563;a=(in&0xff000000)>>24;b=(in&0x00ff0000)>>16;c=(in&0x0000ff00)>>8;d=in&0x000000ff;printf("%d.%d.%d.%d",a,b,c,d);} 2.15((k>>8)&0xFF00)
18、((p&0x00FF)<<8) 2.16max=a>b?a>c?a:c:b>c?b:c