cin与cout的用法

合集下载

cin的介绍

cin的介绍

1.cin简介cin是C++编程语言中的标准输入流对象,即istream类的对象。

cin主要用于从标准输入读取数据,这里的标准输入,指的是终端的键盘。

此外,cout是流的对象,即ostream类的对象,cerr是标准错误输出流的对象,也是ostream 类的对象。

这里的标准输出指的是终端键盘,标准错误输出指的是终端的屏幕。

在理解cin功能时,不得不提标准输入缓冲区。

当我们从键盘输入字符串的时候需要敲一下回车键才能够将这个字符串送入到缓冲区中,那么敲入的这个回车键(\r)会被转换为一个换行符\n,这个换行符\n也会被存储在cin的缓冲区中并且被当成一个字符来计算!比如我们在键盘上敲下了123456这个字符串,然后敲一下回车键(\r)将这个字符串送入了缓冲区中,那么此时缓冲区中的字节个数是7 ,而不是6。

cin读取数据也是从缓冲区中获取数据,缓冲区为空时,cin的成员函数会阻塞等待数据的到来,一旦缓冲区中有数据,就触发cin的成员函数去读取数据。

2. cin的常用读取方法使用cin从标准输入读取数据时,通常用到的方法有cin>>,cin.get,cin.getline。

2.1cin>>的用法cin可以连续从键盘读取想要的数据,以空格、tab或换行作为分隔符。

实例程序如下。

#include <iostream>usingnamespace std;int main(){char a;int b;float c;stringcin>>a>>b>>c;cout<<a<<" "<<b<<" "<<c<<" "<<endl;system("pause");return0;}在屏幕中一次输入:a[回车]11[回车]5.56[回车],程序将输出如下结果:注意:(1)cin>>等价于cin.operator>>(),即调用成员函数operator>>()进行读取数据。

cin与cout用法

cin与cout用法

cin与cout用法
cin和cout是C++语言中常用的输入输出流对象。

其中,cin用于从用户输入中读取数据,而cout用于向屏幕或其他输出设备输出数据。

cin的用法如下:
1. 首先需要包含头文件:`#include<iostream>`
2.使用符号`>>`进行输入操作,例如:`cin >> 变量名`
3.读取的数据会存储到对应的变量中。

cout的用法如下:
1. 首先需要包含头文件:`#include<iostream>`
2.使用符号`<<`进行输出操作,例如:`cout << 输出内容`
3.可以同时输出多个内容,例如`cout << 内容1 << 内容2 << ...`
4. 输出结束后可以使用endl进行换行,即:`cout << 输出内容
<<endl`。

需要注意的是,输入的数据类型和变量类型需要保持一致,如果不一致会导致错误或不符合预期。

同样地,输出的内容需要使用正确的格式化方式才能显示正确的结果。

c中cin的用法

c中cin的用法

c中cin的用法c语言中符号的用法你知道吗?下面小编就跟你们详细介绍下c语言中符号的用法,希望对你们有用。

