1.5 简单C/C++程序的基本结构
本节通过两个简单程序实例来了解C/C++程序的基本结构。
1.5.1 两个简单程序实例
下面是同一个问题的C和C++程序。
【例1.2】 在屏幕上输出一串字符“Let us studing C/C++ program together.”。
源程序1-2-1.C
1 #include<stdio.h> /* 包含头文件stdio.h*/ 2 /* 空一行 */ 3 void main() /* 定义main函数 */ 4 { /* 函数体开始 */ 5 printf("Let us studing C/C++program together.\n"); /* 屏幕上输出一字符串 */ 6 } /* 函数体结束 */
源程序1-2-2.CPP
1 #include<iostream.h> // 包含头文件iostream.h 2 // 空一行 3 void main() // 定义main函数 4 { // 函数体开始 5 cout<<"Let us studing C/C++program together."<<endl; // 屏幕上输出一字符串 6 } // 函数体结束
执行上述两个程序都将在屏幕上输出如下信息:
Let us studing C/C++ program together.
提示
(1)语句前的数字。本书为了便于讲解,部分程序前面加了一个代表行号的数字,实际编写程序时不能添加该数字,否则会出错。
(2)程序中的空行。一般可在说明性语句和可执行语句之间,或相对独立的功能模块之间插入一空行,便于阅读程序。例如1-2-1.C和1-2-2.CPP中第1和第3行之间的空行。
(3)main()函数。1-2-1.C和1-2-2.CPP都由一个主函数main()组成,C/C++程序有且只能有一个main()函数,函数体由一对花括号{ }括起来。
(4)输出。C程序1-2-1.C和C++程序1-2-2.CPP第5行的作用都是输出双引号中的字符串:
Let us studing C/C++ program together
1-2-1.C 调用 printf()函数进行输出,其中的“\n”是转义字符(参见表 2.5),表示输出字符串后换行,即光标移到下一行的起始位置。使用 C语言的输入/输出函数,需要在程序的开始处写入下面的语句行:
#include<stdio.h>
1-2-2.CPP 通过输出流 cout 进行输出,其中 endl 的作用和\n 的作用相同。使用 C++的输入流/输出流,需要在程序的开始处写入下面的语句行:
#include<iostream.h>
(5)注释。C++的注释有两种,即/* */和//。/* */是从C继承来的,可以放在任何位置,在1-2-1.C中是放在每行后面的,用于说明语句行的作用。这种注释可以跨多个行,例如:
/* 程序1-2-1.C 其功能是输出字符串 */
要注意的是/和*之间不允许留有空格。
双斜线//注释符是 C++中常见的注释,也叫做行注释,即从//起到行的末尾都将被看作注释,通常用来说明程序段的功能、变量的作用等,使用非常灵活。//注释不能跨行,如果一行写不完注释内容,下一行需要继续使用//。例如:
//程序1-2-1.C //其功能是输出字符串
注释内容不参与编译,只是为了增加程序的可读性和便于维护,在必要的位置加写注释是一个好习惯。
(6)C语句。C语言的每一条语句都以分号“;”结束。
(7)C程序的书写。为了清晰地显示程序的结构,程序的书写应该采用缩进格式,一行只书写一条语句。
【例1.3】 求半径为r的圆面积。
源程序1-3.C
程序运行实例如下:
请输入圆的半径:5↙ area=78.539815
提示
(1)C程序的函数组成。函数体由两部分组成:声明部分和执行部分。声明部分用于定义或说明变量(第5、6行)、数组等;执行部分由可执行语句和函数调用等语句行组成。
(2)宏命令。程序第1行的#define是宏命令,其作用是指定用标识符PI代替3.1415926。程序在编译预处理阶段,将程序中的PI用3.1415926替换。
(3)提示输入。第 8 行是在屏幕上输出“请输入圆的半径:”,程序中常用这种方法提示用户要进行的输入。
(4)输入。第 9 行调用 scanf()函数(参见 2.3.1)输入圆半径,C++程序可以用输入流cin进行输入(参见第11章)。
(5)赋值语句。第10行是赋值语句,即将半径为r的圆面积的计算结果赋给变量area。
通过上面实例可知,C程序的组成具有如下特点:
① 一个C源程序由函数构成,其中有且仅有一个主函数main();
② C程序总是由main()函数开始执行,且结束于main()函数;
③ 分号“;”是C语句的一部分,每一条语句均以分号结束;
④ C程序书写格式自由,一行内可写多条语句;
⑤ 程序中有必要添加适当的注释。