C++试题17.docx
- 文档编号:8450407
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:17
- 大小:19.94KB
C++试题17.docx
《C++试题17.docx》由会员分享,可在线阅读,更多相关《C++试题17.docx(17页珍藏版)》请在冰豆网上搜索。
C++试题17
试卷编号:
8785
所属语言:
C++
试卷方案:
C+_20091213211338
试卷总分:
70分
共有题型:
3种
一、填空共16题(共计34分)
第1题(1.0分)题号:
2367
如果inta='\65',b='\100';则a的值为____【1】_____,b的值为____【2】______。
答案:
1).53
2).64
第2题(1.0分)题号:
1547
下列程序输出的第二行是【1】,第三行的是【2】.
#include
inta=5;
voidmain()
{
inta=10,b=20;
cout< { inta=0; for(inti=1;i<6;i++) { a+=i;b+=a; } cout< } cout< } 答案: 1).15,55 2).10,55 第3题(1.0分)题号: 1579 若有定义intj=2,s=1;intb[][3]={{1},{3,2},{4,5,6},{0}};则表达式b[j+s][j-s]+b[j++][--s]的值是【1】. 答案: 1).4 第4题(1.0分)题号: 2404 设有语句“chars[]="Rep\0Ch";intm=sizeof(s);”,则m的值为______【1】_______。 答案: 1).7 第5题(1.0分)题号: 90 下列程序中函数invert的功能是将单链表逆置。 若原链表结点上的值依次为2、6、7、1、9,则逆置后链表结点上的值依次为9、1、7、6、2。 请完善程序。 structnode {intx;node*next;}; node*invert(node*first) {node*p=first,*q; first=【1】; while(p) {q=p->next; p->next=【2】; first=【3】; p=【4】; } returnfirst; } voidmain() {nodea[10]={{1},{2},{3},{4},{5},{6},{7},{8},{9},{10}},*hd=a,*p; for(inti=0;i<9;i++)a[i].next=&a[i+1]; a[9].next=NULL; p=invert(hd); while(p){cout< } 答案: 1).NULL 2).first 3).p 4).q 第6题(1.0分)题号: 2421 同一个类的两个对象,其非静态数据成员是不同的,但__【1】___是共享的。 答案: 1).成员函数和静态数据成员 第7题(1.0分)题号: 933 如果类的成员对象不提供成员初始化值,则调用该对象的【1】。 答案: 1).构造函数或缺省的构造函数 第8题(1.0分)题号: 1770 以下程序输出的第二行【1】,第三行【2】,第四行【3】.#include #include classBase{ charstr[20]; public: Base(char*s="Basedefault"){strcpy(str,s);cout< }; classInh1: publicvirtualBase{ charstr1[20]; public: Inh1(char*s1,char*s2): Base(s1){strcpy(str1,s2);cout< }; classInh2: publicvirtualBase{ charstr2[20]; public: Inh2(char*s1,char*s2): Base(s1){strcpy(str2,s2);cout< }; classInh3: publicInh1,publicInh2{ charstr3[20]; public: Inh3(char*s1,char*s2,char*s3,char*s4): Inh1(s1,s2),Inh2(s1,s3) {strcpy(str3,s4);cout< }; voidmain(void) {Inh3a("classBase","classInh1","classInh2","classInh3");} 答案: 1).classInh1 2).classInh2 3).classInh3 第9题(1.0分)题号: 1792 假设类A中有一个公有属性的静态数据成员b,在类外不通过对象名访问该成员b的写法是【1】. 答案: 1).A: : b 第10题(1.0分)题号: 2423 C++中不可重载为友元函数的运算符为___【1】_______运算符。 答案: 1).类型转换 第11题(4.0分)题号: 1716 以下程序执行后第一行结果为【1】,第二行结果为【2】. voidmain() { chararr[]="ABc"; char*ptr; for(ptr=arr;ptr cout<<*ptr<<'\n'; } 答案: 1).A 2).B 第12题(4.0分)题号: 1753 下列程序第一行和第二行输出结果分别为【1】,【2】。 #include classSample{ public: intx,y; Sample(){x=y=0;} Sample(inta){x=a;} Sample(doublea){x=++(int)a;} voidshow(){cout<<"x="< }; voidmain() {Samples1(5),s2(10/5.0);s1.show();s2.show();} 答案: 1).x=5 2).x=3 第13题(4.0分)题号: 1542 以下程序运行结果是【1】. #include voidf1(intn) {cout< if(n/10)f1(n/10); } voidf2(intn) {intj=n%10; if(n/10)f2(n/10); cout< } voidmain(void) {f1(234);cout<<'\n'; f2(234);cout<<'\n'; } 答案: 1).432234或234 第14题(4.0分)题号: 1697 程序输出的第一行是【1】.第二行是【2】.#include voidmain() {inta[6][2]={{1,3},{5,7},{9,11},{13,15},{17,19},{21,23}}; int(*p)[2],i; p=a+3; for(i=0;i<3;p=p+1,i++) cout<<*p[0]<<""; cout<<"\n"; for(p=a;p cout<<**p<<""<<*(*(p)+1)< } 答案: 1).131721 2).13 第15题(4.0分)题号: 1791 下列程序的输出结果第一行是【1】,第二行是【2】。 #include classBase{ public: voiddisplay1(){cout<<"Base: : display1()"<<'\n';} virtualvoiddisplay2(){cout<<"Base: : display2()"<<'\n';} }; classDerived: publicBase{ public: voiddisplay1(){cout<<"derived: :
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 试题 17
![提示](https://static.bdocx.com/images/bang_tan.gif)