二级C 精品课程2-7:输入和输出

文章作者 100test 发表时间 2007:04:06 21:30:20
来源 100Test.Com百考试题网


  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 ,当编译它时将返回六个错误:

例题 例2-8:
#include
void main(void)
{
 int age.
 float salary.
 char name[128].
 cout << "Enter your first name age salary: ".
 cin >> &.name >> &.age >> &.salary.
 cout << name << " " << age << " " << salary.
}



相关文章


二级C 精品课程第三章运算符和表达式课前索引
二级C 精品课程3-1-1:C 运算符之算术运算符
考纲分析:全国计算机等级考试二级C 语言程序设计辅导
二级C 精品课程第二章小结与课后习题
二级C 精品课程2-7:输入和输出
二级C 精品课程2-6:枚举类型的相关知识
二级C 精品课程2-5:常量的相关知识
二级C 精品课程2-3:基本数据类型
二级C 精品课程2-4:变量的相关知识
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