首页 南昌大学C++期末考试卷答案全

南昌大学C++期末考试卷答案全

举报
开通vip

南昌大学C++期末考试卷答案全.-.优选-大学2003~2004学年第二学期期末考试试卷A卷一单项选择题1.‘A’的ASCII码为65,n为int型,执行n=‘A’+‘6’-‘3’;后,n的值为B。A〕‘D’B)68C)不确定的值D)编译出错2.以下变量名中,A是合法的。A〕CHINAB)byte-sizeC)doubleD)A+a3.在staticintB[3][3]={{1},{3,2},{4,5,6}};中,a[2][2]的值是C。A〕0B)5C〕6D〕24.假设有定义inta=3,*p=&a;那么*p的值是B。A〕常量a的地址值B〕3C...

南昌大学C++期末考试卷答案全
.-.优选-大学2003~2004学年第二学期期末考试试卷A卷一单项选择题1.‘A’的ASCII码为65,n为int型,执行n=‘A’+‘6’-‘3’;后,n的值为B。A〕‘D’B)68C)不确定的值D)编译出错2.以下变量名中,A是合法的。A〕CHINAB)byte-sizeC)doubleD)A+a3.在staticintB[3][3]={{1},{3,2},{4,5,6}};中,a[2][2]的值是C。A〕0B)5C〕6D〕24.假设有定义inta=3,*p=&a;那么*p的值是B。A〕常量a的地址值B〕3C〕变量p的地址值D〕无意义5.以下关于指针运算的各表达中,不正确的表达是D。A〕指向同一数组的两个指针,可以进展相等或不等的比拟运算;B〕可以用一个空指针赋值给某个指针;C〕指向数组的指针,可以和整数进展加减运算;D〕指向同一数组的两个指针,可以进展有意义的相加运算。6.x、y、z是int型变量,且x=3,y=4,z=5;那么下面各表达式中,值为0的是D。A〕‘x’&&‘y’B〕x<=yC〕x||y+z&&y-zD)!((x>n;inta[n];D)constintSIZE=10;inta[SIZE];16.采用函数重载的目的在于D;A)实现共享B〕减少空间C)提高速度D〕使用方便,提高可读性17.以下的各类函数中,C不是类的成员函数。A〕构造函数B〕析构函数C〕友元函数D〕拷贝初始化构造函数18.假设有定义:intx,*p;那么正确的赋值表达式是D。A)*p=*xB)*p=&xC)p=xD)p=&x19.以下静态数据成员特性中,D是错误的。A)说明静态数据成员时前边要加修饰符static;B)静态数据成员要在类体外进展初始化;C)引用静态数据成员时,要在静态数据成员名前加<类名>和作用域分辨符;D)静态数据成员不是所有对象共有的。20.以下各选项中,正确的函数声明是C。A〕doublefunc(intx,inty)B〕intfunc(intx;inty);C〕floatfunc(intx,inty);D〕charfunc(intx,y);二、填空题(每空1分,共20分)1.一个C++程序的执行从main函数开场,到main函数完毕。2.设有定义intx=3,y=4;那么表达式x*=y+5的值为27。假设有定义inta=2;那么执行完语句a+=a-=a*a;之后,a的值为-4。3.在C++中,只能用于整型操作数的算术运算符是%;表达式3/2的结果为1。4.在C++中,变量的三个根本要素是指:变量名、变量类型和变量值。5.设有定义intx=3,y=4,t;那么实现x,y两变量值交换的三个语句是:t=x;x=y;y=t;。6.在C++中,有两种给出注释的方法。一种是沿用C语言的注释符,即/**/。另一种是从它开场,直到它所在行尾的字符都为注释的注释符,即//。7.在C++中,函数在定义时可以预先定义出默认的形参值。默认形参值必须按从右到左的顺序定义。因为在调用时,实参初始化形参是按从左到右的顺序。8.在C++程序中,对刚创立的对象进展初始化的工作由构造函数来完成;而对象被删除前的一些清理工作那么是由析构函数来完成的。9.VisualC++6.0集成开发环境界面由标题栏、菜单栏、工具栏、 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 工作区窗口、文档窗口、输出窗口以及状态栏等组成。10.类是逻辑上相关的函数与数据的封装。特殊类的对象拥有其一般类的全部属性与效劳,称作特殊类对一般类的继承。三、程序阅读题(每题5分,共30分)请在各程序的右侧空白局部,写出对应程序运行后的输出结果.-.优选-1.源程序如下:#includevoidmain(){abcdefgcdefgchar*s=″abcdefg″;cout<#defineN5voidmain(){inti,j;for(i=N;i>=1;i--){for(j=1;j<=N-i;j++)cout<<″″;//双引号含一空格for(j=1;j<=2*i-1;j++)cout<<″*″;cout<voidmain(){intfun(inta);inta=2,i;for(i=0;i<3;i++)printf("%3d〞,fun(a));}intfun(inta){intb=1;staticintc=1;b=b+1;c=c+1;return(a+b+c);}4.源程序如下:51113TheSum=29#includevoidmain(){intprime(intx);staticinta[6]={5,9,6,11,13,8};inti,*p=a,sum=0;for(i=0;i<6;i++)if(prime(*(p+i))==1){printf("%d\t〞,*(a+i));sum+=*(a+i);}printf("\nTheSum=%d\n〞,sum);}intprime(intx){inti;for(i=2;ivoidf1(intI){I+=10;}voidf2(int*I){*I+=10;}kl,voidf3(int&n){n+=10;}voidmain()Iis0Iis10Iis20{intI=0;f1(I);cout<<"Iis〞<classClass{public:Class(intn=6,intm=7);~Class();voidSet(intn,intm){x=n;y=m;}private:intx,y;};Class::Class(intn,intm){Set(n,m);cout<<"Construct:x=〞<intfac(intn);voidmain(){inti;for(i=0;i<20;i++)cout<voidmain(){inti,j;for(i=1;i<=___9___;i++){for(j=1;j<=___i_____;j++)printf("%1d*%1d=%2d〞,j,i,i*j);printf("\n〞);}}五、程序设计题(每题9分,共18分)1.设学生的人数,他们的考试成绩也。请编程补全下面的程序,使该程序能完成:〔1〕计算出这些成绩的平均成绩并显示出来;〔2〕计算出这些成绩的最高成绩并显示出来。#include#defineN8voidmain(){staticfloatscore[N]={86,67,98,80,78,95,56,78};inti;floats,aver,max;s=0;for(i=0;i>year>>month>>day;s=0;for(i=1;i2&&leap(year)==true)s=s+1;cout<voidmain(){int i,sum;      sum=0;for(i=1;【18】  ; 【19】     )    【20】              ;cout<<〞sum=〞<voidmain(){intx=3,y=3;switch(x%2){case1:switch(y){case0:cout<<"First\t";case1:cout<<"Second\t";break;default:cout<<"Hellow\t";}case2:cout<<"Third\n";}}2、#includevoidmain(){inta=50,b(0);b=++a;cout<classA{inta;public:A(intaa=0){a=aa;}~A(){cout<<〞DestructorA!〞<B||Aboolprime(intn);voidmain(){intsum=0;for(inti=100;i<300;i++)if(prime(i))sum+=i;cout<<"Sum="<usingnamespacestd;classClock{public:voidSetTime(inth=0,intm=0,ints=0);voidShowTime();private:intHour,Minute,Second;};voidClock::SetTime(inth,intm,ints){Hour=h;Minute=m;Second=s;}voidClock::ShowTime(){cout<0&&x<=10的相反表达式为________。A.x<=0||x>10B.x<=0&&x>10C.x<=0||x<=10D.x>0&&x>104、在下面循环语句中循环体执行的次数为________。inti=0,s=0;while(s<20){i++;s+=i;}A.4B.5C.6D.75、在下面的二维数组定义中,正确的选项是________。A.inta[5][];B.inta[][5];C.inta[][3]={{1,3,5},{2}};D.inta[](10);6、以下表达中不正确的选项是________。A.在一个函数中,可以有多条return语句B.函数的定义不能嵌套,但函数的调用可以嵌套C.函数必须有返回值D.不同的函数中可以使用一样名字的变量7、为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择________。A.联函数B.重载函数C.递归函数D.函数 模板 个人简介word模板免费下载关于员工迟到处罚通告模板康奈尔office模板下载康奈尔 笔记本 模板 下载软件方案模板免费下载 8、假设用数组名作为函数调用的实参,传递给形参的是________。A.数组的首地址B.数组中第一个元素的值C.数组全部元素的值D.数组元素的个数9、类的构造函数是在定义该类的一个________时被自动调用执行的。A.成员函数B.数据成员C.对象D.友元函数10、设存在函数intmax(int,int)返回两参数中较大值,假设求22,59,70三者中最大值,以下表达式不正确的选项是________A.intm=max(22,max(59,70));B.intm=max(max(22,59),70);C.intm=max(22,59,70);D.intm=max(59,max(22,70));11、对classpoint,如使用point*ptr=newpoint[2];创立对象数组,那么删除此数组使用的语句是________。A.deleteptr[2];B.delete[]ptr;C.deleteptr[];D.delete[2]ptr;12类A中存在静态数据成员x,设a和b是类A的两个对象,在执行a.x=10之后,b.x的值为________。A.未初始化B.等于a.xC.等于0D.随机13、假定一条定义语句为"inta[10],x,*pa=a;〞,假设要把数组a中下标为3的元素值赋给x,那么不正确的语句为________。A.x=pa[3];B.x=*(a+3);C.x=a[3];D.x=*pa+3;14、假定k是一个double类型的变量,那么关于变量p的正确定义语句为________。A.doublep=&k;B.int*p=&k;C.double&p=*k;D.char*p=〞Thankyou!〞;15、定义p并使p指向动态空间中的包含30个整数的数组所使用的定义语句为________。A.int*p=newint[30];B.int*p=newint(30);C.int*p=new[30];D.*p=newint[30];二、判断题,对的画√,错的画×(每题1分,共10分)〔〕1、在说明语句inta(15),&b=a,*p=&a;中,b的值与*p的值是不相等的。〔〕2、break语句也可以用于switch体,它可退出switch语句。〔〕3、在一个被调用函数中,一个return语句可返回多个值给调用函数。〔〕4、宏定义命令是以分号完毕的。〔〕5、do-while循环语句的循环体至少执行一次。〔〕6、函数形参的作用域是该函数的函数体。〔〕7、静态类标识符在它的作用域之外是不存在的。〔〕8、对象成员的表示与构造变量成员表示一样,使用运算符.或->。〔〕9、某类中的友元类的所有成员函数可以存取或修改该类中的私有成员。〔〕10、constchar*p说明了p是指向字符串的常量指针。三、填空题(每空2分,共20分)1、一个完整程序中必须有一个名为_【1】_的函数。2、程序中的预处理命令是指以___【2】___字符开头的命令。3、假定x=5,y=6,那么执行表达式y*=x++计算后,y的值为____【3】___。4、为语句标号使用的C++保存字case和default只能用于___【4】___语句的定义体中。5、假设只需要通过一个成员函数读取数据成员的值,而不需要修改它,那么应在函数头的后面加上___【5】_____关键字。6、假设在类的定义体中只给出了一个成员函数的原型,那么在类外给出完整定义时,其函数名前必须加上___【6】____和两个冒号分隔符。7、假定用户只为类AB定义了一个构造函数"AB(intaa,intbb=0){a=aa;b=bb;}〞,那么定义该类的对象时,其实参表中至多带有___【7】__个实参。8、完成下面类中的成员函数的定义。classpoint{private:intm,n;public:point(int,int);point(point&);};point::point(inta,intb){m=a;n=b;}point::point(__【8】_){m=t.m;n=t.n;}9、完成下面类中的成员函数的定义。classA{inta,b;public:A(intaa=0,intbb=0)__【9】___{}//分别用aa和bb对应初始化a和b};main(){Ax(5),y(x);//定义类A的对象x并用5初始化,同时定义y并用x初始化___【10】__;//定义p指针,使之指向对象x}四、阅读程序,写出各程序运行后的输出结果〔每题5分,共20分〕1、#includeusingnamespacestd;voidfun(inta,int*b,int*c,int&d);voidmain(){inta1=10,a2=20,a3=30,a4=40;fun(a1,&a2,&a3,a4);cout<<〞a1=〞<voidmain(){inti,j,k;for(i=1;i<=4;i++){for(k=1;k<=4-i;k++)cout<<'';for(j=1;j<=2*i-1;j++)cout<<'*';cout<classCE{private:inta,b;intgetvalue(){return(a>b"a:b);}public:intcvoidSetValue(intx1,intx2,intx3){a=x1;b=x2;c=x3;}intGetValue();};intCE::GetValue(){intd=getvalue();return(d>c"d:c);}voidmain(){intx=5,y=12,z=8;CEex;ex.SetValue(x,y,z);cout<classPoint{intx,y;public:Point(intx1=0,inty1=0):x(x1),y(y1){cout<<"Point:"<#defineSIZE10voidmain(){intdata[SIZE];intm;cout<<"请输入"<>data[m];intj=0,k=0;for(inti=1;idata[j])j=i;elseif(data[i]0){intd=data[0];data[0]=data[k];data[k]=d;}if(kclassCDate{public:CDate()//函数重载{Year=1990;Month=1;Day=1;}CDate(inty,intm=1,intd=1)//成员函数设置缺省参数{Year=y;Month=m;Day=d;}voidPrintDate();//打印日期voidSetDate(intsy,intsm,intsd)//非静态函数设置日期{Year=sy;Month=sm;Day=sd;}private:intMonth,Day,Year;//3个私有数据成员};voidCDate::PrintDate(){cout<
本文档为【南昌大学C++期末考试卷答案全】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
pyaiw
擅长施工管理及辅助设计,并对施工技术、质量与安全的深入研究
格式:doc
大小:85KB
软件:Word
页数:9
分类:教育学
上传时间:2021-11-29
浏览量:1