1.输入语句: cin
- 程序执行期间,接收外部信息的操作称程序的输入。
C++没有专门的输入输出语句,所有输入输出通过输入输出流实现。
int a,b;
cin>>a>>b; //程序在此停下,等待键盘输入变量值
输入语句自动过滤空白字符。
在缺省的情况下,cin自动跳过输入的空格,因此,cin不能讲输入的空格赋给字符型变量,也不能将输入的回车键字符赋给字符型变量。
要把键盘上输入的每个字符(包括空格和回车)都作为一个输入字符赋给字符型变量,必须使用函数cin.get().
- cin.get()从输入行中取出一个字符,并将它赋给字符型变量。该语句一次只能从输入行中提取一个字符。
- 例:
或者用’ ‘把要输入的字符的转义序列括起来(空格可以直接以’ ‘输入)。char c1;
cin.get(c1);
输入十六进制或八进制数据
- 在缺省的情况下,系统约定输入的数据是十进制数据。当想按十六进制或八进制输入数据时,必须指明相应的数据类型:hex为十六进制、oct为八进制、dec为十进制。
示例:
int i,j,k,l;
cin>>hex>>i; //指明输入为十六进制
cin>>oct>>j; //指明输入为八进制
cin>>k;
cin>>dec>>1; //指明输入为十进制
若输入为: 11 11 12 12,则i、j、k、l的十进制值为:i=17,j=9,k=10,l=12.
使用非十进制输入时,要注意:
- 八进制或十六进制输入,只适用于整型变量,不适用与字符型变量和实型变量;
- 在cin中指明使用的数制输入后,则所指明的数制一直有效,直到在接着的cin中指明输入时所使用的另一数制为止;
- 输入数据的格式、个数和类型必须与cin中列举的变量类型一一对应。
2.输出语句: cout
程序向外部发送信息的操作称为程序的输出。
int a=6;
float f1=12.4;
char s1[]="abcd";
cout<<a<<'\t'<<f1<<'\t'<<s1<<endl;
cout将双引号中的字符常量按原样输出。
指定输出项占用的宽度
是在输出数据项之间进行隔开的方法之一,如:
cout<<setw(6)<<i<<setw(10)<<j<<endl;
//结果: _ _ _ _ _4_ _ _ _ _ _ _ _12
解析:setw(6)指明其后的输出项占用的字符宽度为6,并向右对齐。
setw()使用注意:
- 在程序的开始位置必须包含头文件iomanip.h;
- 括号中必须给出一个表达式,指明紧跟其输出项的宽度;
- 该设置仅对其后的一个输出项有效。
输出八、十六进制数和科学表示法的实数
输出八、十六进制数方法: hex-16、oct-8、dec-10
int a = 16;
cout <<hex<< a << endl;
输出科学表示法的实数
- 指定按科学表示法形式输出的语句:cout.setf(ios::scientific,ios::floatfield);
#include<iostream.h>
void main(void)
{
float x = 3.14,y=100;
cout.setf(ios::scientific,ios::floatfield);
//表明浮点数用科学表示法输出
cout<<x<<'\t';
cout<<y<<endl;
}
与cin相同,当在cout中指明以一种进制输出整数时,对其后的输出均有效,知道指明以另一种进制输出整型数据为止。实数的输出也一样。
- 指定按定点数格式输出的语句为:cout.setf(ios::fixed,ios::floatfield);