第2章 零基础开始学习——C++的程序结构
对没有任何基础的读者而言,学习编程需要从认识*基本的C++程序结构开始。本章带领读者了解C++程序的开发过程,剖析C++程序结构,掌握C++代码编写规范,熟练使用C++的输入/输出对象。
本章要点(已掌握的在方框中打钩)
理解C++的程序结构。
熟悉C++的main函数。
理解编译前的预处理。
掌握C++中输入和输出数据的方法。
掌握定义和调用命名空间的方法。
理解C++的注释方法。
2.1 分析C++程序的结构
第1章中读者已经接触了一个简单的案例,可能有很多关键字是初学者不太理解的。下面详细分析该例中用到的关键字。
2.1.1 #include指令及头文件
首先查看源代码,如下:
#include
using namespace std;
void main()
{
cout<<"Hello World"<中,iostream.h就是头文件。C++程序的头文件是以.h为后缀的、用于保存��序的声明,我们称之为头文件。
一个头文件由如下3部分内容组成。
(1) 头文件开头处的版权和版本声明。
(2) 预处理块。
(3) 函数和类结构声明等。
在C++中,头文件的作用主要包含以下两点。
(1) 可以通过头文件来调用已有程序功能。为了保护源代码的**性,通过头文件的形式来调用该代码的功能,用户只需要按照头文件中的接口声明来调用该头文件中的功能,而不必关心具体功能是怎么实现的。编译器会从库中析取相应的代码。
(2) 头文件可以加强**性检查。在调用接口功能过程中,如果调用方式和头文件中的声明不一致,编译器就会报错,从而减少程序员调试负担。
不要使用#include ,不要使用#include ,因为它们已经被C++标准明确地废弃了,请改为 #include 和 #include 。规则如下。
(1) 如果这个头文件是旧C++特有的,那么去掉.h后缀,并放入std名字空间,如iostream.h变为iostream。
(2) 如果这个头文件是C也有的,那么去掉.h后缀,增加一个c前缀,如string.h变为cstring、stdio.h变为cstdio等。
2.1.2 main函数
在上例中,使用了main()函数,那么这个main()函数代表什么呢?C++程序必须有且只能有一个main()函数。main()函数是程序的入口点,无论main()函数在程序中处于什么样的位置。但是,并非所有C++程序都有传统的main()函数。用C或C++写成的Windows程序入口点函数称为WinMain(),而不是传统的main()函数。
main()函数和其他函数一样也是函数,有相同的构成部分。在32位控制台应用程序中,C++ Builder生成具有下列原型的默认main()函数,这个main()函数形式取两个参数并返回一个整型值。其语法格式如下:
int main(int argc,char** argv);
不要将main函数的返回类型定义为void,虽然有些编译器允许你这样做,但它不符合C/C++标准。不要将函数的int返回类型省略不写,这在C++中要求编译器至少给一个警告。错误的示例:void main() {},main() {}。
main()函数的**个参数argc代表参数的数量,指明有多少个参数将被传递给主函数main()。真正的参数以字符串数组(即第2个参数argv[])的形式来传递。
main()函数本身是以索引0为**参数,所以argc至少为1。它的总数是从argv阵列的元素数目。这意味着argv[0]的值是至关重要的,如果用户在控制台环境中程序名称后输入含参数的指令,那么随后的参数将传递给argv[1]。
下面用一个实例来说明main如何调用参数。
【例2-1】main函数调用参数(源代码\ch02\2.1.txt)。
新建名为myMain的C++Source File源程序。源代码如下:
#include
using namespace std;
int main(int argc,char* argv[])
{
int a,b,c;
a=atoi(argv[1]);
b=atoi(argv[1]);
v=a+b;
cout<<"/n输入**个数:"<