标准C程序设计(第七版)课后习题
因为网络上面并没有这本书的答案和详细解析,就自己边做边解析,可能有不对,求大佬指点。
第一章
一、复习题
1.1请判断下列语句的对错
(a)C程序的每一行都应以分号结尾。
解析:错。原文17页谨记中第九条写到:“每条C语言程序语句必须以分号结尾。”
反例:
#define AAA (结尾不需要任何符号)
/* aaa */ (注释的结尾是*/)
(b)程序中main函数的闭括号是该程序的逻辑结尾处。
解析:对。原文12页第三段中写道:“main函数的闭括号是程序的逻辑结束位。”
(c)注释可以使计算机运行程序时显示出位于/和/之间的文本。
解析:错。原文4页第四段中写道:“由于注释行不是可执行语句,因此/与/之间的内容全部被编译器忽略掉。”
(d)每个C程序都以END结尾。
解析:这道题是我比较纠结的一道题,因为书上根本没有讲解任何关于END的知识(至少就第一章而言);百度的结果,是大多数的回答都是根本没在C中听说过END;我又想到一个可能,会不会是实际运行中有END出现呢?我就实际运行了一个程序,结果如下图所示:
没有见到任何END。我百度到的:
而且是小写end,而不是大写的END。
所以,综上所述,我认为这道题是错误的。如果有大佬知道这个知识点,求解答。
(e)一条printf语句只能生成一行输出。
解析:错。以文中1.3实例程序1:显示一条信息为例。其中就提到了新行字符\n,原文5页第五段中写道:“只使用一条printf语句,只要在适当的地方使用新行字符,也可以生成一行或多行输出。”
例:
#include <iostream>
using namespace std;
int main()
{
/* printing begins */
printf("I see,\nI remember!");
}
结果:
(f)诸如stdio.h之类的头文件的作用是保存程序的源代码。
解析:错。原文11页第二段中写道:“stdio.h指的是标准输入/输出头文件,它包含标准输入输出的函数。”下面一段则解释了头文件:“C程序可以划分为多个模块或函数。其中一些函数是由用户编写的,但很多函数保存在C函数库中。库函数按种类分组,并保存在不同的头文件中。”
而本书中对于源代码的定义在15页第二段:“输入到文件中的程序就是源程序,因为它代表的是程序的原始形式。” 也就是你的源代码当然会包含你所调用的函数库中的函数,但又不止仅限于此。
(g)程序中的某一行可以有多条语句。
解析:对。原文13页第三段和下面的例子说明了这件事:
“由于C是一种形式自由的语言,因此也可以把多条语句放在一行中。例如语句:
a = b;
x = y+1;
z = a+x;
也可以写成一行:
a = b; x = y+1; z = a+x;
但是,这种书写风格使得程序难以理解,因为不宜使用。”
(h)编译器可以检测语法错误。
解析:对。可以参考14页图1—10编译和运行C程序的过程:
可以在图中清楚看到,C编译器在进行编译源代码时,工作完成的判断标准就是是否有语法错误,没有语法错误才能进行下一步。
也可以参考原文15页1.11.2编译与链接这一小节的内容:
如果发现语法或语义错误,将列出他们,编译过程也就此终止。
(i)在C语言中。小写字母也是有意义的。
解析:对。虽然书中并没有直接具体的提到,但我想到了一些例子:
1、int、float等表示一种数据类型;
2、main等表述一个函数的名字;
…
所以不能说小写字母没有意义。
(j)main函数是程序开始运行的地方。
解析:对。这一题与第二题是相似的,原文12页第三段中写道:“程序的开始从(main函数)开括号处开始,到闭括号处结束。”
1.2下列哪些语句是正确的?
(a)每个C程序必须至少有一个自定义函数。
(b)声明部分含有计算机指令。
(c)只能有一个函数命名为main。
解析:(a)对。main函数就需要自己定义;
(b)错。这个就需要C程序的基本结构方面的知识。原文12页图1—9C程序的基本结构,如下图:
原文12页第三段中写道:“声明部分用于生命所有将在执行部分使用的变量。”在main主函数中,都是自己设定的命令,没有计算机指令。
(c)对。原文17页谨记第五点写道:“每个C程序都要求有一个main函数(多于一个main函数是不合法的)。”
最终答案为:a、c
1.2下面关于注释的说明哪些是错误的?
(a)注释的使用降低了程序的运行速度。
(b)在C语言中,可以在注释中使用注释。
(c)注释起到了内部文档的作用。
(d)注释可以插入到一条语句的中间。
解析:(a)错。原文4页第七段中提到:“由于注释行不会影响程序的运行速度以及编译后程序的大小,因此我们应大方地在程序中使用注释。”
(b)错。原文4页第六段和下面所举的例子就说明了这个问题:
“尽管注释行可以出现在程序的任意地方&