2.3 其他C++语句

程序清单2.3中的程序对前一个程序进行了扩展,要求在程序运行时输入一个值。它使用了cin,这是与cout对应的用于输入的对象。另外,该程序还演示了cout对象的多功能性。

程序清单2.3 getinfo.cpp

// getinfo.cpp -- input and output
#include <iostream>

int main()
{
    using namespace std;
    
    int carrots;
    
    cout << "How many carrots do you have?" << endl;
    cin >> carrots;                // C++ input
    cout << "Here are two more. ";
    carrots = carrots + 2;
// the next line concatenates output
    cout << "Now you have " << carrots << " carrots." << endl;
	// cin.get();
	// cin.get();
    return 0;
}

在以前的程序清单中需要添加cin.get(),在这个程序清单中,需要添加两条cin.get()语句,这样才能在屏幕上看到输出。第一务cin.get()语句在输入数字并按Enter键时读取输入,而第二条cin.get()语句让程序暂停,直到您按Enter键。

下面是该程序的运行情况:

How many carrots do you have? 
12
Here are two more. Now you have 14 carrots. 

该程序包含两项新特性:用cin来读取键盘输入以及将四条输出语句组合成一条。

2.3.1使用cin

上面的输出表明,从键盘输入的值(12)最终被赋给变量carrots。下面就是执行这项功能的语句:

cin >> carrots; 

从这条语句可知,信息从cin流向carrots。显然,对这一过程有更为正式的描述。就像C++将输出看作是流出程序的字符流一样,它也将输入看作是流入程序的字符流。iostream文件将cin定义为一个表示这种流的对象。输出时,<<运算符将字符串插入到输出流中;输入时,cin使用>>运算符从输入流中抽取字符。通常,需要在运算符右侧提供一个变景,以接收抽取的信息(符号<<和>>被选择用来指示信息流的方向)。

与cout 一样,cin也是一个智能对象。它可以将通过键盘输入的一系列字符(即输入)转换为接收信息的变量能够接受的形式。在这个例子中,程序将carrots声明为一个整型变量,因此输入被转换为计算机用来存储整数的数字形式。

2.3.2使用cout进行拼接

getinfo.cpp中的另一项新特性是将4条输出语句合并为一条。iostream文件定义了<<运算符,以便可以像下面这样合并(拼接)输出:

cout << "Now you have " << carrots << "carrots" << endl; 

这样能够将字符串输出和整数输出合并为一条语句。得到的输出与下述代码生成的相似:

cout << "Now you have";
cout << carrots; 
cout << " carrots"; 
cout << endl; 

根据有关cout的建议,也可以按照这样的方式重写拼接版本,即将一条语句放在4行上:

cout << "Now you have"
    << carrots 
    << " carrots."
    << endl; 

这是由于C++的自由格式规则将标记间的换行符和空格看作是可相互替换的。当代码行很长,限制输出的显示风格时,最后一种技术很方便。需要注意的另一点是:

Now you have 14 carrots. 

 Here are two more. 

在同一行中。这是因为前面指出过的,cout语句的输出紧跟在前一条cout语句的输出后面。即使两条cout语句之前有其他语句,情况也将如此。

文件下载(已下载 444 次)

发布时间:2014/5/30 下午1:00:57  阅读次数:3959

2006 - 2024,推荐分辨率 1024*768 以上,推荐浏览器 Chrome、Edge 等现代浏览器,截止 2021 年 12 月 5 日的访问次数:1872 万 9823 站长邮箱

沪 ICP 备 18037240 号-1

沪公网安备 31011002002865 号