下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

C++基础之cin和cout

作者:课课家     来源: http://www.kokojia.com点击数:1860发布时间: 2019-03-01 17:07:00

标签: 编程语言C++cin和cout

大神带你学编程,欢迎选课

  相信接触过C语言的同学都知道C语言中的输入和输出是怎么样的了,那么在C++中相对应的输入和输出是不是也是和C语言中的输入和输出是同一个概念和作用呢?在本次的讲解中课课家笔者就主要为大家简单介绍C++的输入输出的概念和作用。

C++基础之cin和cout_编程语言_C++_cin和cout_课课家

  众所周知,在C语言中我们通常会使用printf和scanf来对数据进行输入输出操作。在C++语言中,虽然说C语言的这一套输入输出库我们仍能使用,但是C++语言其实自定义了一套新的、更容易使用的输入输出库。在C++程序中,输入与输出可以看做是一连串的数据流,输入即可视为从文件或键盘中输入程序中的一串数据流,而输出则可以视为从程序中输出一连串的数据流到显示屏或文件中。在编写C++程序时,如果我们需要使用输入输出时,则需要包含头文件<iOStream>。在<iostream>中定义了用于输入输出的对象,比如常见的cin表示标准输入、cout表示标准输出、cerr表示标准错误。需要我们注意的地方是,当我们使用cout进行输出时需要紧跟“<<”操作符,使用cin进行输入时需要紧跟“>>”操作符,这两个操作符可以自行分析所处理的数据类型,因此无需像使用scanf和printf那样给出格式控制字符串。下面是简单的输入输出代码示例:

  #include<iostream>

  usingnamespacestd;

  intmain(){

  intx;

  floaty;

  cout<<"Pleaseinputanintnumber:"<<endl;

  cin>>x;

  cout<<"Theintnumberisx="<<x<<endl;

  cout<<"Pleaseinputafloatnumber:"<<endl;

  cin>>y;

  cout<<"Thefloatnumberisy="<<y<<endl;

  return0;

  }

  输出结果

  Pleaseinputanintnumber:

  8↙

  Theintnumberisx=8

  Pleaseinputafloatnumber:

  7.4↙

  Thefloatnumberisy=7.4

  第6行代码表示输出“"Pleaseinputaintnumber:”这样的一个字符串,以提示用户输入整数,其中的endl表示换行,这里和C语言里的“\\n”作用相同,所以这段代码中也可以用“‘\\n’”来替代endl。endl最后一个字符是字母“l”,而非阿拉伯数字“1”,它是“endofline”的缩写。第7行代码表示从标准输入(键盘)中读入一个int型的数据并存入到变量x中。如果此时用户输入的不是int型数据,则会被强制转化为int型数据。第8行代码将输入的整型数据输出。从该语句中我们可以看出cout可以连续的输出。同样cin也是支持对多个变量连续输入的。下面是cin连续输入的代码示例:

  #include<iostream>

  usingnamespacestd;

  intmain()

  {

  intx;

  floaty;

  cout<<"Pleaseinputanintnumberandafloatnumber:"<<endl;

  cin>>x>>y;

  cout<<"Theintnumberisx="<<x<<endl;

  cout<<"Thefloatnumberisy="<<y<<endl;

  return0;

  }

  输出结果

  Pleaseinputanintnumberandafloatnumber:

  87.4↙

  Theintnumberisx=8

  Thefloatnumberisy=7.4

  第8行代码连续从标准输入中读取一个整型和一个浮点型数字(默认以空格分隔),分别存入到x和y中。输入操作符“>>”在读入下一个输入项前会忽略前一项后面的空格,所以数字8和7.4之间要有一个空格,当cin读入8后忽略空格,接着读取7.4。当使用cin>>val输入变量时,如果输入一个变量到val中,则该表达式返回真(true),否则返回假(false)。通过利用这一特性,我们可以连续输入数据。下面是使用cin连续输入数据的代码示例:

  #include<iostream>

  usingnamespacestd;

  intmain()

  {

  intsum=0;

  intval=0;

  cout<<"Pleaseinputanumber:"<<endl;

  while(cin>>val)

  {

  sum+=val;

  cout<<"Pleaseinputnextnumber:"<<endl;

  }

  cout<<"Thesumofallnumberissum="<<sum<<endl;

  return0;

  }

  输出结果

  Pleaseinputanumber:

  12↙

  Pleaseinputnextnumber:

  34↙

  Pleaseinputnextnumber:

  100.9↙

  Pleaseinputnextnumber:

  Thesumofallnumberissum=146

  此时我们需要注意的地方是,cin是带有缓冲区的。当用户输入100.9时,cin读入100,而将.9留在缓冲区中。下次再执行cin>>val语句时,因为缓冲区中有数据,所以不会等待用户输入,而是直接从缓冲区中读取;cin将.9读入,它不是一个有效的整数,读取失败,返回false,终止了while循环。

  最后笔者给大家说明两点注意事项:

  ①cin、cout、cerr不是C++中的关键字,其本质上是函数调用,它们的实现采用的是C++的运算符重载。其中cout和cerr的输出目的地都是显示器,不同的是cout是带有缓冲的,而cerr则不带缓冲。

  ②在C++中希望大家养成习惯使用cin、cout,因为它比C语言中的scanf、printf更加灵活易用,对于我们方便编写程序和提高效率有很大的作用。

  本次C++基础之cin和cout的讲解到此就暂告一段落,如果以后有什么相关的内容进行继续补充或者修改的话,笔者会在此继续进行相关的内容的补充或者修改的工作,同时也欢迎大家对本次的讲解提出自己的建议和补充。最后笔者希望本次的的讲解对大家学习C++能够起到一定的帮助作用!

赞(0)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程