输入流
阅读(147)

    下面我们要讨论流的输入,这是用流读取运算符(即重载的运算符>>)实现的。流读取运算符通常会跳过输人流中的空格、tab键、换行符等等的空白字符,稍后将介绍如何改变这种行为。当遇到输入流中的文件结束符时,流读取运算符返回0(false);否则,流读取运算符返回对调用该运算符的对象的引用。每个输入流都包含一组用于控制流状态(即格式化、出错状态设置等)的状态位。当输入类型有错时,流读取运算符就会设置输人流的failbit状态位;如果操作失败则设置badbit状态位,以后会介绍如何在I/O操作后测试这些状态位。

    流读取运算符
    注意流读运算符可以连续使用。
//计算用cin和流读取运算符从键盘输入的两个整数值的和
#include <iostream >
using namespace std;
int main()
{
   int x, y;

  cout << "Enter two integers: ";
  cin >> x >> y;
  cout << "Sum of" << x << "and "<< y << "is:" << ( x + y ) << endl;

  return 0;
}

输入: 30  92

输出结果:
Enter two integers: 30 92
Sum of 30 and 92 is: 122


    如果运算符>>和<<的优先级相对较高就会出现问题。如果条件表达式没有用括号括起来,程序就得不到正确的编译。
//避免在流插入运算符和条件运算符之间出现优先级错误
#include <iostream.h>
using namespace std;
int main()
   int x, y;
  cout << "Enter two integers: ";
  cin >> x >> y;
  cout << x << ( x == y ? "is" : "is not" ) << "equal to "<< y << endl;
  return 0;
}

输入:7  5

输出结果:
Enter two integers: 7  5
7 is not equal to 5
输入:8  8
Enter two integers: 8 8
8 is equal to 8


作业

题目描述】
输入三个整数,整数之间由一个空格分隔,整数是32位有符号整数。把第二个输入的整数输出。

【输入】
只有一行,共三个整数,整数之间由一个空格分隔。整数是32位有符号整数。

【输出】
只有一行,一个整数,即输入的第二个整数。

【输入样例】
123 456 789
【输出样例】
456

共有0份作业   我来完成作业