c语言中符号的用法如下:1、cin>>用法1:最基本,也是最常用的用法,输入一个数字:#include <iostream>using namespace std;main (){int a,b;cin>>a>>b;cout<<a+b<<endl;}输入:2[回车]3[回车]输出:5注意:>> 是会过滤掉不可见字符(如空格回车,TAB 等)cin>>noskipws>>input[j];//不想略过空白字符,那就使用noskipws 流控制用法2:接受一个字符串,遇“空格”、“TAB”、“回车”都结束#include <iostream>using namespace std;main (){char a[20];cin>>a;cout<<a<<endl;}输入:jkljkljkl输出:jkljkljkl输入:jkljkl jkljkl //遇空格结束输出:jkljkl2、cin.get()用法1: cin.get(字符变量名)可以用来接收字符#include <iostream>using namespace std;main (){char ch;ch=cin.get(); //或者cin.get(ch);cout<<ch<<endl;}输入:jljkljkl输出:j用法2:cin.get(字符数组名,接收字符数目)用来接收一行字符串,可以接收空格#include <iostream>using namespace std;main (){char a[20];cin.get(a,20);cout<<a<<endl;}输入:jkl jkl jkl输出:jkl jkl jkl输入:abcdeabcdeabcdeabcdeabcde (输入25个字符)输出:abcdeabcdeabcdeabcd (接收19个字符+1个'\0')用法3:cin.get(无参数)没有参数主要是用于舍弃输入流中的不需要的字符,或者舍弃回车,弥补cin.get(字符数组名,接收字符数目)的不足.这个我还不知道怎么用,知道的前辈请赐教;3、cin.getline() // 接受一个字符串,可以接收空格并输出#include <iostream>using namespace std;main (){char m[20];cin.getline(m,5);cout<<m<<endl;}输入:jkljkljkl输出:jklj接受5个字符到m中,其中最后一个为'\0',所以只看到4个字符输出;如果把5改成20:输入:jkljkljkl输出:jkljkljkl输入:jklf fjlsjf fjsdklf输出:jklf fjlsjf fjsdklf//延伸://cin.getline()实际上有三个参数,cin.getline(接受字符串的看哦那间m,接受个数5,结束字符)//当第三个参数省略时,系统默认为'\0'//如果将例子中cin.getline()改为cin.getline(m,5,'a');当输入jlkjkljkl时输出jklj,输入jkaljkljkl时,输出jk当用在多维数组中的时候,也可以用cin.getline(m,20)之类的用法:#include<iostream>#include<string>using namespace std;main (){char m[3][20];for(int i=0;i<3;i++){cout<<"\n请输入第"<<i+1<<"个字符串:"<<endl;cin.getline(m,20);}cout<<endl;for(int j=0;j<3;j++)cout<<"输出m["<<j<<"]的值:"<<m[j]<<endl;}请输入第1个字符串:kskr1请输入第2个字符串:kskr2请输入第3个字符串:kskr3输出m[0]的值:kskr1输出m[1]的值:kskr2输出m[2]的值:kskr34、getline() // 接受一个字符串,可以接收空格并输出,需包含“#include<string>”#include<iostream>#include<string>using namespace std;main (){string str;getline(cin,str);cout<<str<<endl;}输入:jkljkljkl输出:jkljkljkl输入:jkl jfksldfj jklsjfl输出:jkl jfksldfj jklsjfl和cin.getline()类似,但是cin.getline()属于istream流,而getline()属于string流,是不一样的两个函数注意:在使用getline时有一个奇怪的现象,在vc6下, 要打两次回车才可以结束5、gets() // 接受一个字符串,可以接收空格并输出,需包含“#include<string>”#include<iostream>#include<string>using namespace std;main (){char m[20];gets(m); //不能写成m=gets();cout<<m<<endl;}输入:jkljkljkl输出:jkljkljkl输入:jkl jkl jkl输出:jkl jkl jkl类似cin.getline()里面的一个例子,gets()同样可以用在多维数组里面:#include<iostream>#include<string>using namespace std;main (){char m[3][20];for(int i=0;i<3;i++){cout<<"\n请输入第"<<i+1<<"个字符串:"<<endl;gets(m);}cout<<endl;for(int j=0;j<3;j++)cout<<"输出m["<<j<<"]的值:"<<m[j]<<endl;}请输入第1个字符串:kskr1请输入第2个字符串:kskr2请输入第3个字符串:kskr3输出m[0]的值:kskr1输出m[1]的值:kskr2输出m[2]的值:kskr3自我感觉gets()和cin.getline()的用法很类似,只不过cin.getline()多一个参数罢了;这里顺带说明一下,对于本文中的这个kskr1,kskr2,kskr3的例子,对于cin>>也可以适用,原因是这里输入的没有空格,如果输入了空格,比如“ks kr jkl[回车]”那么cin就会已经接收到3个字符串,“ks,kr,jkl”;再如“kskr 1[回车]kskr 2[回车]”,那么则接收“kskr,1,kskr”;这不是我们所要的结果!而cin.getline()和gets()因为可以接收空格,所以不会产生这个错误;6、getchar() //接受一个字符,需包含“#include<string>”#include<iostream>#include<string>using namespace std;main (){char ch;ch=getchar(); //不能写成getchar(ch);cout<<ch<<endl;}输入:jkljkljkl输出:j//getchar()是C语言的函数,C++也可以兼容,但是尽量不用或少用;。

