计算机二级c++上机考试题库

上传人:每**** 文档编号:58749979 上传时间:2022-03-01 格式:DOCX 页数:117 大小:341.08KB
收藏 版权申诉 举报 下载
计算机二级c++上机考试题库_第1页
第1页 / 共117页
计算机二级c++上机考试题库_第2页
第2页 / 共117页
计算机二级c++上机考试题库_第3页
第3页 / 共117页
资源描述:

《计算机二级c++上机考试题库》由会员分享,可在线阅读,更多相关《计算机二级c++上机考试题库(117页珍藏版)》请在装配图网上搜索。

1、所属语言:C+试卷总分:200分共有题型:5种一、填空 共20题 (共计20分)第1题 (1.0分) 假设变量a,b均为整型,表达式(a=5,b=2,ab?a+:b+,a+b)的值是【1】.答案:=(答案1)=8第2题 (1.0分) 若有以下数组a,数组元素:a0a9,其值为9 4 12 8 2 10 7 5 1 3该数组的元素中,数值最大的元素的下标值是【1】.答案:=(答案1)=授课:XXX2第3题 (1.0分) 下面程序段的输出结果是【1】.int a=12; a=a&0377;pritnf(%on,a);答案:=(答案1)=14第4题 (1.0分) 若输入字符串:abcde,则以下wh

2、ile循环体将执行 【1】 次.While(ch=getchar()=e) printf(*);答案:=(答案1)=0第5题 (1.0分) 将数组a的首地址赋给指针变量p的语句是【1】.授课:XXX答案:=(答案1)=p=a;第6题 (1.0分) C语言把文件看作是一个【1】的序列.答案:=(答案1)=字符=或=字节第7题 (1.0分) 静态变量和外部变量的初始化是在【1】阶段完成的,而自动变量的赋值是在【2】时进行的.授课:XXX答案:=(答案1)=编译=(答案2)=函数调用第8题 (1.0分) 若有定义:int a32=2,4,6,8,10,12;,则*(a1+1)的值是【1】.答案:=(

3、答案1)=8第9题 (1.0分) C语言中,数组名是一个不可变的【1】量,不能对它进行加减和赋值运算.授课:XXX答案:=(答案1)=地址第10题 (1.0分) int x=2;z=x+-1; 则x的值为【1】.答案:=(答案1)=3第11题 (1.0分) 若所用变量都已正确定义,请填写以下程序段的输出结果【1】.for(i=1;i=5;i+); printf(OKn);授课:XXX答案:=(答案1)=OK第12题 (1.0分) feof(fp)函数用来判断文件是否结束,如果遇到文件结束,函数值为【1】,否则为【2】.答案:=(答案1)=非0值=(答案2)=0第13题 (1.0分) 授课:XX

4、X如果函数不要求带回值,可用【1】来定义函数返回值为空.答案:=(答案1)=void第14题 (1.0分) 调用 fopen 函数打开一文本文件,在使用方式这一项中,为输出而打开需填入【1】.答案:=(答案1)=w=或=w+第15题 (1.0分) 顺序结构存储方法是把逻辑上相邻的结点存储在物理位置【1】授课:XXX的存储单元中。答案:=(答案1)=相邻第16题 (1.0分) 一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的【1】。答案:=(答案1)=可重用性授课:XXX第17题 (1.0分) C+中封装性、继承性和【1】是面向对象程序设计的三个主要性质。答案:=(答案

5、1)=多态性第18题 (1.0分) C+语言的参数传递机制包括传值和传地址两种,如果调用函数时,需要改变实参或者返回多个值,应该采取【1】方式。授课:XXX答案:=(答案1)=传地址第19题 (1.0分) 设i,j,k均为int型变量,则执行完for(i=0,j=10;j+y;x=i+) i=x;B:for(;x+=i);授课:XXXC:while(1)x+;D:for(i=10;i-) sum+=i;答案:A第13题 (1.0分) 利用 fseek 函数可以实现的操作是()。A:改变文件的位置指针B:文件的顺序读写C:文件的随机读写D:以上答案均正确答案:D第14题 (1.0分) 授课:XX

