C++程序的构成元素
2019-09-10
什么是C++语言?
C++语言是在C语言的基础上发展起来的一种混合型的高级程序设计语言。它既具有独特的面向对象的特征,全面支持面向对象技术;同时又具有传统C语言的特点,支持面向过程的结构化程序设计。C++语言是当前使用最广泛的程序设计语言之一,深受广大编程人员的喜爱,包括信息奥赛,主要就是学习面向过程的结构化程序设计。
为了解决某一特定问题用某一种计算机语言编写的指令序列称为程序,实际上你对计算机做的操作都有相应的程序支持的结果。近期,我们会连载C++的学习教程,喜欢的话跟我们一起来吧。
什么是程序设计?
程序是程序设计的结果,在执行程序前必须先排定程序,排定以时间为进程必须完成的各种操作叫程序设计。
用高级语言进行程序设计时要注意以下三个概念:
语法,每种计算机语言都有自己的语法规则。
语义,即某一语法成分的含义。
语用,即正确使用语言。
为了说明C++程序的基本结构先举三个例题,然后通过三个例题引出C++程序基本结构。
【例1-1-1】文本的原样输出。文件名为1-1-1.cpp。
//文本原样输出程序
#include<iostream>
using namespace std;
int main()
{
cout << "Welcome to C++!\n";
system("pause"); // 程序暫停
}
程序运行显示:
Welcome to C++!
该程序中,main()表示主函数,每个C++程序必须有且只能有一个主函数,C++程序总是从主函数开始执行的。main()函数之前的int表示main()函数返回值为整形,这符合C++的最新标准。在花括号内的部分是函数体,函数体由语句组成,每个语句由分号结束。cout与符号“<<”结合使用可以输出常量、变量的值及字符串。'\n'是换行符。
#include引用头文件<iostream>是为了能使用输入流cin和输出流cout。
using namespace std; :“使用命名空间std”,句末有分号结束,是一条语句。C++标准库中的类和函数是在命名空间std中声明的。必须写,否则会出错。
system("pause");可让程序暂停,以便于观察程序的运行情况。为此须先引用头文件<iostream>。
程序中以“//”开头的是注释,注释是对程序的说明,用来提高程序的可读性,可以放在程序的任何位置,对程序的编译和运行不起作用。
【例1-1-2】求两个整数的和。文件名为1-1-2.cpp
/*求两个整数的和程序*/
#include<iostream>
using namespace std;
int main()
{
int a,b,sum;//说明变量a,b,sum为整型数
cout << "输入变量a和b:"; //显示提示信息
cin >> a >> b; //从键盘上输入变量a、b的值
sum = a + b; //求和
cout << "Sum =" << sum << endl; //输出结果
system("pause"); //暂停输出结果
}
程序运行显示:
输入变量a和b:3 5
Sum = 8
该程序中的语句:int a,b,sum; 用来说明变量a、b、sum为int(整型)变量。程序中的语句:sum=a+b;是一个赋值语句,表示将a和b的值相加,其结果输送给变量sum。在“/*”和“*/”之间的部分也表示注释。“endl”是换行符。
【例1-1-3】输入两个整数a和b,用自定义函数add()求两数和。程序名为1-1-3.cpp
#include<iostream>
using namespace std;
int add(int x, int y)
{
int z;
z=x+y;
return z;
}
int main()
{
int a,b,sum;
cout << "输入变量a和b:";
cin >> a >> b;
sum = add (a,b);
cout << "Sum = "<< sum << endl;
system("pause");
}
程序输出结果与前例相同。
该程序由两个函数组成:主函数main()和被调用函数add()。函数add()的作用是求x和y的和,并赋给z,最后通过return z语句返回给主函数。主函数用两个变量a和b来存储输入的两个值,调用add()函数将变量a、b的值传送给形参x、y,再求两数和,并返回给sum输出结果。
通过【例1-1-3】,可以归纳出C++程序基本结构如下。
(1)C++程序由函数组成
C++程序由包括main()在内的一个或多个函数组成,函数是构成C++程序的基本单位。其中名为main()的函数称为主函数,可以将它放在程序的任何位置。但是,不论主函数放在程序的什么位置,一个C++程序总是从主函数开始执行,由主函数来调用其他函数。所以,任何一个可运行的C++程序必须有一个且只能有一个主函数。被调用的其他函数可以是系统提供的库函数,也可以是用户自定义的函数。例如,【例1-1-3】的C++程序就是由主函数main()和用户自定义函数add()组成的。
(2)C++函数由函数说明与函数体两部分组成
①函数说明
函数说明由函数类型、函数名、函数参数(形参)及其类型组成。例如:
int add(int x, int y)
表示自定义了一个名为add的函数,函数值的类型为int(整型),该函数有两个形式参数x、y,其类型均为int(整型)。
无返回值的函数是void类型(无值类型)。main()函数是一个特殊的函数,可看作是由操作系统调用的一个函数,其返回值是int类型。函数参数可以没有,但函数名后面的括号不能省略。
②函数体
函数说明下面花括号括起来的部分称为函数体。例如:
{
int z; //变量定义
z = x + y; //执行语句
return z;
}
如果一个函数内有多对花括号,则最外层的一对花括号为函数体的范围。通常函数体由变量定义和执行语句两部分组成。在某些情况下可以没有变量定义,甚至可以既无变量定义又无执行语句(即空函数)。例如:
void dump(void)
{
}
(3)C++中每一个语句必须以分号结束
例如:
int z;
z= x + y;
(4)C++程序的书写格式
C++程序的书写格式比较自由,一行内可以写多个语句(语句之间用“;”隔开),一个语句也可以分成几行来写。例如,
int add (int x, int y)
{int z; z = x + y; return z;} //可将三条语句写在一行内,但这样书写不规范。
为了便于程序的阅读、修改和相互交流。程序的书写必须符合以下基本规则。
①同层次语句必须从同一列开始书写,同层次的开花括号必须与对应的闭花括号在同一列上;
②属于内一层次的语句,必须缩进几个字符,通常缩进两个、四个或八个字符的位置;
③任一函数的定义均从第一列开始书写。
(5)C++的输入输出
C++语言没有专门的输入/输出语句,输入/输出操作是通过输入/输出流cin和cout来实现的。C++默认的标准输入设备是键盘。C++默认标准输出设备是显示器。
(6)C++严格区分字母的大小写
例如:int a, A;表示定义两个不同的变量a、A。
(7)C++注释
在C++程序的任何位置都可以插入注释信息,以增强程序可读性。注释分行注释和块注释两种。
行注释用两个连续的“/”字符开始,它表示从此开始到本行结束为注释内容。例如:
// 说明变量a,b,sum为整型数
塊注释用“/*”和“*/”把注释内容括起来,其中可以包含一个或多个语句。例如:
/*求两个整数的和程序*/
(8)编译预处理命令
以“#”开头的行称为编译预处理命令。例如:#include<iostream>表示本程序包含有头文件iostream。
以上所述的有关函数、输入/输出流等概念将在以后的章节中详细介绍。C++程序基本结构可用图1-1表示。