cin,cout用法详解

cin,cout用法详解

在C中,输入输出要用printf和scanf,这是2个很麻烦的东西,因为在输入数据的同时还要说明数据的类型,如果输入数据较多,那就很麻烦了,所以我们的C++搞了两个更爽的东西cout和cin,来替换它们.首先我们先了解一下这两个东西的来处,它们是来自C++的一个类库叫 " iostream".iostream是由istream(输入类)和ostream(输出类)派生.所以在iostream中就有了输入和输出的相关对象:1,cin,表示标准输入(standard input)的istream类对象.cin使我们可以从设备读取数据.2,cout,表示标准输出(standard output)的ostream类对象.cout使我们可以向设备输出或者写数据.3,cerr(暂时还没试过,先别理吧)暂时先介绍那么多,这里我主要想说的是cin.get()和cin.getline(),cin.clear(),cin.sync()等的用法.首先看看cin.get(),它是一个读取单个字符的方法.字符变量=cin.get();相当于cin.get(字符变量);#include<iostream>usingnamespace std;int main(){char cstr;cstr=cin.get(); //读取单个字符,在屏幕输入,也相当于cin.get(cstr);cout<<cstr<<endl; //输出刚刚载入的单个字符system("pause");}运行程序后,一切正常:输入:a 输出:a但当我们输入的不只一个英文字符时,那又会如何呢?输入:abcd 输出:a由此可知,它只能读取第一个字符,但如果我们把程序修改成:int main(){char cstr;char bstr;cstr=cin.get(); //读取单个字符,在屏幕输入bstr=cin.get();cout<<cstr<<bstr<<endl; //输出刚刚载入的单个字符system("pause");}我们再输入:abcd 最后输出了:ab既然cin.get()是读取第一个字符,那bstr为什么不也是a呢?其实原理是这样的:在cin这个对象里,有一个储存字符的流,可以想象成缓冲区,但事实上是cin里封装的一个东西.当我们在程序上输入字符后,对象cin获得了我们输入的字符,例如获得abcd,然后再通过.get()把流里面的第一个字符去掉,赋给cstr,这时,cin里储存的流的数据为bcd,而cstr则获得了 a.当我们再次运行bstr=cin.get();时,同理把cin里流的数据的b拿出来给了bstr,此后,cin里面的流的数据为cd,而bstr则为b,所以最后输出时,便能输出ab了.还有个补充,究竟什么时候才输入数据呢?我们可以再通过上面的代码进行尝试,我们输入单个字母'a',然后按回车,发现并没有输出数据,而是再等待一次输入数据,我们再输入字母'b',按回车后便输出ab了.相信到这里,大家都应该明白了,因为当我们第一次输入a后,通过cstr=cin.get();使cin里的流没有数据,清空了.所以到第二次要再赋给bstr值时,它找不到数据,要重新再输入数据.由此来看可以知道,当cin里的流数据清空时,便需要重新输入才能赋值.而cin.get()还有个用法:int main(){char cstr;char bstr;cstr=cin.get(); //读取单个字符,在屏幕输入cin.get();bstr=cin.get();cout<<cstr<<bstr<<endl; //输出刚刚载入的单个字符system("pause");}程序中有3个cin.get(),所以我们尝试输入:abc. 发现输出了:ac由此能知道,当空回调cin.get();时,cin.get便自动在cin中的流数据中删除一个字母,起了一个删除作用.对cin.get()有了一定了解之后,对cin.getline()的学习就可以更快了,原理是一致的,但是cin.getline()则是获取一整行文本.以下是cin.getline()原形: getline(char *line,intsize,char='\n')第一个就是字符指针,第二个是字符长度,第三个1行的结束标识符.int main(){char cstr[200];cin.getline(cstr,sizeof(str));//第三个参数不输入,默认回车为结束标识符cout<<cstr<<endl; //输出system("pause");}这样我们输入一堆英文或数字,然后按回车,就会输出一行刚刚输出的东西了.接下来.我们讨论第三个参数的作用.int main(){char cstr[200];cin.getline(cstr,sizeof(str),'X'); //我们以单个英文字母'X'作为终止标识符cout<<cstr<<endl; //输出system("pause");}当我们输入一大堆东西,例如输入: kkkkkkk(回车) 输出: kkkkkkk(回车)llllllx(回车) llllll这样X便成了终止符,其原理和cin.get一样.或许我们可以像cin.get那样尝试一下:int main(){char cstr[200];char bstr[200];cin.getline(cstr,sizeof(str),'X'); //我们以单个英文字母'X'作为终止标识符cin.getline(bstr,sizeof(btr),'a');cout<<"第一行是:"<<cstr<<endl; //输出cout<<"第二行是:"<<bstr<<endl;system("pause");}我们输入:kkkkkkkkk(回车) 输出:第一行是:kkkkkkkkk(回车)oooooooooX(回车) oooo ooooo(回车)bbbbbbbbba(回车) 第二行是:(回车)bbbbbbbbb在这里,我在不厌其烦地说一下原理,如果刚刚cin.get()原理看懂的可以跳过. 首先,我们第一次getline会把X前面的字符赋给cstr,然后从cin里的数据流删除,标识符X也删除了,所以输出的cstr如上所示.当我们第二次运行getline 时,此时cin里的数据流为(回车)bbbbbbbbba,回车也是一个字符,事实上在数据流里用"\n"表示,接着就按照原来第一次的方法,把标识符'a'前面的字符赋给bstr,然后再删除字符号及标识符.所以输出结果如上.接下来我们谈谈cin.clear的作用,第一次看到这东西,很多人以为就是清空cin 里面的数据流,而实际上却与此相差很远,首先我们看看以下代码:#include<iostream>usingnamespace std;int main(){int a;cin>>a;cout<<cin.rdstate()<<endl;if(cin.rdstate() == ios::goodbit){cout<<"输入数据的类型正确,无错误!"<<endl;}if(cin.rdstate() == ios_base::failbit){cout<<"输入数据类型错误,非致命错误,可清除输入缓冲区挽回!"<<endl; }system("pause");}我们定义要输入到的变量是整型,但如果我们输入了英文字母或者汉字,那就会发生错误,cin里有个方法能检测这个错误,就是cin.rdstate();当cin.rdstate()返回0(即ios::goodbit)时表示无错误,可以继续输入或者操作,若返回4则发生非致命错误即ios::failbit,则不能继续输入或操作.而cin.clear则可以控制我们此时cin里对这个问题的一个标识.语发如下:cin.clear(标识符);标识符号为:∙goodbit 无错误∙Eofbit 已到达文件尾∙failbit 非致命的输入/输出错误,可挽回∙badbit 致命的输入/输出错误,无法挽回若在输入输出类里.需要加ios::标识符号通过cin.clear,我们能确认它的内部标识符,如果输入错误则能重新输入.结合真正的清空数据流方法cin.sync(),请看下例:#include<iostream>usingnamespace std;int main(){int a;while(1){cin>>a;if(!cin) //条件可改写为cin.fail(){cout<<"输入有错!请重新输入"<<endl;cin.clear();cin.sync(); //清空流}else{cout<<a;break;}}system("pause");}上面的cin默认参数为0,即无错误,正常操作.当我们输入英文字母'k'时,它的状态标识改为fail(即1),即错误,用cout对用户输出信息,再用cin.clear 让错误标识改回为0,让我们可以继续输入,再清空流数据继续输入.如果我们没有了cin.clear,则会进入死循环,其过程为我们输入了英文字母,它的状态标识便为fail,当运行到条件判断时,便总是回到错误的条件表示里,并且我们再也没办法输入,因为错误的表示关闭了cin,所以会进入死循环.对比:输入字符串1.cin>>的读入方式总是将前导的空格(包括空格,回车,水平或垂直制表符等)过滤2.getline可将字符串一次性地输入。

