当前位置: 首页 > 文档资料 > C++大学教程 >

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

优质
小牛编辑
141浏览
2023-12-01

下一个程序用输入流对象 cin 和流读取运算符 >> 取得用户从键盘中输入的两个整,计算这两个值的和,并将结果用 cout 输出。程序及其输出如图 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; // 返回0值表示程序运行成功。
}

输出结果:

Enter first integer 45
Enter second integer 72
Sum is 117

注释语句:

// 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\n";

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

下列语句:

cin>>integer1;

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

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

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

下列语句:

cout<<"Enter second integer\n";

在屏幕上打印”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章)。