欢迎访问巨立鑫电脑培训官方网站! 网址:http://www.jlxpx168.com

在线报名 | 联系我们

学校动态 行业资讯

C++标准输入输出

点击:发布日期:2019-05-17作者:

学习目的

 

 

熟悉输入输出的概念及使用方法。

 


输入输出的概念

 

 

输入输出又称I/O(intput/output)操作,输入是向程序提供数据,输入设备可以是键盘,话筒,扫描仪等等….输出是程序对输入的响应,在输出设备上的显示,输出设备可以是屏幕,打印机,音响等….

 

C++的输入输出是由系统所提供的输入流对象cin和输出流对象cout来完成的。我们在介绍Hello World的时候,就使用cout来完成的。在使用cout的时候,要使用iostream这个头文件。

 

cout标准输出流,是Console Output的缩写,表示向应用程序控制台输出。

 

格式为:

 

cout<<数据1<<数据2<<……<<数据n;

 

1.<<是输出操作符,用于向cout输出流中插入数据。

 

2.被输出的数据可以是常量、变量或是一个表达式、函数调用。

 

 

 


输出的运用

 

 

1.cout输出

 

常量可以直接输出,如字符串常量”Hello world”,变量会自动获取变量的值并输出,表达式也可以计算得到它的值并输出,函数调用会获取函数的返回值然后进行输出。

 

在我们以前所写的程序中,调用名空间的语句都需要在前面加上std::,为了代码简洁,我们可以在头文件的后面添加using namespace std;这样,默认都是在这个名空间下的代码了。后面的代码就不需要再加上std::了,这相当于一个所以需要名空间的对象的全部声明,如果我们只是需要cout,也可以在刚才位置加上using std::cout;

 

测试代码如下:两种名空间的声明你只需要任选一种就可以了。

 

input1.png

 

运行结果如下:可以看到,正如我们刚才所说,所有需要输出的值都被输出了。输出多个数据与单个数据的效果是一样的。

 

input2.png

 

我们在第二章的时候也提到过,endl的作用是换行符,它还有另外一种作用,是刷新流缓冲区。我们在使用cin或者是cout时,系统会在内存中开辟一片缓冲区,来存储我们的输入和应用程序的输出。执行cout的时候,系统会先把数据插入到流缓冲区中,直到缓冲区满了或者是遇到了endl,才将缓冲区的数据输入到屏幕上。缓冲区是系统用来暂存数据的一个地方。还有一个操作符也可以刷新缓冲区。如:

 

cout<<flush;

 


常用的几个控制符

 

 

C++提供控制符控制输出数据的格式。

 

默认情况下,系统是按照十进制输出的,如果我们将它改变为某种进制输出,这个设置会一直生效,直到你改变为另一种进制。

 

1. dec

 

转换为十进制数输入/输出

 

2. hex

 

转换为十六进制数输入/输出

 

3.oct

 

转换为八进制数输入/输出

 

运行结果如下:分别将16十六进制输出和八进制输出

 

input3.png

 

4.setw (int)

 

设置输出的宽度

 

int为输出的宽度,当变量不足以填充这些宽度时,默认空格填充,且默认填充在左边,设置一次仅生效一次。

 

运行结果如下:2的左边应该有9个空格字符,输出3的时候设置的宽度已经失效了。

 

注意:如果我们设置的宽度小于数据实际的宽度,该设置就不起作用了。

 

input4.png

 

5.setfill (char)  

 

设置填充字符:你可以选择你想要在数据之外的宽度显示的字符。

 

6.setprecision (int)

 

设置浮点数输出的有效数字位数。

 

 

 


输入的运用

 

 

cin输入

 

在C++中,数据的控制台应用程序输出是采用cin来完成的。>>为流输入符,流输入符后面是变量名,多个变量可以使用流输入符连接起来。cin是系统预定义的标准输入流对象,默认是键盘。当程序在运行的过程中,遇到cin,程序会暂停执行,等待用户的输入。当用户输入完成之后,cin会从流中取得数据。如果输入多个数据,下次读入数据就会优先读取上次未读取的数据。

 

格式如下: 

 

cin>>变量名1>>变量名2>>……>>变量名n;

 

1.cin是系统预定义的一个标准输入设备,默认是键盘;

 

2.使用cin一次可以输入多个变量,用空格、制表符或回车作为输入的两个变量之间的分隔,这三个被称为空白字符。如果你输入的是一个字符串,空白字符是不会输入到字符串里面的。

 

下面我们来看一下代码:前面的三个输入采用回车换行来输入多个数据,由于前面的十六进制输出没有被改为十进制,依然有效。十进制为1000的显示为十六进制为1750。

 

input5.png

 

调试小方法:右击变量名,可以快速改变变量的值和十进制显示。

 

大家可以看到调试技巧是非常重要的,它能帮助你在遇到问题的时候找到问题的根源,希望大家能够重视调试,能够让你事半功倍。

 

input6.png

 

下面我们可以测试一段代码:

 

 

string str;
while(cin>>str){
 if(str==”exit”)
{  break; }
cout<<str<<endl;
}  return 0;
}

 

 

运行结果如下:你输入什么,就会打印什么,直到输入exit退出这个循环。还有另外一种退出方式:ctrl+c,关于这种方式我们后面讲到文件输入的时候再讲。

在线留言

*将严格保护您的信息请放心填写

热门案例

更多 +

帮助中心

在线报名 联系我们

咨询电话(9:00-17:00)

0551-65571116
13225607766

在线客服

点击咨询

扫一扫咨询

移动端查看

在线咨询
手机请直接输入:如1860086xxxx
座机前加区号:如0105992xxxx
输入您的电话号码,点击通话,稍后您将接到我们的电话,该通话对您完全免费,请放心接听!
扫描二维码