}
解答:
本题主要考查对格式化输入输出的掌握。
本题主函数中第三行输出a,b,’\t’为转义字符,其含义是跳过一个制表位。
不设置输出宽度时,默认输出6位有效数字,超出部分四舍五入。
所以该行输出为:
2323.1235。
setprecision(n)设置显示精度,最少显示一位有效数字。
如果不重新设置,则其保持效力,所以使用完后要还原为6位默认值。
第四行中设置setprecision(0)与setprecision
(1)作用相同,结果显示一位有效数字即为:
2e+001。
setiosflags(ios:
:
fixed)为固定的浮点显示,其后跟setprecision(n)表示小数点后显示精度为n。
所以第五行输出结果为:
23.1234568。
setiosflags(ios:
:
scientific)为指数显示,当其整数部分宽度大于设置的显示精度(默认为6位)时,以指数形式显示结果。
否则根据设置的(或默认的)显示精度显示n位有效数字。
所以第六行输出结果为:
23.12346。
setiosflags(ios:
:
showbase)为指定在数值前输出进制。
hex置基数为16,且该操作保持效力,所以使用完后应该恢复为默认值10进制。
第九行输出结果为:
0x170x17。
setw(n)设域宽为n个字符,setfill(c)设填充字符为c,setiosflags(ios:
:
left)为左对齐。
第十一行输出结果为:
23********。
答案为:
2323.1235
2e+001
23.1234568
23.12346
0x170x17
23********
【习题】
一、选择题
1.下列数据类型不是C++语言基本数据类型的是(d)。
(a)字符型(b)整型(c)浮点型(d)数组
2.下列字符列中,可作为C++语言程序自定义标识符是(a)
(a)x(b)-var(c)new(d)3i
3.下列数中哪一个是8进制数(b)。
(a)0x1g(b)010(c)080(d)01b
4.已知a=1,b=2,c=3,则表达是++a||-b&&++c的值为(b)。
(a)0(b)1(c)2(d)3
5.下列表达式选项中,(c)是正确的。
(a)++(a++)(b)a++b(c)a+++b(d)a++++b
6.已知枚举类型定义语句为:
()。
enumcolor{RED,BLUE,PINK=6,YELLOW,GREEN,PURPLE=15};
则下列叙述中错误的是(a)。
(a)枚举常量RED的值为1(b)枚举常量BLUE的值为1
(c)枚举常量YELLOW的值为7(d)枚举常量PURPLE的值为15
7.下列程序的运行结果正确的是(b)。
#include
#include
voidmain()
{
constdoublepi=3.1415926;
cout<<:
fixed)<<return;
}
(a)3.142
3.142
**3.14159260
(b)3.14
3.142
**3.14159260
(c)3.14
3.14
3.14159260**
(d)3.14
3.142
***3.1415926
8.若intx=3,y=5;则表达式x&y++%3的值为(c)。
(a)0(b)1(c)2(d)3
9.下列常量正确的是(d)。
(a)”hello(b)1FL(c)3.14UL(d)1.8E-3
World”
10.若charx=97;,则变量x包含几个字符(a)。
(a)1个(b)2个(c)4个(d)8个
二、填空题
1.c++语言标示符是以字母或_____下划线_____开头的,由字母、数字、下划线组成。
2.在C++语言中,char型数据在内存中的存储形式是__ASCII________。
3.在内存中,存储字符‘x’占用1个字节,存储字符串“x”要占用____2____个字节。
4.符号常量可以用宏定义define和_____const_____表示。
5.转义字符序列中的首字符是___\______。
6.空字符串的长度是__0________。
7.表达式cout<<’\n’;还可以表示为____cout<8.若要为unsignedint定义一个新的名字UINT应采用的语句是____typedefunsignedintUINT;______。
9.以下程序不借助第3个变量实现a,b值得交换,请填空。
#include
Voidmain()
{
inta,b;
cout<<”输入a,b:
”;
cin>>a>>b;
a=___a+b_______;
b=_____a-b_____;
a=______(a-b)/2;
cout<}
10.大多数C++程序都要包含头文件____iomanip.h______。
该文件中包含了所有输入/输出流操作所需的基本信息。
当使用带参数的操作时,程序中必须包