6、XC语言中 while 和 do-while 循环的主要区别是()。A:do-while 的循环体至少无条件执行一次B:while的循环控制条件比 do-while的循环控制条件更严格C:do-while 允许从外部转到循环体内D:do-while 的循环体不能是复合语句答案:A第15题 (1.0分) sizeof(float)是()。A:一种函数调用B:一个不合法的表达式C:一个整型表达式D:一个浮点表达式授课:XXX答案:C第16题 (1.0分) 以下程序的运行结果是()。main() int n; for(n=1;nc)b=a;a=c;c=b;则c的值为()。A:1B:2C:3D:不一定

7、答案:B授课:XXX第36题 (1.0分) 对 for(表达式1; ;表达式3) 可理解为()。A:for(表达式1;0;表达式3)B:for(表达式1;1;表达式3)C:for(表达式1;表达式1;表达式3)D:for(表达式1;表达式3;表达式3)答案:B第37题 (1.0分) a,b为整型变量,二者均不为0,以下关系表达式中恒成立的是()。A:a*b/a*b=1B:a/b*b/a=1C:a/b*b+a%b=a授课:XXXD:a/b*b=a答案:C第38题 (1.0分) char a1=abc,a280=1234;将a1串连接到a2串后面的语句是()。A:strcat(a2,a1);B:s

8、trcpy(a2,a1);C:strcat(a1,a2);D:strcpy(a1,a2);答案:A第39题 (1.0分) 授课:XXX设 char *s=ta017bc;则指针变量s指向的字符串所占的字节数是()。A:9B:5C:6D:7答案:C第40题 (1.0分) 以下描述中正确的是()。A:由于 do-while 循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句B:do-while 循环由do开始,用while结束,在 while(表达式)后面不能写分号授课:XXXC:在 do-while 循环体中,一定要有能使 while 后面表达式的值变为零(假)的操作D:do-w

9、hile 循环中,根据情况可以省略 while答案:C第41题 (1.0分) 对于void类型函数,调用时不可作为()。A:自定义函数体中的语句B:循环体里的语句C:if语句的成分语句D:表达式答案:D授课:XXX第42题 (1.0分) 下列语句中,不正确的是()。A:static char a2=1,2;B:static int a2=1,2;C:static char a2=1,2,3;D:static char a2=1;答案:C第43题 (1.0分) 设有定义 int x;float y;,则10+x+y值的数据类型是A:intB:doubleC:floatD:不确定授课:XXX答案:

10、C第44题 (1.0分) 在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是A:友元函数B:虚函数C:构造函数D:析构函数答案:C第45题 (1.0分) 下面对静态数据成员的描述中,正确的是授课:XXXA:静态数据成员可以在类体内进行初始化B:静态数据成员不可以被类的对象调用C:静态数据成员不能受private控制符的作用D:静态数据成员可以直接用类名调用答案:D第46题 (1.0分) 下面对友元函数描述正确的是A:友元函数的实现必须在类的内部定义B:友元函数是类的成员函数C:友元函数破坏了类的封装性和隐藏性D:友元函数不能访问类的私有成员答案:C授课

11、:XXX第47题 (1.0分) 下面叙述不正确的是A:基类的保护成员在派生类中仍然是保护成员B:基类的保护成员在公有派生类中仍然是保护成员C:基类的保护成员在私有派生类中是私有成员D:对基类成员的访问必须是无二义性答案:A第48题 (1.0分) 在C+语言程序中,对象之间的相互通信通过A:继承实现B:调用成员函数实现C:封装实现D:函数重载实现授课:XXX答案:B第49题 (1.0分) 下列关于虚基类的描述中,错误的是A:设置虚基类的目的是为了消除二义性B:虚基类的构造函数在非虚基类之后调用C:若同一层包含多个虚基类,这些基类的构造函数按照它们的次序调用D:若虚基类由非基类派生而来,则仍然先调

