自测练习及答案,练习
自测练习
11. 1填空
a)重载的流运算符函数经常定义为类的——函数。
b)能够设置的格式对齐位包括——、——和——。
c)C++中的输入/输出是以字节——的形式实现的。
d)参数化的流操纵算子——和——用于设置和清除格式化状态标志。
e)大多数C++程序都要包含——头文件。该文件中包含了所有输入/输出流操作所需的基本信息。
f)成员函数——和——用于设置和清除格式化状态标志。
g)头文件——中包含了执行内存格式化所需的信息。
h)当使用带参数的操纵算子时,程序中必须包含头文件——。
i)头文件——中包含了处理用户控制的文件操作所需的信息。
j)流操纵算子——向输出流中插入一个换行符并刷新输出缓冲区。
k)头文件——中包含了用C、C++语言式I/O混合编程所需的信息。
l)类ostream的成员函数——用于执行无格式输出。
m)类——支持输入操作。
n)标准错误流的输出发送给流对象——或——。
o)类——支持输出操作。
P)流插入运算符是——。
q)与系统中标准设备对应的4个对象是——、——、——和——。
r)流读取运算符是——。
s)流操纵算子——、——和——分别指定整数按八进制、十六进制、十进制格式显示。
t)浮点数的默认精度值是——。
u)设置——标志位可使显示的正数前面带有一个加号。
11.2判断下列说法是否正确。如果不正确,请说明原因。
a)带一个long类型参数的流成员函数flags(按参数值设置flags状态变量,并返回以前设置的标志值。
b)重载流插入运算符<<和流读取运算符>>是为了处理所有的标准数据类型,包括字符串、内存地址(只能用流插入运算符)和所有用户自定义的数据类型。
c)无参数的成员函数flags()可以设置状态变量flags中的所有状态位。
d)流读取运算符的参数是对istream对象的引用和对自定义类型对象的引用,返回对istream对象的引用。
e)流操纵算子ws可跳过输人流中的前导空白字符。
f)流插入运算符<<的两个参数是对istream对象的引用和对自定义类型对象的引用,返回对istream对象的引用。
g)用流读取运算符>>进行输入操作总会跳过输入流中的前导空白字将。
h)输入、输出的特性是由C++本身所提供的。
i)流成员函数rdstate()返回当前流的状态。
j)cout流通常是与显示器相连的。
k)如果成员函数bad()、fail()和eof()都返回false,则流成员函数good()返回true。
l)cin流通常是与显示器相连的。
m)如果在流操作期间发生了不可恢复的致命错误,成员函数bad()返回true。
n)到cerr的输出是非缓冲输出,到clog的输出是缓冲输出。
o)当设置ios::showpoint标志位时,浮点数被强制以默认精度格式(6位小数位)输出(假定未
改变精度值使浮点数按指定精度输出)。
P)类ostream的成员函数put用于输出指定数目的字符。
q)流操纵算子dec、oct、hex只对下一个输出整数有效。
r)在输出操作中,内存地址是以long类型表示的。
11.3用一条C++语句实现下述要求。
a)输出字符串”Enter your name:”。
b)设置一个标志,使科学记数法中的指数以及十六进制数中的宇母按大写的格式输出。
c)(S出char*类型变量smng的地址。
d)设置一个标志.以科学记数法显示浮点数。
e)输出int*类型变量integerPtr的地址。
f)设置一个标志,使得在输出整数时,八进制数和十六进制数显示出其基数。
g)输出float*类型变量fioatPtr所指向的值。
h)当所设置的域宽长度大于输出数据所需宽度时,用成员函数设置填充字符'*'。再写一条用流操纵算子实现该功能的语句。
i)用类ostream的函数put在一条语句中输出字符'O',、'K'。
j)从输入流中获取下一个字符,但并不提取它。
k)采用两种不同的方法,用类istream的成员函数get向char类型变量c输入一个字符。
l)输出并删除输入流中的下6个字符。浮点数的基数什么意思
m)用类istream的成员函数read给char类型数组line输入50个字符。
n)读入10个字符到字符数组name中,当遇到分隔符,'.'时结束读操作,但并不删除输入流中的分隔符。另外再写一条语句完成上述功能,但需要删除输入流中的分隔符。
o)用类istream的成员函数gcount统计字符型数组line中的字符个数(line中的字符是通过调用
类istream的成员函数read来输入的),然后根据统计的字符个数,用类ostream的成员函数write输出line中的字符。
p)分别编写两条语句,用成员函数和流操纵算子刷新输出缓冲区。
q)输出下列值:124、18.376、'Z'、1000000和"String"。
r)用成员函数输出当前浮点数的精度。
s)给int类型变量months输入一个整数值,给float类型变量percentageRate输入一个浮点数。
t)用流操纵算子输出1.92、1.925和1.9258,精度是三位小数位。
u)用流操纵算子分别按八进制、十六进制、十进制格式输出整数100。
v)按八进制、十六进制、十进制格式输出整数100,要求用同一个流操纵算子来改变整数的基数。
w)按右对齐方式、以10位域宽输出1234。
x)把字符读入字符数组line中,当遇到指定的分隔符'z'时或读取的字符个数达到限定值20(包括空字符)时,停止读取操作,该语句不从输入流中读取分隔符。
y)按域宽x、精度y(x、y为整型变量)输出double类型值87.4573。
11.4指出并纠正下列语句中的错误。
a) cout << "Value Of x <= y is:" << x <= y;
b)下面的语句要输出字符'c'的整数值:
cout << 'c';
c) cout << ""A string in quotes"";
11.5写出下面语句的输出结果。
a) cout<< "12345" << endl;
cout.width(5);
cout.fill('*');
cout << 123 << endl << 123;
b) cout << setw( 10 ) << setfill( '$' ) << 10000;
c) cout << setw( 8 ) << setprecision( 3 ) << 1024.987694;
d) cout << setiosflags( ios::showbase ) << oct << 99
<< endl << hex << 99;
c) cout << 100000 << endl
<< setiosflags(ios::showpos) << 100000;
f) cout << setw( 10 ) << setprecision( 2 ) <<
<< setiosflags(ios::scientific) << 444.93738;
自测练习答案
11.1
a)友元。b)ios::left、ios::right和ios::internal。c)流。d)setiosflags、e)iostream.h。
f)setf、unsetf g)strstream.h。h)iomanip.h。i)fstleam.h。j)endl。k)stdiostream.h。l)write。
m)ist蹲m)istream。 n)cerr、clog。o)ostream。P)<<。q)cin、cout、cerr和clog。 r)>>。s)ocl、hex、
dec。t)6位精度。u)ios::showpos。
11.2
a)正确。
b)不正确。重载的流插入运算符和流读取运算符不能用于所有的用户自定义类型。程序员必须为每一个用户自定义类型提供重载该运算符的运算符函数。
c)不正确。无参数的成员函数flags()只返回状态变量flags的当前值。
d)正确。
e)正确。
f)不正确。如果要重载流插入运算符,流插入运算符的两个参数必须是对ostream对象的引用和对自定义类型的对象的引用,返回对ostream对象引用。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。