ITEEDU

1.16 简单程序:两个整数相加

下一个程序用输入流对象cin和流读取运算符>>取得用户从键盘中输入的两个整,计算这两个值的和,并将结果用cout输出。

z程序及其输出如图1.6。

 // Fig.1.6:fig01_06.cpp
// Addition program
#include<iostream.h>
int main()
{
	int integer1,integer2,sum;        // 声明三个变量
	cout<<"Enter first integer\n";    // 提示信息
	cin>>integer1;                    // 从键盘读一个整数
	cout<<"Enter second integer\n";   // 提示信息
	cin>>integer2;                    // 从键盘读一个整数
	sum=integer1+integer2;            // 两整数相加,值赋给变量sum
	cout<<"Sum is "<< sum<< endl;       // 输出和
	return;         // 返回0值表示程序运行成功。
}
输出结果:
Enter first integer
45
Enter second integer
72
Sum is
图1.6 两个整数相加

注释语句:

// Fig. 1.6: fig01_06.cpp
// Addition program

指定文件名和用途。C++预处理指令:

#include<iostream.h>

将iostream.h头文件的内容放进程序中。

前面介绍过,每个程序从main函数开始执行。左花括号表示main函数体开头,相应右花括号表示main函数体结束。下列语句:

int integer1,integer2,sum;    

是个声明(declaration)。integer1,integer2和sum是变量(variable)名。变量是计算机内存中的地址,存放程序使用的值。这个声明指定变量integer1,integer2和sum的数据类型为int,表示这些变量保存整数值,如7、-11、0、31914。所有变量都应先声明名称和数据类型后才能在程序中使用。几个相同类型的变量可以在同一声明或多个声明中声明。我们可以一次只声明一个变量,但一次声明多个同类型变量更加简练。

编程技巧1.8

有些程序员喜欢一行只声明一个变量,这样可以在每个声明后面插入注释语句。稍后要介绍数据类型float,(定义实数,即带小数点的数,如3.4、0.0、—11.19)和char(定义字符型数据.变量char只能保存一个小写字母、一个大写字母、一个数字或一个特殊字符,如x、$、7、*等等)。

编程技巧1.9

在每个逗号(,)后面加上空格,使程序更易读。变量名是任何有效标识符(identifier)。标识符是一系列由字母、数字和下划线(_)组成的字符串,不能以数字开头。C++是区分大小写的,因此a1和A1是不同的标识符。

可移植教提示1.4

C++允许任意长度的标识符,但系统和C++版本可能限制标识符的长度不超过31个字符,以保证移植性。

编程技巧1.10

选择有意义的变量名能使程序更清楚,只要阅读程序就可以比较容易理解程序,而不必阅读手册或使用其它注释语句。

编程技巧1.11

避免用下划线和双下划线开头的标识符,因为C++内部使用这类名称。这样可以防止与编译器选择的名称冲突。

变量声明可以放在函数的任何位置,但变量声明必须放在程序使用变量之前。例如在图1.6所示的程序中,如果不用一条语句声明三个变量也可以分别声明。下列声明:

int integer1;

可以放在下列语句之前:

cln >>integerl;

下列声明:

 int integer2;

可以放在下列语句之前:

cin >>integer2;

下列声明:

int sum;

可以放在下列语句之前:

 sum = integer1 + integer2;
编程技巧巧1.12
可执行语句之间的声明之前最好留一行空格,这样能使声明更明显,程序更清晰。

编程技巧1.13

如果喜欢把声明放在函数开头,应在这些声明的结尾与该函数中的执行语句开始之间留一行空格,将这些声明与该函数中的执行语句分开。

下事句:

cout<<"Enter first integer";

在屏幕上打印字符串Enter first integer(b也称为字符串直接量(string literal)或直接量(literal)),将光标移到下一行开头。这个消息称为提示(prompt),提示用户进行特定操作。上述语句表示cout得到字符串“Enter first integer ".

下列语句:

  cin>>integer1;

用输入流对象cin和流读取运算符>>取得键盘中的值。利用流读取运算符cin从标准输入流读取输入(通常是键盘输入)。上述语句表示cin提供integer1的值。

计算机执行上述语句时,等待用户输入变量integer1的值。用户输入整数值并按Enter键(或Return键),将数值发送给计算机。然后计算机将这个数(值)赋给变量integer1。程序中后面引用integer1时都使用这个值。

cout和cin流对象实现用户与计算机之间的交互。由于这个交互像对话一样,因此通常称为对话式计算(conversational computing)或交互式计算(interactive computing)。

下列语句:

cout<<"Enter second integer";

在屏幕上打印”Enter second integer"字样,然后移到下一行的开头。这个语句提示用户进行操作。下列语句:

  cin>>integer2;

从用户取得变量integer2的值。

赋值语句:

  sum=integer1+integer2;
计算变量integer1和integer2的和,然后用赋值运算符(assignment operator)"="将结果赋给变量sum。这个语句表示sum取得integer1加integer2的值。大多数计算都是在赋值语句中进行的。“=”运算符和前面的“+”运算符称为二元运算符,两个操作数是integer1和integer2。而对于“=”运算符,两个操作数是sum和表达式integer1+integer2的值。
编程技巧 1.14

二元运算符两边要放上空格,这样能使运算符更明显,程序更易读。

下列语句:

cout<<"Sum is"<<sum<<endl;

打印字符串"Sum is"和变量sum的数值,加上称为流操纵算子的endl(end line的缩写)。endl输出

一个换行符,然后刷新输出缓冲区,即在一些系统中,输出暂时在机器中缓存,等缓冲区满时再打印到屏幕上,endl强制立即输出到屏幕上。

注意,上述语句输出多种不同类的值,流插入运算符知道如何输出每个数据。在一个语句中使用多个流插入运算符称为连接(concatenating)、链接(chaining)或连续使用流插入操作。这样,就不必用多条输出语句输出多个数据。

计算可以在输出语句中进行。可以将上述语句合二为一:

 cout<<"Sum is"<<integer1+integer2<<endl;

从而不需要变量sum。右花括号告诉计算机到达了函数main的结尾。

C++的一个强大我就是用户可以生成自己的数据类型(详见第6章),然后可以告诉C++如何用>>和<<运算符输入或输出这种类型的值(称为运算符重载,见第8章)。