课后练习题答案
Chapter 1
1.1 ×√×√√×√××√ 1.2 b c 1.3 ad
1.4 semicolon printf math.h \\n
Chapter 2
2.1 ×√××√√×√××√× 2.2 typedef 255 external const
Chapter 3
3.1 ×√××√√×××√√√
3.2 integer modula 6 logical sizeof paratheses typeconversion precedence 3.3 F F T F F F 3.4 F T T T F 3.5 (b) (c)
3.6 0 -2 7 10.25 false 3 3 1 3.10 0 1 1 1 1 3.11 d } 100 3.12 110 111 3.13 1 3.14 200 3.15 x<=y 3.16 TRUE 3.19 2 1 4 3.20 -40 40
Chapter 4
4.1 ×√√√√√××√√√×
4.2 %hd %x ctype.h %l %*d [^] blank 6 - %e
4.4 (a) scanf(“%d %c %d”, &a, &b, &c); (b)scanf(“%d %f %s”, &a, &b, &c); (c) scanf(“%d-%d-%d”, &a, &b, &c); (d) scanf(“%d %s %d”, &a, &b, &c);
4.5 (a)10x1.230000 (b)1234x 1.23 (c)1234 456.000000 (d) “123.40 ” (e) 1020 1222(乱码)
4.7 (a)1988 x (b)乱码 (c)120 乱码 (d)乱码 x 4.8 (a)1275 -235.740000 (b) 1275 -235.740000 (c) 0 0.000000
(d) 1275xxxx-235.74 (e)Cambridge
(f)1275 Cambridge 4.10 1988 无 无
Chapter 5
5.1 √×√××××××√
5.2 && switch break if-else x=y
5.4 (a)x = 2; y = 0; (b) x = 1; y = 0; 5.5 (a) if (grade <= 59) if (grade >= 50)
second = second + 1;
(b) if (number > 100) printf(“out of range”); else if (number < 0) printf(“out of range”); else sum = sum + number; (c)
if (T > 200) printf(“admitted”); else if (M > 60)
{if (M > 60) printf(“admitted”);}
else printf(“not admitted”); 5.6 F T F T
5.8 (a) x > 10 (b) (x != 10)||(y ! = 5) || (z >= 0)
(c) (x + y != z) || (z > 5) (d) (x > 5) || (y != 10) || (z >= 5) 5.9 (a) x = 5; y = 10; z = 1 (b) x = 5; y = 10; z = 1 (c) x = 5; y = 0; z =0 (d) 无变化
5.10 (a) x= 0; y = 2; z = 0; (b) x = 1; y = 2; z = 0; 5.12 8
5.13 Delhi Bangalore END 5.14 2 4 4 8
5.15 0 0 2 5.16 25
5.17 Number is negative 5.18 ABC
5.19 10 5.20 无输出
Chapter 6
6.1 √√√××√×√√×
6.2 n continue infinite indefinite-repetition-loop counter-variable 6.9 (a) 43210 (b)4321 (c)55555…55555(d)10 8
6.11 (a)无数次 x = 10; x = 5; x = 10; x = 5; x = 10;… (b)5次 m = 3, m = 5, m = 7, m = 9, m = 11 (c)无数次, i 恒为0
(d)4次 m = 11 n = 9; m = 12 n = 11; m = 13, n = 13; m = 14, n = 15; 6.13
(a)for (n = 1; n <= 32; n = n * 2) printf(\(b)for (n = 1; n <= 243; n = n * 3) printf(\(c)for (n = -4; n <= 4; n = n + 2) printf(\(d) sum = 0;
for (i = 2; i <= 16; i = sum) {
sum = sum + i; n = n - i;
printf(\ }
6.16 100 90 80 70 60 50 40 30 20 10 0 6.17 m = 20时陷入死循环, 程序无输出 6.18 1 6.19 1
6.20 死循环,延长时间用
Chapter 7
7.1 √×√××√√√√××√
7.2 index/subscript run-time dynamic multi-dimensional sorting 7.14 15 7.15 HLOWRD
Chapter 8
8.1 ×√√√×√××√×××√×√
8.2 %[ a-z,A-Z] strcpy 3 stdlib gets strlen strstr strcmp s1-s2 puts 8.6 (a) The sky is the limit. (b) The sky is (c) T
(d) The sky is the limit (e)84 104 101