国家二级C++机试(运算符重载、模板和C++流)模拟试卷8

更新时间:2023-07-07 14:44:28 阅读: 评论:0

国家二级C++机试(运算符重载、模板和C++流)模拟试卷8
(总分:60.00,做题时间:90分钟)
一、 选择题(总题数:30,分数:60.00)
1.有如下程序: #include<iostrearn> using namespace std; int main() { cout.fill('*'); cout.width(6); cout.fill('#'); cout<<123<<endl; return 0; } 执行后的输出结果是( )。
(分数:2.00)
 A.###123 
hcp B.123###
 C.***123
 D.123***
发音软件
解析:解析:此题考查的是I/O格式化输出。函数width(int n)设置输入输出宽度,当实际数据宽度小于制定的宽度时,多余的位置用填充字符填满;当实际数据宽度大于设置的宽度时,仍按实际宽度输出;函数fill(char c)用来设置填充字符。
2.下面关于C++流的叙述中,正确的是( )。
(分数:2.00)
 A.cin是一个输入流对象 
 B.可以用ifstream定义一个输出流对象
 C.执行语句序列char*y="PQMN'';cout<<,y;将输出字符串"PQMN”的地址
 D.执行语句序列char x[80];cin.getline(x,80);时,若键入 Happy new year 则x中的字符串是"Happy''
解析:解析:此题考查的是C++流的概念和I/O的格式化。cin是类的对象,亦即输入流对象;ifstream是输入文件流类,不能定义一个输出流对象:C选项中最后输出的是字符串“PQMN”:D选项中x中字符串应该是“Happy new year”。
3.有如下程序: #include<iostream> #include<iomanip> using namespace std; int main() { cout.fill('*'); cout<<left<<tw(4)<<123
(分数:2.00)
 A.123*OK 
 B.123*OK**
 C.*123OK
 D.*123**OK
解析:解析:此题考查了输出流的格式控制。cout的fill()是设置填充字符:left和endl分别是使输出数据左对齐和换行;tw()函数的作用是设置输入输出的宽度,此设置效果只对以此输入或输出有效。此题中,输出整数123时宽度为4且左对齐,得到“123*”;输出字符串“OK”时宽度没有定义实际大小输出,结果得到OK:故最后得到的输出结果是123*K。
4.下列关于输入流类成员函数getline()的描述中,错误的是( )。
(分数:2.00)
 A.该函数是用来读取键盘输入的字符串的 
 B.该函数读取的字符串长度是受限制的
 C.该函数读取字符串时,遇到终止符便停止
 D.该函数读取字符串时,可以包含空格
解析:解析:此题考查的是getline()函数。getline()函数的原型为:istream_type&getline(char_type*s,strearnsize,char_typedelim);。其功能是从当前输入位置开始提取字符存入s所指向的具有n个字节的字符空间中。遇到以下情况时停止:已提取并存储了n-1个字符;到流尾,无字符可取:下一个要提取的字符等于结束标志字符delim。故选项B、C、D都是正确的。getline()函数不仅可以用来读取键盘输入的字符串,还可以用来读取文件等数据流,故选项A错误。
5.有如下程序 #include<iostream> #include<iomanip> using namespace std; int main(){ cout<<tprecision(3)<<fixed<<tfill('*')<<tw(8); cout<<12.345<<_______<<34.567; return 0: } 若程序的输出是: **12.345**34.567 则程序中
下划线处遗漏的操作符是( )。
(分数:2.00)
 A.tprecision(3)
 B.fixed
 C.tfill('*')
 D.tw(8) 
katara解析:解析:此题考查的是输出函数的格式控制。此题中,操作符tprecision的作用是设置浮点数的精度;fixed的作用是让浮点数按定点格式输出;tfill的作用是设置填充字符;tw的作用是设置输入输出的宽度,一次有效的设置。下划线处应填一个让34.567的输出宽度为8的操作符,即tw(8)。
6.使用输入输出操作符tw,可以控制( )。
ingan(分数:2.00)
impress的用法 A.输出精度
 B.输出宽度 
 C.对齐方式
 D.填充字符
解析:解析:此题考查的是C++流的操作符。在C++流中,操作符tw的作用是设置输入输出宽度。
7.已知一程序运行后执行的第一个输出操作是( )。 cout<<tw(10)<<tfill('*')<<1234; 则此操作的输出结果是
(分数:2.00)
 A.1234