cout函数的用法

cout函数的用法

cout函数的用法C++中的cout函数是一个用于标准输出的函数。

它是iostream库中的一部分,可以通过#include指令来包含这个库。

在C++中,cout函数被用于向终端打印输出。

它可以输出各种数据类型的值,如整数、浮点数、字符和字符串等。

cout函数的用法非常简单,只需将要输出的数据作为参数传递给它即可。

下面是几个关于cout函数的使用示例:1. 输出整数:```cppint num = 10;cout << "The number is: " << num << endl; // 输出:The number is: 10```在这个示例中,首先我们定义了一个整型变量num并初始化为10。

然后使用cout函数输出了一个字符串"The number is: ",接着用<<操作符连接了变量num,最后使用endl结束一行并换行。

这样就将整数num的值输出到了终端。

2. 输出浮点数:```cppfloat pi = 3.14159;cout << "The value of pi is: " << pi << endl; // 输出:The value of pi is: 3.14159 ```这个示例中,我们定义了一个浮点型变量pi并初始化为3.14159。

然后使用cout函数输出了一个字符串"The value of pi is: ",接着用<<操作符连接了变量pi。

最后使用endl结束一行并换行。

这样就将浮点数pi的值输出到了终端。

3. 输出字符:```cppchar ch = 'A';cout << "The character is: " << ch << endl; // 输出:The character is: A```在这个示例中,我们定义了一个字符变量ch并初始化为字符'A'。