12、用基类构造函数,再用派生类的构造函数答案:B第50题 (1.0分) 授课:XXX下列运算符中,在C+语言中不能重载的是A:*B:=C:D:/答案:C第51题 (1.0分) 继承机制的作用是A:信息隐藏B:数据封装C:定义新类D:数据抽象授课:XXX答案:C第52题 (1.0分) C+语言对C语言进行了很多改进,C+语言相对于C语言的最根本的变化是A:增加了一些新的运算符B:允许函数重载,并允许设置缺省参数C:规定函数说明符必须用原型D:引进了类和对象的概念答案:D第53题 (1.0分) 若x、i、j、k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为( ).授课:X

13、XXA:4B:16C:32D:52答案:C第54题 (1.0分) 下列关于开关语句的描述中,错误的是( ).A:开关语句中,case子句的个数是不受限制的B:开关语句中,case子句的语句序列中一定要有break语句授课:XXXC:开关语句中,default子句可以省略D:开关语句中,右花括号具有退出开关语句的功能答案:B第55题 (1.0分) 下列while循环语句的循环次数是( ). while(int i=0) i-;A:0B:1C:2 D:无限授课:XXX答案:A第56题 (1.0分) 下列运算符中优先级最高的是( ). A:?:B:%C:-=D:&答案:B授课:XXX第57题 (1.

14、0分) 采用函数重载的目的在于( ).A:实现共享B:减少空间C:使用方便,提高可靠性D:提高速度答案:C第58题 (1.0分) 使用磁盘文件,要包含_头文件A:iostreamB:fstreamC:iomanipD:complex授课:XXX答案:B第59题 (1.0分) ( )是析构函数的特征.A:一个类中只能定义一个析构函数B:析构函数与类名不同C:析构函数的定义只能在类体内D:析构函数可以有一个或多个参数答案:A第60题 (1.0分) 下列关于字符数组的描述中,错误的是( ).授课:XXXA:字符数组中的每一个元素都是字符B:字符数组可以使用初始值表进行初始化C:字符数组可以存放字符串

15、D:字符数组就是字符串答案:D四、程序填空 共6题 (共计40分)第1题 (5.0分) /*-【程序填空】-功能:产生10个30,90区间上的随机整数,然后对其用选择法授课:XXX 进行由小到大的排序。-*/#include main() /*SPACE*/ 【?】; int i,j,k; int a10; for(i=0;i10;i+) ai=random(61)+30; for(i=0;i9;i+) /*SPACE*/ 【?】; for(j=i+1;jaj=或=ajak=(答案4)=i=0;ii;i+=或=i=0;i=i;i+=或=i=0;ii;i+=1=或=i=0;i=i;i+=1=或=

16、i=0;ii;+i=或=i=0;9=i;+i=或=授课:XXXi=0;i=9;+i第2题 (5.0分) /*-【程序填空】-功能:求一个二维数组中每行的最大值和每行的和。-*/#include main() int a55,b5,c5,i,j,k,s=0; for(i=0;i5;i+)授课:XXX for(j=0;j5;j+) aij=random(40)+20; for(i=0;i5;i+) /*SPACE*/ k=ai0; 【?】 ; for(j=0;j5;j+) /*SPACE*/ if(kaij) 【?】 ; s=s+aij; bi=k; /*SPACE*/ 【?】 ; for(i=0

17、;i5;i+)授课:XXX for(j=0;j5;j+) /*SPACE*/ printf(%5d, 【?】 ); printf(%5d%5d,bi,ci); printf(n); 答案:=(答案1)=s=0=(答案2)=k=aij授课:XXX=(答案3)=ci=s=(答案4)=aij第3题 (5.0分) /*-【程序填空】-功能:计算一元二次方程的根。-*/#include 授课:XXX/*SPACE*/#include 【?】main() double x1,x2,imagpart; float a,b,c,disc,realpart; scanf(%f%f%f,&a,&b,&c); pr

