第3章 简单的输入输出

更新时间:2023-06-04 22:23:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

c语言

输入语句:cin 程序在执行期间,接收外部信息的操作称为程序的输入;而把程序向外部发送信息的操

作称为程序的输出。在C++中没有专门的输入输出语句,所有输入输出是通过输入输出

流来实现的。

c语言

要使用C++提供的输入输出时,必须在程序的开头增加一行:

#include <iostream.h> 即包含输入输出流的头文件“iostream.h”。有关包含文件的作用,在编译预处理部分

(第五章)作详细介绍。

c语言

输入十进制整数和实数cin >> <变量名1>《 >> <变量名2> ...... 》(举例说明)

int a,b;cin>>a>>b; //程序运行至此停下,等待从键盘输入变量值键盘 3 a

键盘输入:3 5<CR> 或:3<CR> 5<CR> 均可。键盘

5 b

输入语句自动过滤空白字符。

c语言

浮点型数据同整型数据一样。 float c,d; cin>>c>>d; char ch1,ch2; cin>>ch1>>ch2; 若输入:ab<CR> 则ch1为a, ch2为b。

若输入:a b<CR> 则ch1为a, ch2为b。

字符型变量过滤空白字符。cin格式过滤空白字符

c语言

float a;int i1,i2; char ch1,ch2;

输入:34 5.678 1a b<CR>i1:34 a:5.678 ch1:a i2:1 ch2:b

cin>>i1>>a>>i2>>ch1>>ch2;

在缺省的情况下,cin自动跳过输入的空格,换言 之,cin不能将输入的空格赋给字符型变量,同样 地,回车键也是作为输入字符之间的分隔符,也 不能将输入的回车键字符赋给字符型变量。

c语言

若要把从键盘上输入的每一个字符,包括空格和 回车键都作为一个输入字符赋给字符型变量时, 必须使用函数cin.get()。其格式为:cin.get(<字符型变量>);

cin.get()从输入行中取出一个字符,并将它赋给字 符型变量。这个语句一次只能从输入行中提取一 个字符。char c1; cin.get(c1);

c语言

char ch1,ch2,ch3;cin.get(ch1);

则:ch1:A ch2:空格 ch3:B

cin.get(ch2);cin.get(ch3); 输入:A B<CR>

并且在输入缓冲区中保留回车键。空格的ASCII码为32ch2 0 0 1 0 0 0 0 0

c语言

输入十六进制或八进制数据 在缺省的情况下,系统约定输入的整型数是十进 制数据。当要求按八进制或十六进制输入数据时, 在cin中必须指明相应的数据类型:hex为十六进 制;oct为八进制;dec为十进制。

c语言

int i,j,k,l; cin>>hex>>i; cin>>oct>>j; cin>>k; cin>>dec>>l; //指明输入为十六进制数 //指明输入为八进制数 //输入仍为八进制数 //指明输入为十进制数

当执行到语句cin时,若输入的数据为:

11 11 12 12<CR>结果:i:17 j:9 k:10 l:12

c语言

使用非十进制数输入时,要注意以下几点: 1、八进制或十六进制数的输入,只能适用于整型 变量,不适用于字符型变量,实型变量。 2、当在cin中指明使用的数制输入后,则所指明的 数制一直有效,直到在接着的cin中指明输入时所 使用的另一数制为止。如上例中,输入k的值时, 仍为八进制。

c语言

3、输入数据的格式、个数和类型必

须与cin中所列举的变量类型一一对应。一旦输入出错,不仅使

当前的输入数据不正确,而且使得后面的提取数据也不正确。

int a, b;

cin>>a,b; cin>>a b;

cin>>a>>b;

cin>>ab;

c语言

输出数据

cout

与输入cin对应的输出是cout输出流。当要输出一个表达式的值时,可使用cout来实现, 其一般格式为: cout << <表达式> 《<< <表达式>......》;

其中运算符“<<”称为插入运算符,它将紧跟其后 的表达式的值,输出到显示器当前光标的位置。

c语言

int a=6; float f1=12.4; char s1[ ]=“abcd”; cout<<a<< \t <<f1<< \t <<s1<<endl;6 12.4 abcd 6 a 显示器

12.4f1

显示器

a b c d \0

显示器

\t 为转义字符Tab endl为回车或‘\n

s1

c语言

cout将双引号中的字符串常量按其原样输出char ch1= a ,ch2= b ; cout<<“c1=“<<ch1<< \t <<“c2=“<<ch2<<endl; c1=a c2=b<CR>

int i1=4,i2=5;float a=3.5; cout<<“a*i1=“<<a*i1<<endl<<“a*i2=“<<a*i2<<endl;

a*i1=14

a*i2=17.5

c语言

指定输出项占用的宽度:

在输出的数据项之间进行隔开的另一种办法是指定输出项 的宽度。如上面的两个输出语句可改写为: cout <<setw(6)<< i<<setw(10)<<j<<endl;_ _ _ _ _ 4_ _ _ _ _ _ _ _ _12 cout << setw(5)<<m<<setw(10)<<j*k<<endl; _ _ _ _ 7_ _ _ _ _ _ _ _ 24 其中setw(6)指明其后的输出项占用的字符宽度为6,即 括号中的值指出紧跟其后的输出项占用的字符位置个数, 并向右对齐。setw是“set width”的缩写。

c语言

使用setw()应注意以下三点: 1、在程序的开始位置必须包含头文件iomanip.h,即在程 序的开头增加: #include <iomanip.h>

2、括号中必须给出一个表达式(值为正整数),它指明紧跟其后输出项的宽度。

3、该设置仅对其后的一个输出项有效。一旦按指定的宽 度输出其后的输出项后,又回到原来的缺省输出方式。

c语言

输出八、十六进制数和科学表示法的实数 对于整型数据可指定以十六进制或八进制输出,而对于 实型数据可指定以科学表示法形式输出。例如,设有如 下一个程序: #include <iostream.h> void main(void) { float x=3.14,y=100; cout.setf(ios::scientific,ios::floatfield); //表明浮点数用科学表示法输出 cout << x<< \t ; cout <<y<<endl; 执行该程序后的输出为: 3.140000e+000 1.000000e+002 }

c语言

与cin中类同,当在cout中指明以一种进制输出整 数时,对其后的输出均有效,直到指明又以另一

种进制输出整型数据为止。对实数的输出,也是这样,一旦指明按科学表示法输出实数,则接着

的输出均按科学表示法输出,直到指明以定点数输出为止。明确指定按定点数格式输出(缺省的

输出方式)的语句为:cout.setf(ios::fixed,ios::floatfield);

本文来源:https://www.bwwdw.com/article/54q1.html

Top