while(cin)是啥意思(C++)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了while(cin)是啥意思(C++)相关的知识,希望对你有一定的参考价值。

while (cin >>s)

if(cin)

这里的IF括号中是什么意思?什么时候会运行IF中的内容 什么时候跳过IF

cin是C++编程语言中的标准输入流对象,即istream类的对象。cin主要用于从标准输入读取数据,这里的标准输入,指的是终端的键盘。此外,cout是流的对象,即ostream类的对象,cerr是标准错误输出流的对象,也是ostream 类的对象。

这里的标准输出指的是终端键盘,标准错误输出指的是终端的屏幕。

 cin读取数据也是从缓冲区中获取数据,缓冲区为空时,cin的成员函数会阻塞等待数据的到来,一旦缓冲区中有数据,就触发cin的成员函数去读取数据。

当cin>>从缓冲区中读取数据时,若缓冲区中第一个字符是空格、tab或换行这些分隔符时,cin>>会将其忽略并清除,继续读取下一个字符,若缓冲区为空,则继续等待。但是如果读取成功,字符后面的分隔符是残留在缓冲区的,cin>>不做处理。

扩展资料

输入缓冲是行缓冲。当从键盘上输入一串字符并按回车后,这些字符会首先被送到输入缓冲区中存储。每当按下回车键后,cin.get()   就会检测输入缓冲区中是否有了可读的数据。

cin.get()   还会对键盘上是否有作为流结束标志的   Ctrl+Z   或者   Ctrl+D   键按下作出检查,其检查的方式有两种:阻塞式以及非阻塞式。   

阻塞式检查方式指的是只有在回车键按下之后才对此前是否有   Ctrl+Z   组合键按下进行检查,非阻塞式样指的是按下   Ctrl+D   之后立即响应的方式。

如果在按   Ctrl+D   之前已经从键盘输入了字符,则   Ctrl+D的作用就相当于回车,即把这些字符送到输入缓冲区供读取使用,此时Ctrl+D不再起流结束符的作用。如果按   Ctrl+D   之前没有任何键盘输入,则   Ctrl+D   就是流结束的信号。

参考技术A 一般是保证正确输入的
假设 s是整形 那么输入非整形的 字符 浮点 都会结束循环
cin的返回值 你可以试一下cout<<(cin>>s); 看下如果输入不匹配类型的返回值 当返回值为0的时候 自然不执行if后面的语句了

另外 这种情况下 CTRL+Z也可以结束循环本回答被提问者采纳
参考技术B cin>0 就运行,否则跳出

cin函数的返回值是啥?

比如 int a,b; while(cin>>a>>b) .当输入什么时结束while循环??

cin是C++的标准输入流,其本身是一个对象,并不存在返回值的概念。

不过经常会有类似于

while(cin>>a)的调用,这里并不是cin的返回值,而是>>操作重载函数istream& operator>>(istream&, T &);的返回值,其中第二个参数由cin>>后续参数类型决定。

其返回值类型为istream&类型,大多数情况下其返回值为cin本身(非0值),只有当遇到EOF输入时,返回值为0。

扩展资料:

cin是iostream类的对象,它是从标准输入设备(键盘)获取数据,程序中的变量通过流提取符">>"从流中提取数据。

流提取符">>"从流中提取数据时跳过输入流中的空格、tab键、换行符等空白字符。

注意:只有在输入完数据再按回车键后,该行数据才被送入键盘缓存区,形成输入流,提取运算符">>"才能从中提取数据。

需要注意保证从流中读取数据能正常运行。

参考资料来源:百度百科-标准输入流

参考技术A

cin 是 C++ 标准输入流 。没有返回值。

C++编程语言互换流中的标准输入流,需要iostream.h支持,即开始的时候,要有#include <iostream.h>(新版本编译器为#include <iostream>)读为 "see in",音标 "/si:ɪn/",罗马音"shi in"。

cin代表标准输入设备,使用提取运算符 ">>" 从设备键盘取得数据,送到输入流对象cin中,然后送到内存。使用cin可以获得多个从键盘的输入值,其具体使用格式如下:

cin >> 表达式1 >>表达式2...>> 表达式n;

# include<iostream>
using namespace std;
int main(void)

int a;
 
cout<<"请输入一个数字,按回车结束"<<endl;
cin>>a;
cout<<a<<endl;
 
return 0;

参考技术B 当判断到控制台输入的不是整型变量就会返回一个布尔值fasle,跳出循环本回答被提问者采纳

以上是关于while(cin)是啥意思(C++)的主要内容,如果未能解决你的问题,请参考以下文章

cin函数的返回值是啥?

C++中"std::"是啥意思?

快速排序 c++ while(low<high&&a[high]>=pivotkey) --high; 实现的是啥功能???这句啥意思???

在matlab中std是啥意思?

C++中"std::"是啥意思?起啥作用?

verilog中assign 是啥意思