cin的详细用法

cin的详细用法

cin的详细用法1.cin简介cin是C++编程语言中的标准输入流对象,即istream类的对象。

cin主要用于从标准输入读取数据,这里的标准输入,指的是终端的键盘。

此外,cout是流的对象,即ostream类的对象,cerr是标准错误输出流的对象,也是ostream 类的对象。

这里的标准输出指的是终端键盘,标准错误输出指的是终端的屏幕。

在理解cin功能时,不得不提标准输入缓冲区。

当我们从键盘输入字符串的时候需要敲一下回车键才能够将这个字符串送入到缓冲区中,那么敲入的这个回车键(\r)会被转换为一个换行符\n,这个换行符\n也会被存储在cin的缓冲区中并且被当成一个字符来计算!比如我们在键盘上敲下了123456这个字符串,然后敲一下回车键(\r)将这个字符串送入了缓冲区中,那么此时缓冲区中的字节个数是7 ,而不是6。

cin读取数据也是从缓冲区中获取数据,缓冲区为空时,cin的成员函数会阻塞等待数据的到来,一旦缓冲区中有数据,就触发cin的成员函数去读取数据。

2. cin的常用读取方法使用cin从标准输入读取数据时,通常用到的方法有cin>>,cin.get,cin.getline。

2.1cin>>的用法cin可以连续从键盘读取想要的数据,以空格、tab或换行作为分隔符。

实例程序如下。

#include<iostream>usingnamespace std;int main(){char a;int b;float c;stringcin>>a>>b>>c;cout<<a<<" "<<b<<" "<<c<<" "<<endl;system("pause");return 0;}在屏幕中一次输入:a[回车]11[回车]5.56[回车],程序将输出如下结果:注意:(1)cin>>等价于cin.operator>>(),即调用成员函数operator>>()进行读取数据。

cout用法字符串

cout用法字符串

cout用法字符串C++中的cout用法字符串在C++编程语言中,cout是一个用于标准输出流的对象,它用于将数据打印到屏幕上。

cout主要用于向控制台输出字符串和其他数据类型的值。

本文将详细介绍cout的用法,特别是在打印字符串方面。

让我们先看一个简单的示例:```cpp#include <iostream>using namespace std;int main() {cout << "Hello, World!" << endl;return 0;}```在这个示例中,我们使用cout对象输出了字符串"Hello, World!"。

cout使用了插入运算符"<<"来将要输出的内容插入到输出流中。

在这里,字符串是用双引号括起来的。

注意,每个cout语句都以分号结尾。

除了字符串,我们还可以使用cout来输出其他数据类型的值。

让我们看一个例子:```cpp#include <iostream>using namespace std;int main() {int num = 10;float f = 3.14;char ch = 'A';cout << "Integer: " << num << endl;cout << "Float: " << f << endl;cout << "Character: " << ch << endl;return 0;}```在这个例子中,我们创建了一个名为num的整数变量,一个名为f的浮点数变量,以及一个名为ch的字符变量。

