学如逆水行舟,不进则退
心似平原跑马,易放难收
2.7 问与答
问: #include 的作用是什么?
答: 这是一个预处理器编译指令。 预处理器在您调用编译器时运行。 该指令使得预处理器将 include后面的<>中的文件读入程序,其效果如同将这个文件输入到源代码中的这个位置。
问: //注释和/*注释之间有何不同?
答: //注释到行尾结束; /*注释到*/结束。 //注释也被称为单行注释, /*注释通常被称为多行注释。请记住, 即使是函数的结尾也不能作为/*注释的结尾, 必须加上注释结尾标记*/, 否则将出现编译错误。
问:什么情况下需要命令行参数?
答: 需要提供让用户能够修改程序行为的选项时。例如, Linux 命令 ls 和 Windows 命令 dir 都显示当前目录(文件夹)的内容,要查看另一个目录中的文件,需要使用命令行参数指定相应的路径,如ls /或 dir \。
2.8 作业
2.8.1 测验
1.声明 Int main( )有何问题?
答:C++代码区分大小写,在编译器看来, Int 与表示整型的 int 不是一回事。
**2.注释可以超过一行吗? **
答:可以。
/* if you comment using this C-style syntax
then you can span your comment over multiple lines */
2.8.2 练习
1.查错:输入下面的程序并编译它。它为什么不能通过编译?如何修复?
#include <iostream>
void main()
{
std::Cout << Is there a bug here?"
}
答:因为 C++编译器区分大小写, 不知道 std::Cout 是什么以及它后面的字符串为何不以左引号打头。另外,声明 main 时,总是应该将其返回类型指定为 int。
2.修复练习 1 中的错误,然后重新编译、链接并运行它
答:修改后的代码如下:
#include <iostream>
int main()
{
std::cout << "Is there a bug here?";
}
3.修改程序清单 2.4,以演示减法(使用-)和乘法(使用*)。
答:代码如下
#include <iostream>
using namespace std;
// Function declaration
int DemoConsoleOutput();
int main()
{
// Call i.e. invoke the function
DemoConsoleOutput();
return 0;
}
// Function definition
int DemoConsoleOutput()
{
cout << "Performing subtraction 10 - 5 = " << 10 - 5 << endl;
cout << "Performing multiplication 10 * 5 = " << 10 * 5 << endl;
return 0;
}