C++的程序结构和C++语句

在第1章中介绍了几个简单的C++程序。第2章介绍了C++程序中用到的一些基本要素(常量、变量、运算符和表达式等),它们是构成程序的基本成分。本章将接着介绍为编写简单的程序所必须掌握的一些内容。

从第1章已知,一个程序包含一个或多个程序单位(每个程序单位构成一个程序文件)。每一个程序单位由以下3个部分组成:

  1. 预处理指令。如#include指令和#define指令。

  2. 全局声明。在函数外对数据类型、函数以及变量的声明和定义。

  3. 函数。包括函数首部和函数体,在函数体中可以包含声明语句和执行语句。

下面是一个完整的C++程序:

1
2
3
4
5
6
7
8
9
10
#include<iostream>    //预处理指令
using namespace std; //在函数之外的全局声明
int a=3; //在函数之外的全局声明
int main() //函数首部
{
float b; //函数内的声明
b=4.5; //执行语句
cout<<a<<b; //执行语句
return 0; //执行语句
}

如果一个变量在函数之外进行声明,此变量是全局变量,它的有效范围是从该行开始到本程序单位结束。如果一个变量在函数内声明,此变量是局部变量,它的有效范围是从该行开始到本函数结束。C++程序结构可以用下图表示:

C++程序结构

程序应该包括数据描述(由声明语句来实现)和数据操作(由执行语句来实现)。数据描述主要包括数据类型的声明、函数和变量的定义、变量的初始化等。数据操作的任务是对已提供的数据进行加工。

C++程序中最小的独立单位是语句(statement)。它相当于一篇文章中的一个句子。句子是用句号结束的,而C++语句一般是用分号结束的(复合语句是以右花括号结束的)。

C++语句可以分为以下4种。

  1. 声明语句

int a,b;

  1. 执行语句

通知计算机完成一定的操作。执行语句包括:

  • 控制语句,完成一定的控制功能。C++有 9 种控制语句,它们是:
语句 含义
if ( ) ~ else ~ 条件选择语句
for ( ) ~ 循环语句
while ( ) ~ 循环语句
do ~ while ( ) 循环语句
continue 结束本次循环语句
break 中止执行 switch 或循环语句
switch 多分支选择语句
goto 转向语句
return 从函数返回语句

上面9种语句中的括号 ( ) 表示其中包括一个判断条件,~表示内嵌的语句。例如,if ( ) ~ else ~的具体语句可以写成

if(x>0) cout <<x; else cout <<-x;    //当 x>0 成立时,输出 x 的值

  • 函数和流对象调用语句。函数调用语句由一次函数调用加一个分号构成一个语句,例如

sort(x,y,z);    //假设已定义了sort函数,它有3个参数

cout<<x<<endl;    //流对象调用语句

  • 表达式语句 。由一个表达式加一个分号构成一个语句。最典型的是:由赋值表达式构成一个赋值语句。

i=i+1    //是一个赋值表达式,末尾没有分号

i=i+1;    //是一个赋值语句,末尾有分号

任何一个表达式的最后加一个分号都可以成为一个语句。一个语句必须在最后出现 分号,分号是语句中不可缺少的一部分x+y;也是一个语句,作用是完成x + y的操 作,它是合法的,但是并不把x + y的和赋给另一变量,所以它并无实际意义。

  1. 空语句

下面是一个空语句:

;

即只有一个分号的语句,它什么也不做。有时用来做被转向点,或循环语句中的循环体 (循环体是空语句,表示循环体什么也不做)。

  1. 复合语句

可以用{ }把一些语句括起来成为复合语句。如下面是一个复合语句。

1
2
3
4
5
{
z=x+y;
    if(z>100)z=z-100;
    cout<<z;
}

在本章中将介绍几种顺序执行的语句,在执行这些语句的过程中不会发生流程的控制转移。


结束语

以上,是笔者整理的自我认为本章内重要的内容,内容多数来自《C++程序设计(第三版)》中的第三章内容,希望可以帮助到正在阅读本片文章的你,最后,感谢你的阅读,祝你生活愉快,学习顺利