然后,我们使用cout对象输出了这些变量的值。

c中cout的用法

c中cout的用法

c中cout的用法c中cout的用法的用法你知道吗?下面小编就跟你们详细介绍下c中cout的用法的用法,希望对你们有用。

c中cout的用法的用法如下:C++的赋值语句具有其他高级语言的赋值语句的功能。

但不同的是,C++中的赋值号“=“是一个运算符,可以写成1a=b=c=d;而在其他大多数语言中赋值号不是运算符,上面的写法是不合法的。

关于赋值表达式与赋值语句的概念。

在C++中,赋值表达式可以包括在其他表达式之中,例如:1if((a=b)>0) cout<<"a>0"<<endl;按语法规定if后面的( )内是一个条件。

现在在x的位置上换上一个赋值表达式“a=b“,其作用是,先进行赋值运算(将b的值赋给a),然后判断a是否大于0,如大于0,执行cout<<"a>0"<<endl;。

在if 语句中的“a=b“不是赋值语句而是赋值表达式,这样写是合法的。

不能写成1if((a=b;)>0) cout<<"a>0"<<endl;因为在if的条件中不能包含赋值语句。

C++把赋值语句和赋值表达式区别开来,增加了表达式的种类,能实现其他语言中难以实现的功能。

C++输入cout与输出cin输入和输出并不是C++语言中的正式组成成分。

C和C++本身都没有为输入和输出提供专门的语句结构。

输入输出不是由C++本身定义的,而是在编译系统提供的I/O库中定义的。

C++的输出和输入是用“流”(stream)的方式实现的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

cin与cout一:标准输入函数cin不知道说它是个函数对还是不对,它是代表标准的输入设备--键盘。

他是属于流的,他的用法和流的用法是一样的。

也就是:cin>>变量;小小的说明一下,输入多个变量可以写在一行,如:cin>>x>>y>>z;这样写不是不允许,而是不好看,如果是不同的变量类型,那就更是没头没脑了。

除了你,人家是不知道该输入什么的,所以,一般在输入语句的前面,我们一般都要做一个提示,请输入×××,让人家心里有个底,知道这个变量是做什么的。

另外,这个函数是不用带地址符号"&"的,也不用写明变量类型,千万不要跟scanf混淆。

当然他就也不检查变量输入是否合法。

如:int i;cout<<"please input a number:"cin>>i;cout<<"i="<<i<<endl;如果你输入的是一个字符如'a'那么他也不检查,但你输出的结果不是正确的,这要是手工进行检查。

当然他也跟scanf一样,如果在循环内部输入不合法的变量值,那么也将陷入死循环。

如下:/*一个输入不合法变量陷入死循环的例子*/#include<iostream.h>main(){int i;while(i!=-1){cout<<"i="cin>>i;/*请输入不是一个字符如'a'试试*/cout<<endl;}}如上一个程序,如果你输入的不合法,那就将陷入死循环。

解决的办法有个一,把cin>>i;语句移到判断循环的语句中,那么,你输入的如果是不合法的变量,他将跳出循环。

cin是用空格来分隔输入的。

请看看如下的例子:/*一个空格分隔使输入的变量达不到希望的值*/#include<iostream.h>main(){char str[20];cout<<"please input a string:";cin>>str;/*你试着输入"hello word"*/ cout<<endl<<"str="<<str;}看得到是什么结果呢?得到的仅仅是str=hello,为什么呢?因为cin是以空格为分隔的,当你输入一个空格时,那他就认为后面的输入不属于这里了,认为应该给后面的变量了。

另外,当你输入的字符串大于分配的空间时,还会出现溢出现象。

当然,还有整行输入的函数,包括空格也一起输入了,以后也会学到。

二、标准输出函数cout说cout是函数,也跟cin一样,不知道对不对。

他代表的是标准输出设备--显示器。

其实前面已经用过很多次这个函数了。

我们就通过一个例子来进行格式化的输出就是了,大家就体会体会这个例子就行了,比printf灵活了很多。