18、intf(the equation); /*SPACE*/ if(【?】=1e-6) printf(is not quadraticn); else disc=b*b-4*a*c; if(fabs(disc)=1e-6) printf(has two equal roots:%-8.4fn,-b/(2*a); /*SPACE*/ else if(【?】)授课:XXX x1=(-b+sqrt(disc)/(2*a); x2=(-b-sqrt(disc)/(2*a); printf(has distinct real roots:%8.4f and %.4fn,x1,x2); else realp

19、art=-b/(2*a); imagpart=sqrt(-disc)/(2*a); printf(has complex roots:n); printf(%8.4f=%.4fin,realpart,imagpart); printf(%8.4f-%.4fin,realpart,imagpart); 答案:授课:XXX=(答案1)=(答案2)=fabs(a)=(答案3)=fabs(disc) 1e-6=或=1e-6 fabs(disc)第4题 (5.0分) /*-【程序填空】-授课:XXX功能:分别求出一批非零整数中的偶数、奇数的平均值,用零作 为终止标记。-*/#include main()

20、 int x,i=0,j=0; float s1=0,s2=0,av1,av2; scanf(%d,&x); /*SPACE*/ while(【?】) if(x%2=0) 授课:XXX s1=s1+x; i+; /*SPACE*/ 【?】 s2=s2+x; j+; /*SPACE*/ 【?】; if(i!=0) av1=s1/i; else av1=0; if(j!=0) 授课:XXX /*SPACE*/ 【?】 ; else av2=0; printf(oushujunzhi:%7.2f,jishujunzhi:%7.2fn,av1,av2);答案:=(答案1)=x != 0=或=x=(答案

21、2)=else授课:XXX=或=else if(x%2=1)=或=else if(x%2!=0)=或=if(x%2)=(答案3)=scanf(%d,&x)=(答案4)=av2=s2/j第5题 (10.0分) /*-【程序填空】授课:XXX-功能:以下程序的功能是输入字符串,再输入一个字符,将字符串 中与输入字符相同的字符删除。-*/#include#include#includevoid fun(char a,char c) int i,j;/*SPACE*/ for(i=j=0;【?】;i+) if(ai!=c) aj+=ai;授课:XXX/*SPACE*/ 【?】;void main()

22、char a20,cc;/*SPACE*/【?】; cc=getchar();/*SPACE*/ 【?】; couta;答案:授课:XXX=(答案1)=ai!=0=或=ai!=0=或=ia授课:XXX=或=printf(%s,a)=或=gets(a)=或=cin.getline(a,20)=(答案4)=fun(a,cc)第6题 (10.0分) /*-【程序填空】-功能:对任意10个字符串按升序排序,每个串的长度小于20个字符。授课:XXX-*/ #include #include #include void main()/*SPACE*/ char temp20,【?】; int i,j,l;

23、 for(i=0;i10;i+) gets(wordi); for(i=0;i0)/*SPACE*/ 【?】; strcpy(temp,wordi);/*SPACE*/ 【?】; strcpy(wordl,temp); for(i=0;i10;i+) coutwordi;答案:=(答案1)=授课:XXXword1020=(答案2)=j=i+1;j10;j+=或=j=i;j10;j+=或=j=i;j=9;j+=或=j=i+1;j=9;j+=(答案3)=l=j=(答案4)=strcpy(wordi,wordl)授课:XXX五、程序设计 共6题 (共计60分)第1题 (10.0分) /*-【程序设计

24、】-功能:求一组数中大于平均值的数的个数。例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函 数值为3。-*/ #include void wwjt(); 授课:XXXint fun(int a,int n) /*Program*/ /* End */ main() int a10=1,3,6,9,4,23,35,67,12,88; int y;授课:XXX y=fun(a,10); printf(y=%dn,y); wwjt();void wwjt() FILE *IN,*OUT; int iIN10,iOUT,i,j; IN=fopen(in.dat,r); if(

25、IN=NULL) printf(Please Verify The Currernt Dir.it May Be Changed); OUT=fopen(out.dat,w); if(OUT=NULL) 授课:XXX printf(Please Verify The Current Dir. it May Be Changed); for(j=0;j10;j+) for(i=0;i10;i+) fscanf(IN,%d,&iINi); iOUT=fun(iIN,10); fprintf(OUT,%dn,iOUT); fclose(IN); fclose(OUT);答案:-int i,k=0;授课:XXX float s=0,ave; for(i=0;in;i+) s+=ai; ave=s/n; printf(%f ,ave); for(i=0;iave)k+; return k;-

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!