C语言课后习题答案(最终)

2026/4/26 21:15:52

第2章 习 题

1.指出下面哪些是合法的标识符?

A. 1_x B. int C. ABC D. i_10

E. sum.a F. ?c G. _stu H. abc d 答:

C D G

2.C语言的数据类型有哪些? 答:

C语言规定的数据类型较多,通常我们可以将其分为五大类:简单类型、构造类型、指针类型、枚举类型和空类型,其中简单类型包括整型、实型和字符型,构造类型包括数组、结构体和共用体。C语言的数据类型分类如图所示。

3. 下面是一段程序: #define N 10 int main() {

}

在这段程序中,常量有哪些? 答:

20 30 N

4.下面哪些写法是正确的,而且是常量?

int iSum;

sum = (20 + 30) / N; printf(\printf(\return 0;

数据类型 构造类型 简单类型 整型 实型 字符型 数组 结构体 共用体 指针类型 枚举类型 空类型 单精度实型 双精度实型 A. 12 B. -.345 C. 1.23e4 D. 'OPQ'

E. E10 F. 0678 G. 0xabcdef H. \答:

A B C G H

5.下面哪个表达式的值为5?

A. 19/4 B. 19.0/4

C. (float)19/4 D. (int)(19.0/4+0.5) 答:

D

6.指出下面的表达式中,哪些是错误的? (1)a+b=5 (2)56=a11 (3)i=i++ (4)12

(5)a=5,b=6,c=7 答:

(1) (2)

7.计算下列表达式的值。已知int型变量a = 5,b = 6,c = 7,char型变量ch = ’0’,float型变量f = 2.1。 (1)(a-b*2)/3 (2)3.2*(a+b+c) (3)ch+a+f

(4)a+b%3*(int)(b+c)%3/6 答:

(1)-2 (2)57.60000 (3)55.10000 (4)5

8.写出下面表达式运算后x的值。设x定义为整型变量,其初值为10。 (1)x+=10 (2)x-=10 (3)x*=5+10 (4)x/=x+x (5)x+=x-=x*=x (6)x+=x-=x*x 答:

(1)20 (2)0 (3)150 (4)0 (5)0 (6)-180

9.设int型变量a=3,b=4,c=5,则表达式((a+b)>c)&&(b==c)&&a||b+c&&b+c的值是( )。

A. 0 B. 1 C. 2 D. 3 答:

B

10.如果int型变量i=1,j=2,k=3,l=4,则条件表达式i

A

11.字符常量与字符串常量有什么区别? 答:

用一对单引号括起来的单个字符称为字符常量。字符常量有两种:一般字符常量和特殊字符常量。例如:’a’就是一个字符常量。用一对双引号括起来的字符序列称为字符串常量。例如”ChangChun”就是一个字符串常量。

两者的区别:

(1)定界符不同,字符常量用单引号,字符串常量用双引号。(2)一般来说,字符常量仅能表示单个字符,字符串常量可以表示多个字符。(3)转义字符是字符常量而不是字符串常量。

12.C语言为什么要规定对所有用到的变量要“先定义,后使用”?这样做有什么好处? 答:

C语言变量遵循“先定义,后使用”的原则,即变量在使用前,都要求先对其数据类型进行定义。因为在变量定义时,系统会对变量分配固定的内存,然后按照变量名对其进行访问。这样做有如下好处:(1)便于系统对内存空间的管理与使用 (2)通过事先分配内存空间提高程序的运行效率。

13.简述转义字符的用途并举实例加以说明。 答:

通常使用转义字符表示ASCII码字符集中不可打印的控制字符和特定功能的字符,其主要用法有以下三个方面:

(1)表示字符常量的单撇号(’)、用于表示字符串常量的双撇号(”)和反斜杠(\\); (2)用反斜杠(\\)后面跟某些特定字符表示不可打印的控制字符和特定功能的字符; (3)用反斜杠(\\)后面跟一个八进制或十六进制数表示任意字符,其中八进制或十六进制数表示要表示字符的对应ASCII码值。

例如:’\\n’表示换行操作,’\\\\’表示要输出一个反斜杠“\\”。

14.在C语言中如何表示逻辑值“真”和“假”?如何判断一个运算量的“真”和“假”? 答:

在C语言中用整型值0和1表示逻辑值“真”和“假”,其中逻辑值“真”用1表示,逻辑值“假”用0表示。

判断一个运算量的“真”和“假”的方法是:非0为真,0为假。

15.写出完成下列要求的C语言的合法表达式。 (1)已知半径r ,计算球的体积V;

(2)已知3条边长度a、b、c,计算三角形面积S; (3)已知上底a、下底b和高h,计算梯形面积S。 答:

(1)V = (3/4)*3.14*r*r*r

(2)l = (a + b + c) / 2, S = sqrt((l - a)*(l - b)*(l - c)) (3)S = (a + b) * h / 2 思考题

若变量f已说明为float类型,i为int类型,则下面哪些表达式(或语句)能够实现将f中的数值保留小数点后两位,第三位进行四舍五入的运算?

A. f = (f*100+0.5)/100.0; B. i = f*100+0.5,f=i/100.0; C. f = (int)(f*100+0.5)/100.0; D. f = (f/100+0.5)*100.0; 答: B C


C语言课后习题答案(最终).doc 将本文的Word文档下载到电脑
搜索更多关于: C语言课后习题答案(最终) 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219