六级考试时间下午几点 B.******1234 
 C.**********1234
 D.1234******
解析:解析:此题考查的是输入输出的格式控制。tw()控制的是输入输出的宽度;tfill()控制的是输出的填充字符。所以本题的输出结果是*****1234。
8.有如下4个语句: ①cout<<'A'<<tfill('*')<<left<<tw(7)<<'B'<<endl; ②cout<<tfill('*')<<left<<tw(7)<<'A'<<'B'<<endl; ③cout<<'A'<<rfill('*')<<right<<tw(7)<<'B'<<endl; ④cout<<tfill('*')<<right<<tw(7)<<'A'<<'B'<<endl; 其中能显示A******B的是( )。
(分数:2.00)
 A.①和③
 B.①和④
 C.②和③ 
 D.②和④
malaysianastmanager
解析:解析:此题考查C++流的使用。tfill()作用是设置填充字符;left是使输出数据在指定宽度内左对齐:fight是使输出数据在指定宽度内右对齐。
9.下列语句分别是不同程序中的第一个输入输出语句,若去掉其中的''<<left",输出效果将发生变化的是( )。
(分数:2.00)
&ut<<leR<<tfill('*')<<357;
&ut<<left<<tw(5)<<357; 
&ut<<left<<tw(5)<<''ABCDE'';
&ut<<left<<''ABCDE'';
解析:解析:此题考查的是C++流。tfill()作用是设置填充字符;left是使输出数据在指定宽度内左对齐;tw()的作用是设置输入输出宽度,且只对当前一次有效。
10.假定下列语句都是程序运行后首次执行的输出语句,其中输出结果与另外三条语句不同
的语句是( )。
(分数:2.00)
&ut<<tfill('*')<<123<<tw(9)<<321;
&ut<<tfill('*')<<tw(6)<<left<<123<<tw(6)<<right<<321; 
&ut<<123<<tfill('*')<<tw(6)<<321;
&ut<<tfill('*')<<tw(9)<<left<<123<<321;
解析:解析:按照选项B的输出格式控制符输出的结果为“123******321”,而按照选项A、C、D的输出格式控制符输出的结果为“123***321”。
11.有如下程序: #include<iostream> #include<iomanip> using namespace std; int main(){ int s[]={123,234}; cout<<right<<tfill('*')<<tw(6); for(int i=0;i<2;i++){cout<<s[i]<<endl;} return 0; } 运行时的输出结果是( )。
(分数:2.00)
 A.123 234
 B.***123 234 
 C.***123 ***234
 D.***123 234***芝加哥公牛英文
解析:解析:在输出语句中定义了输出的格式是字符宽度为6,并且向右对齐,不足的位用‘*’补齐。在C++中,输出格式的设置只对第一次输出有效,在完成了一个数据的输出后,宽度设置自动恢复为0(表示按数据实际宽度输出)。所以对于本题来说,在循环语句中输出数组s[0]中的元素时,按照规定的格式输出,其结果为***123,当输出s[1]时,输出格式已经恢复到按数据实际宽度输出,所以此时输出为234。
12.下列控制格式输入输出的操作符中,能够设置浮点数精度的是( )。
(分数:2.00)
 A.tprecision 
金山翻译在线
 B.tw
 C.tfill
 D.showpoint
解析:解析:tprecision(int n):设置浮点数的精度(有效位数或小数位数),等价函数调用:ioprecision(n)。
13.有如下程序: #include<iostream> #include<iomanip> using namespace std; int main(){ cout<<tw(10)<<tfill('x')<<tprecision(8)<<left; cout<<12.3456793<<______<<98765; return 0; } 若程序的输出是12.345679x98765xxxxx,则划线处缺失的部分是( )。
(分数:2.00)
 A.tw(10) 
 B.tfill('x')
 C.tprecision(8)
 D.right
解析:解析:根据程序输出的结果最后5个位置用x进行填充,又因为tw(10)设置输出的宽度效果只对一次输出有效。所以划线处应该填写tw(10)。
14.下列语句都是程序运行时的第1条输出语句,其中一条语句的输出效果与其他三条语句不同,该语句是( )。
(分数:2.00)

本文发布于:2023-07-07 14:44:28,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/170056.html

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

标签:输出   宽度   字符   设置   语句   格式
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图