例74利用控制输入输出这程序建立了如下的表 #includesiostream..h> sart( x 2 15 #includesmath.h> x123456 1.4142 4 void maino 1.7321 i double 16 cout, precision (4); 2.2361 25 cout<” x sqrt(x) 2.4495 36 for(x=1.0;x<20.0x++)7 2.6458 49 i cout width (8) 2.8284 64 81 cout<<x<<“ 10 3.1623 100 cout width (8) 3.3166 121 c0ut<qrt(x)<<‘;12 3.4641 144 cout width (8) 13 3.6056 169 cout<<x*x<<”n 456 3.7417 196 3.873 225 256 4.1231 289 18 4.2426 324 19 4.3598 361 20 4.4721 400
例7.4 利用控制输入输出格式的成员函数建立对齐的数字表 #include<iostream..h> #include<math.h> void main() { double x; cout,precision(4); cout<<” x sqrt(x) x^2\n\n”; for(x=1.0;x<=20.0;x++) { cout.width(8); cout<<x<<’ ‘; cout.width(8); cout<<sqrt(x)<<’ ‘; cout.width(8); cout<<x*x<<’\n’; } } 这程序建立了如下的表 x sqrt(x) x^2 1 1 1 2 1.4142 4 3 1.7321 9 4 2 16 5 2.2361 25 6 2.4495 36 7 2.6458 49 8 2.8284 64 9 3 81 10 3.1623 100 11 3.3166 121 12 3.4641 144 13 3.6056 169 14 3.7417 196 15 3.873 225 16 4 256 17 4.1231 289 18 4.2426 324 19 4.3598 361 20 4.4721 400 15
73.2使用操作符进行输入输出格式控制 16 C++提供了另一种进行ⅣO格式控制的方法,这一方法使用了一种 称为操纵符(也称为操纵函数)的特殊函数。在很多情况下,使用 操纵符进行格式化控制比用ios格式标志和成员函数要方便。 1.C++预定义的操纵符 C+预定义的操纵符是以一个流引用作为其参数,并返回同一流 的引用,因此它可以嵌入到输入输出操作的链中。操纵符可用来 改变域宽,使整型数以八进制或十六进制形式输入或输出,并设 置填充字符等。许多操纵符的功能类似于上面介绍的ios类成员 函数的功能。C++提供的预定义操纵符如下: (1)dec以十进制形式输入或输出整型数,可用于输入或输出。 (2)hex以十六进制形式输入或输出整型数,可用于输入或输出。 (3)oct以八进制形式输入或输出整型数,可用于输入或输出。 (4)ws用于在输入时跳过开头的空白符,仅用于输入 (5)end插入一个换行符并刷新输出流,仅用于输出。 (6)ends插入一个空字符,通常用来结束一个字符串,仅用于输出。 (7) flush刷新一个输出流,仅用于输出。 (8) staser(intn)把转换基数设置为n(m的值为0,8,10,或16),m的缺 省值为”0”,即以十进制形式输出
7.3.2使用操作符进行输入输出格式控制 C++提供了另一种进行I/O格式控制的方法,这一方法使用了一种 称为操纵符(也称为操纵函数)的特殊函数。在很多情况下,使用 操纵符进行格式化控制比用ios格式标志和成员函数要方便。 1. C++预定义的操纵符 C++预定义的操纵符是以一个流引用作为其参数,并返回同一流 的引用,因此它可以嵌入到输入输出操作的链中。操纵符可用来 改变域宽,使整型数以八进制或十六进制形式输入或输出,并设 置填充字符等。许多操纵符的功能类似于上面介绍的ios类成员 函数的功能。C++提供的预定义操纵符如下: ( 1 ) dec 以十进制形式输入或输出整型数,可用于输入或输出。 ( 2 ) hex 以十六进制形式输入或输出整型数,可用于输入或输出。 ( 3 ) oct 以八进制形式输入或输出整型数,可用于输入或输出。 ( 4 ) ws 用于在输入时跳过开头的空白符,仅用于输入。 ( 5 ) endl 插入一个换行符并刷新输出流,仅用于输出。 ( 6 ) ends 插入一个空字符,通常用来结束一个字符串,仅用于输出。 ( 7 ) flush 刷新一个输出流,仅用于输出。 ( 8 ) setbase( int n )把转换基数设置为n(n的值为0,8,10,或16),n的缺 省值为”0”,即以十进制形式输出。 16
17 (9) resetiosflags(ongf)关闭由参数f指定的格式标志,可用于 输入或输出。 10) setiosflags(ongf)设置由参数f指定的格式标志,可用于 输入或输出。 (11)etfl(intc)c为填充字符,缺省时为空格,可用于输入 或输出。 12) setprecision(intn)设置数据小数部分的位数,缺省时小数的 位数为6,可用输入输出。 (13)setw(intm)设置域宽为n,可用于输入或输出
( 9 ) resetiosflags (long f ) 关闭由参数f 指定的格式标志,可用于 输入或输出。 ( 10 ) setiosflags (long f ) 设置由参数f 指定的格式标志,可用于 输入或输出。 ( 11 ) setfill (int c ) c 为填充字符,缺省时为空格,可用于输入 或输出。 ( 12 ) setprecision (int n )设置数据小数部分的位数,缺省时小数的 位数为6,可用输入输出。 ( 13 ) setw (int n) 设置域宽为n,可用于输入或输出。 17