江苏计算机等级考试vc++冲刺模拟试题1.docx
- 文档编号:24842250
- 上传时间:2023-06-02
- 格式:DOCX
- 页数:18
- 大小:20.27KB
江苏计算机等级考试vc++冲刺模拟试题1.docx
《江苏计算机等级考试vc++冲刺模拟试题1.docx》由会员分享,可在线阅读,更多相关《江苏计算机等级考试vc++冲刺模拟试题1.docx(18页珍藏版)》请在冰豆网上搜索。
江苏计算机等级考试vc++冲刺模拟试题1
江苏计算机等级考试vc++冲刺模拟试题
一、选择题(30分)
21.设有定义“floaty=5.16347;intx;”,则以下表达式中可以实现将y中的数值保留小数点后2位,将第三位四舍五人的表达式是_____________
A.y=(y*100+0.5)/100.0B.x=y*lOO+O.5,y=x/lOO.0
C.y=y*100+0.5/100.0D.y=(y/100+0.5)*100.0
22.设有说明语句"inta=6;floatb=l,c=l;",则表达式"c%=(b=a/=4),a+=3"的值为_________
A.9B.1.5C.1D.编译有错
23.关于字符串,以下说法正确的是__________
A.字符串"abc\t\"op\\"中实际的字符个数为8
B.字符串是以0结尾的字符数组
C.sizeof("abc\O\"op\\")=3
D.strlen("abc\O\"op\\")=8
24.已定义"inta[5]={lOO,200,300,400,500};int*P1=&a[0]",若b=*++P1,则b和*P1的值分别为___。
A.100200B.200200C)101101D.100101
25.下面给出的程序的输出结果不正确的是_________。
A.char*sl,s2[]="123";sl=s2;cout<<*sl;,结果:
123
B.char*sl,s2[]="123";sl=s2;cout< 123 C.char*sl="123\0tear";cout< 123 D.chars1[]="567",s2[]=”123”;strcpy(sl,s2);cout< 123 26.设有变量说明“inta[][2]={{2,5},{4,8}};int*pa,(*pb)[2];"则执行语句"pa=&a[0][0];pb=a;"后,(*(pa+1))与(*(pb+1))的值为: ______ A.5,4B.&a[1][0],4C.5,&a[1][0]D.&a[0][1],&a[1][0] 27.下列关于数组的应用中,__________是正确的。 A.inta[5]={1,2,3,4,5);intb[5];b=a;cout< B.inta[5]={1,2,3,4,5);intb[5];strcpy(a,b);cout< C.chara[5]=”1234”;charb[5];strcpy(b,a);cout< D.chara[5]=”1234”;charb[5];b=a;;cout< 28.以下程序的输出为 #include intw=3; int: fun(int): voidmain(void) { intw=10; cout< } intfun(intk) { if(k==0)returnw; return(fun(k-1)*k); } A.360B.3600C.1080D.1200 29.下列对派生类的描述中______是不正确的 A.一个派生类可以作为另一个派生类的基类 B.派生类至少有一个基类” C.派生类的成员除了它自己的成员以外,还包含它的基类的成员 D.派生类中继承的基类的成员的访问权限到派生类保持不变 30.关于构造函数与析构函数的下列说法中正确的是: ①在类中构造函数与析构函数都有固定的函数名。 ②在类中构造函数与析构函数都有相同的作用。 ③在类中构造函数与析构函数都可以定义多个。 ④在类中构造函数与析构函数都可以有返回值。 ⑤在类中构造函数与析构函数的参数都可以有默认值。 A.①和②B.①C.④和⑤D.③和⑤。 二、填空(30分) ●基本概念题(8分) 1.某类整数a满足的条件为: ①a小于等于100②a大于等于10,③a的十位数是个位数的2倍或个位数是十位数的2倍,请用一个逻辑表达式________________________________将a表示出来。 2.c++中编译预处理有三种形式,分别是: ______,___________,_____________ 3.面向对象程序设计语言的四个要素是: _____________________、__________________、_______________、_________________。 ●阅读程序写结果(10分) 4.(1分)若有宏定义: #defineA2 #defineB(n)(n*(A+2)/n*2) 则执行语句“intw=2;w*=2*(A*B(A+2))+3;"后,W的值为__________。 5.(1分)[程序] #include #defineN5 voidfun(); voidmain() {for(inti=1;i fun(); cout< } voidfun() { staticinta; intb=2: cout<<(a+=3,a+b)<<"" } 运行结果为: (10) 6.(3分)[程序] #include voidmain() { chars[]="Iamastudent.Youareastudenttoo."; inta[26]={0); char*p=S;’ while(*p++! =0) { if(*p>='A'&&*p<='Z')a[*p-'A']++; elseif(*p>='a'&&*p<='z')a[*p-'a']++; } for(inti=0;i<26;i++) if(a[i]! =0)cout<<(char)(i+'a')<<": "< } 程序运行后出现的前三行结果为: (11)_________________(12)_______________(13)_______________________ 7.(3分)[程序] #include classQ { intx,y; staticintz; public: Q(inta,intb){x=a+b;y=a*b;z+=x+y;} voidshow(){cout< }; intQ: : z=10; voidmain() { Qql(10,10); q1.show(); Qq2(20,20); q2.show(); q1.show(); } 程序运行后输出的第一、二、三行分别是 (14)__________________(15)__________________(16)________________________ 8.(2分)[程序] #include classAA { intx; public: inty; AA(inta,intb){y=b-a;x=y+y;} intshowx(void){returnx;) }; classBB: publicAA { public: BB(intc): AA(C,c+c){); intshowy(void){returny;) ); classCC: publicAA { public: CC(intd): AA(d,d+d){); intshowy(void){returny;) ); classDD: publicBB,publicCC { public: DD(inte): BB(e+50),CC(e-50){}; ); voidmain() { DDd(80); cout< : showy()<<'\t'< : showy()< cout< : showx()<<'\t'< : showx()< } 程序运行结果为: (17)___________________(18)__________________________ ●完善程序(12分) 9.(4分)编写一个程序采用递归方法逆序放置a数组中的元素。 [方法说明]调用一个invert函数来进行数组逆置。 invert(s,i,j)函数采用递归方法实 现,每次将S的第i个元素和第j个元素进行交换,直到i大于或等于j为止。 [程序] #include (19)//函数invert()的原型说明 voidmain() { inta[10]={0,1,2,3,4,5,6,7,8,9),i; (20)//调用invert()函数 for(i=0;i<=9;i++) cout< cout< voidinvert(int*s,inti,intj) { intt; if(i { t=*(s+i); (21) *(s+j)=t; (22) } } 10.(4分)重载运算符“一=”,直接实现在一个字符串中删除某个字符的功能。 例如: 字符串“MicrosoftVisualC++6.O”与i做“一=”运算后的结果为“McrosoftVsualC++ 6.0”。 [程序] #include #include classstring { char*a; public: string(char*s) { if(s) { (23) strcpy(a,s); } else a=0; } ~string() { if(a)delete[]a; } string&operator-=(charc); voidshow() { cout< } (24)//重载函数的定义 { char*p=a; while(*p) { if(*p==c) { for(char*q=p;*q;q++) (25) } else(26) } return*this; voidmain() { stringsl("MicrosoftVisualC++6.0") s1.show(); charcl='i': sl-=cl: s1.show(); } 答案: 1.D2.A3.B4.D5.C6.B7.A8.D9.C10.B11.C12.B13.B14.C15.A16.C17.B18.B19.B20.A 21.B22.D23.A24.B25.A26.C27.C28.B29.D30.B 二、填空答案 ●基本概念题(8分) 1.某类整数a满足的条件为: ①a小于等于100②a大于等于10,③a的十位数是个位 数的2倍或个位数是十位数的2倍。 请用一个逻辑表达式(a<100&&a>=10&&(a/10==(a%10)*2||2*(a/10)==(a%10)))将a表示出来。 2.c++中编译预处理有三种形式,分别是: __包含文件____,__宏定义_________,____条件与编译_________ 3.面向对象程序设计语言的四个要素是: _封装性__________,__继承与派生________________,__多态性_____________,__重载________。 ●阅读程序写结果(10分) 4.(1分)若有宏定义: #defineA2 #defineB(n)(n*(A+2)/n*2) 则执行语句“intw=2;w*=2*(A*B(A+2))+3;"后,W的值为_____86_____。 5.(1分)[程序] #include #defineN5 voidfun(); voidmain() {for(inti=1;i fun(); cout< } voidfun() { staticinta; intb=2: cout<<(a+=3,a+b)<<"" } 运行结果为: (581114) 6.(3分)[程序] #include voidmain() { chars[]="Iamastudent.Youareastudenttoo."; inta[26]={0); char*p=S;’ while(*p++! =0) { if(*p>='A'&&*p<='Z')a[*p-'A']++; elseif(*p>='a'&&*p<='z')a[*p-'a']++; } for(inti=0;i<26;i++) if(a[i]! =0)cout<<(char)(i+'a')<<": "< } 程序运行后出现的前三行结果为: (a: 4),(d: 2),(e: 3) 7.(3分)[程序] #include classQ { intx,y; staticintz: public: Q(inta,intb){x=a+b;y=a*b;z+=x+y;} voidshow(){cout< }; intQ: : z=10; voidmain() { Qql(10,10); q1.show(); Qq2(20,20); q2.show(); q1.show(); } 程序运行后输出的第一、二、三行分别是 (20100130),(40400570)(20100570) 8.(2分)[程序] #include classAA { intx; public: inty; AA(inta,intb){y=b-a;x=y+y;} intshowx(void){returnx;) }; classBB: publicAA { public: BB(intc): AA(C,c+c){); intshowy(void){returny;) ); classCC: publicAA { public: CC(intd): AA(d,d+d){); intshowy(void){returny;) ); classDD: publicBB,publicCC { public: DD(inte): BB(e+50),CC(e-50){}; ); voidmain() { DDd(80); cout< : showy()<<'\t'< : showy()< cout< : showx()<<'\t'< : showx()< } 程序运行结果为: (13030),(26060) ●完善程序(12分) 9.(4分)编写一个程序采用递归方法逆序放置a数组中的元素。 [方法说明]调用一个invert函数来进行数组逆置。 invert(s,i,j)函数采用递归方法实 现,每次将S的第i个元素和第j个元素进行交换,直到i大于或等于j为止。 [程序] #include (voidinvert(int*,int,int))//函数invert()的原型说明 voidmain() { inta[10]={0,1,2,3,4,5,6,7,8,9),i; (invert(a,0,9))//调用invert()函数 for(i=0;i<=9;i++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 江苏 计算机等级考试 vc 冲刺 模拟 试题