A.3 第3章

1.a.int类型,可以是short、unsigned或unsigned short;人口数是一个整数。

b.float类型;价格不太可能正好是一个整数(您也可以使用double,但是实际上并不需要那么高的精度)。
c.char类型。
d.int类型,可以是unsigned。

2.一个原因是在您的系统中long可以容纳比int更大的数;另一个原因是如果您确实需要处理更大的值,那么使用一种在所有系统上都保证至少是32位的类型会使程序的可移植性更好。

广告:个人专属 VPN,独立 IP,无限流量,多机房切换,还可以屏蔽广告和恶意软件,每月最低仅 5 美元

3.要获得正好是32位的数,您可以使用int32_t(如果在您的系统中有这一定义的话)。要获得可存储至少32位的最小类型,可以使用int_least32_t。如果要在32位的类型中获得提供最快计算速度的类型,可以选择int_fast32_t。

4.a.char常量(但以int类型存储)。

b.int常量。
c.double常量。
d.unsigned int常量,十六进制格式。
e.double常量。

5.第1行:应该是#include<stdio.h>。

第2行:应该是int main(void)。
第3行:使用{,而不是(。
第4行:在g和h之间应该是逗号而不是分号。
第5行:无错误。
第6行:(空行)无错误。
第7行:在e之前应该至少有一个数字,le21或1.0e21都是正确的,尽管这个数有点大。
第8行:无错误,至少在语法上没有。
第9行:使用},而不是)。

缺少的行:首先,rate没有被赋值。其次,变量h从来没有被使用。而且程序永远不会把它的计算结果通知给您。这些错误都不会阻止程序的运行(尽管可能会向您出示一个警告以说明变量没有被使用),但是它们确实减弱了程序本来就不多的功能。而且在结尾处应该有一个return语句。

下面是正确版本之一:

阅读 ‧ 电子书库

6.

 

 

常量 类型 说明符
a. 12 int %d
b. 0X3 unsigned int %#X
c. ‘C’ char(实际上是int) %c
d. 2.34E07 double %e
e. ‘\040’ char(实际上是int) %c
f. 7.0 double %f
g. 6L long %ld
h. 6.0f float %f

7.

 

 

常量 类型 说明符
a. 012 unsigned int %#o
b. 2.9e05L long double %Le
c. ‘s’ char(实际上是int) %c
d. 100000 long %ld
e. ‘n’ char(实际上是int) %c
f. 20.0f float %f
g. 0x44 unsigned int %x

8.

阅读 ‧ 电子书库

9.

阅读 ‧ 电子书库

10.第0行:应该有#include<stdio.h>。

第1行:使用/*和*/,或者使用//。
第3行:int cows, legs;
第4行:count?\n");
第5行:%d,而不是%c,用&legs代替legs。
第7行:%d,而不是%f。
添加一个return语句。
下面是一个正确的版本:

阅读 ‧ 电子书库

11.a.换行字符

b.反斜线字符
c.双引号字符
d.制表字符