首先,我们可以按16进制,8进制和10进制来显示我们的数据,如下:/*一个按进制输出的例子*/#include<iostream.h>void main(){int x=30,y=300,z=1024;cout<<x<<''<<y<<''<<z<<endl;//按十进制输出cout.setf(ios::showbase|ios::uppercase);//设置基指示符输出和数值中的字母大写输出cout<<x<<''<<y<<''<<z<<endl;cout.unsetf(ios::showbase|ios::uppercase);//取消基指示符输出和数值中的字母大写输出cout.setf(ios::oct);//设置为八进制输出,此设置不取消一直有效cout<<x<<''<<y<<''<<z<<endl;//按八进制输出cout.setf(ios::showbase|ios::uppercase);//设置基指示符输出和数值中的字母大写输出cout<<x<<''<<y<<''<<z<<endl;cout.unsetf(ios::showbase|ios::uppercase);//取消基指示符输出和数值中的字母大写输出cout.unsetf(ios::oct);//取消八进制输出设置,恢复按十进制输出cout.setf(ios::hex);//设置为十六进制输出cout<<x<<''<<y<<''<<z<<endl;cout.setf(ios::showbase|ios::uppercase);//设置基指示符输出和数值中的字母大写输出cout<<x<<''<<y<<''<<z<<endl;cout.unsetf(ios::showbase|ios::uppercase);//取消基指示符输出和数值中的字母大写输出cout.unsetf(ios::hex);//取消十六进制输出设置,恢复按十进制输出cout<<x<<''<<y<<''<<z<<endl;}我们用cout.setf()设置输出的格式,用cout.unsetf()取消格式。

可以看出10进制在输出的时候不管有没有设置基指示符ios::showbase,都没用,8进制再输出的时候在前面加0,而16进制是在前面加0X。

而对于数值中字母大写输出,只对16进制有用,以后我们就应该看情况使用了。

当然,我们前面已经说了,还有一种方法也可以实现格式化输出,那就是使用操纵算子,如下,/*一个按进制输出的例子*/#include<iomanip.h>void main(){int x=30,y=300,z=1024;cout<<x<<''<<y<<''<<z<<endl;//按十进制输出cout<<oct<<x<<''<<y<<''<<z<<endl;//按八进制输出cout<<setiosflags(ios::showbase);//设置基指示符cout<<x<<''<<y<<''<<z<<endl;//仍按八进制输出cout<<resetiosflags(ios::showbase);//取消基指示符cout<<hex<<x<<''<<y<<''<<z<<endl;//按十六进制输出cout<<setiosflags(ios::showbase|ios::uppercase);//设置基指示符和数值中的字母大写输出,cout<<x<<''<<y<<''<<z<<endl;//仍按十六进制输出cout<<resetiosflags(ios::showbase|ios::uppercase);//取消基指示符和数值中的字母大写输出cout<<x<<''<<y<<''<<z<<endl;//仍按十六进制输出cout<<dec<<x<<''<<y<<''<<z<<endl;//按十进制输出}我们用以上的程序也可以输出同样的结果,可见他的灵活。

我们现在输出下列一段文字:第一章1.1什么是C语言 (1)1.11C语言的历史 (58)第二章方法很多种啦,我们可以这样写:/*一个使用填充,宽度,对齐方式的例子*/ #include<iostream.h>void main(){cout<<"第一章"<<endl;cout<<"";cout.setf(ios::left);//设置对齐方式为leftcout.width(7);//设置宽度为7,不足用空格填充cout<<"1.1";cout<<"什么是C语言";cout.unsetf(ios::left);//取消对齐方式,用缺省right方式cout.fill('.');//设置填充方式cout.width(30);//设置宽度,只对下条输出有用cout<<1<<endl;cout<<"";cout.width(7);//设置宽度cout.setf(ios::left);//设置对齐方式为leftcout.fill('');//设置填充,缺省为空格cout<<"1.11";cout<<"C语言的历史";cout.unsetf(ios::left);//取消对齐方式cout.fill('.');cout.width(30);cout<<58<<endl;cout.fill('');cout<<"第二章"<<endl;}我们多次设置了宽度,为的是使我们的间距能一致,也使用了对齐方式,为的是使我们的数据能对齐显示,看起来美观。

相关文档
最新文档