C程序设计第1-7章部分习题参考答案

课后习题解答(第1-7章)

第一章

1_1.

1_1_2 判断正误:即使两个整型数据未超出该数据的取值范围,它们的和也可能会超出该数据取值范围。 正确。

1_1_4 判断正误:一个C程序可以有多个函数,其中主函数必须在程序的最开头。 错误。其它函数如果要在主函数中使用的话,必须先在主函数之前定义或者声明。

1_1_6 判断正误:若有定义“float x=1.3;”,则表达式(int)x的值为1,因此可以说x中存放的值就是1。

错误。(int)x表达式的值与x的值是不一样的,前者是对x取整后的数值,而取整运算对x自身的值不会产生影响。

1_1_8 判断正误:若有命令行“#define N 1000”,则N++是不合法的表达式。 正确。N为符号常量,不能对符号常量进行修改。

1_1_10 C程序是由函数构成的,一个C程序必须有一个主函数。

1_1_12 以下变量中不合法的是②、④、⑥,合法的是①、③、⑤、⑦、⑧。 ①name ②double ③Int ④if ⑤for_1 ⑥2k ⑦a12345678 ⑧_a 1_1_14 下面程序段的输出结果是1,1.000000 int a; double b; a=b=123/100%2; printf(\

1_1_16 a*a*a*b*b/(c-d) 1_1_20 假设圆柱体的底面半径为r(=2.5),高为h(=3.5),请按下面给定的步骤编写求体积(体积=底面积X高)的程序。

①定义变量r,h,v(存放体积值),注意变量的数据类型。 ②给变量r,h赋值。

③计算体积,并将结果存放在v中。 ④输出r,h,v的值。 程序如下:

#include #define PI 3.1415926 main() {

float r, h, v; r=2.5; h=3.5;

v=PI*r*r*h;

printf(\, h, v); }

1_1_22 编写输出以下图形的程序。 * * # # # 3 3 3 3

程序如下:

#include main() {

printf(\ printf(\

printf(\} 1_2

1_2_2 下面程序段的输出结果是a=3,b=-27 int a=10, b=10; a+=b-=a*=b/=3;

printf(\

本题考查复合赋值运算符及其运算过程。(从右到左运算,运算过程中变量的值会发生改变) 1_2_4 下面程序段的输出结果是a=10,b=10,c=12,d=11 int a=10, b=10, c, d;

c=(++a, b++, a++, ++b); /*该语句从整体来看完成一个赋值运算,而赋值运算的右侧表达式则是作逗号运算*/

d=--a, b--, --a, b--; /*这个语句从整体来看是作逗号运算,逗号运算的第一个子表达式是赋值运算,其它三个是自减运算*/

printf(\本题考查逗号运算,自加自减运算符以及它们与括号、赋值运算符等各种运算符的运算优先级次序。

1_2_6 语句printf(\的输出结果是-32765

第二章

2.1 基础部分习题

2_1_1. 判断正误:程序中的所有语句都被执行一次,而且只能执行一次。 错误。循环结构中循环体部分的语句就可执行多次,分支结构中只能选择其中的一个子句执行。

2_1_2. 判断正误:在C语言中,任何表达式的尾部加上一个分号就可以构成语句。 正确。

2_1_4. 编写程序输出12.5X3.4的值(要求:不使用变量); #include main() {

>>闁诲繒鍋炲ú鏍閹达箑绀傞柕濠忛檮閻庯拷<<
12@gma联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4