设为首页 加入收藏

TOP

二级C++精品课程2-7:输入和输出
2014-11-20 14:39:02 】 浏览:1139
Tags:二级 精品课程 2-7 输入 输出

  C/C++语言本身并不带输入和输出(即I/O)功能,而是提供了输入输出库,也称为I/O库。通过I/O库,我们可以完成输入和输出的操作。大多数C程序使用一种称为stdio(标准I/O)的I/O库,该库也能够在C++中使用。但是,在C++程序中,一种称为iostream(I/O 流库)的I/O库用得更多。
  在C++中,I/O使用了流的概念-字符(或字节)流。每一个I/O 设备传送和接收一系列的字节,称之为流。输入操作可以看成是字节从一个设备流入内存,而输出操作可以看成是字节从内存流出到一个设备。流是输入输出设备的另一个名字-一个文件、屏幕、键盘等。要使用C++标准的I/O流库的功能,必须包括两个头文件:
  #include
  #include
  iostream.h文件提供基本的输入输出功能,iomanip.h 文件提供格式化的功能。通过包含iostream流库,内存中就创建了一些用于处理输入和输出操作的对象。标准的输出流(通常是屏幕)称为cout,标准的输入流(通常是键盘)称为cin。
  输出变量d的值到标准输出设备的语法形式如下:
  cout << d;
  注意:(<<)是双小于号,不是左移操作符,它是一种输出操作符,指出程序哪个流发送数据。
  本语句表示传送d的值到标准的输出设备(由cout表示)。理解这个语句的一种方法是调用了函数operator<<,d是函数参数(关于函数调用,在第五章学习)。明确地说,为了输出d的值到cout,可以使用语句:
  cout.operator<<(d);
  由于"cout.operator<<(d);"写起来繁琐,我们更喜欢把它写成"cout << d;"。


  对于C语言的程序中,使用的是stdio(标准I/O)库,在这个库中不仅定义了面向控制台(显示器和键盘)的输入输出,还分别定义了文件输入输出函数和面向内存的输入输出函数。在C++程序中,我们最常使用的是iostream(I/O 流库),它是基于面向对象的,可以实现stdio库的所有功能,通过它统一了标准I/O、文件和存储块的函数接口,使得对所有设备的操作看上去都一样,隐藏了内部实现。与标准C输入输出库的各种各样的函数相比,输入输出流更容易、更安全、更有效。为了保证兼容性,I/O流类和C标准输入输出函数库是可以共同使用的。
  使用stdio库,需要在程序中包含stdio.h头文件,若使用iostream库,需要包含iostream.h头文件,如果要带参数的格式化输入输出,还需要包含iomanip.h头文件。
  使用stdio库的标准输入输出,要使用scanf和printf函数,scanf函数是从标准输入(键盘)设备读入,printf是向标准输出设备(显示器)输出。
  iostream库在iostream.h中预定义了四个全局的流对象:cout、cerr、clog和cin,用于标准输出和输入,cout和cin在程序设计中会经常用到。cout流对象控制向控制台(显示器)的标准输出,cin控制从控制台(键盘)输入。


2.7.1 标准输出
  输出内置的数据类型到标准的输出设备,用<<运算符和cout输出流。例如:
  cout << d; // 输出d
  cout << d << endl; // 输出d并换行
  cout << "This is the value of d : " << d << endl; // 输出字符串、d并换行
  一个语句中多次使用<<等价于<<单独使用多次,即最后一个语句等价于:
  cout << "This is the value of d : " ;
  cout << d;
  cout << endl;
  符号endl的功能是换行,并清除输出缓冲区。变量的值以缺省的格式打印,改变打印格式方法在后面介绍。


  C语言的转义字符在C++中仍然有效,所以在iostream中,我们可以使用转义字符,比如要达到回车的效果,我们可以使用:
  cout<   也可以使用:
  cout<<'\n';
  如果实现简单的格式化输出,我们可以使用制表符:
  cout<<"name\tage\tsex"<


2.7.2 标准输入
  标准输入的用法与标准输出类似,使用>>运算符和cin输入流。语句:
  cin >> d;
  是从标准输入读(或抽取)一个值到变量d,并与语句中的数据类型匹配。例如:如果d是整型数,上面的命令读数字,直至没有遇到数字为止;如果d是浮点数,该命令读数字、小数点、指数,直至没有遇到合适的字符为止。
  假如把输入和输出语句结合在一起使用,可能会发生问题。我们编写程序时,常常先用一个输出语句打印提示,然后要求用户输入数据。对于一些C++编译器,在输入语句抽取数据前,应先输出一个换行符。例如2-9:
  否则,可能达不到目的。


  经验:如何记<<和>>:cout是c出,出了就小(<<)了; cin是c进,进则收入,就大(>>)
  注意:
cin流不使用指针引用变量,不应给cin传递一个指向变量的指针,如果这样做cin将返回错误。例如,下面的程序cin_err.cpp ,当编译它时将返回六个错误:



】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇二级C++精品课程2-6:枚举类型的.. 下一篇二级C++精品课程第二章小结与课后..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目