您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 东南大学C++程序设计(上)考试卷(-A-卷)
第1页共10页东南大学C++程序设计(上)考试卷(A卷)课程名称考试学期得分适用专业电类、非电类考试形式闭卷考试时间长度100分钟(一)选择题(每空2分,共20分)1.设有说明“inti=10;floatx;”,执行“x=5/i;”后,x的值为_____A.0.5B.0C.1.0D.以上皆否2.在while(!a)中,其中!a与表达式__________等价。A.a==0B.a==1C.a!=1D.a!=03.下面的整型常数中错误的是__________。A.123B.380C.038D.0xAF4.以下__________不能用作标识符A.a6.3B._1234C.GetNameD.b_tree5.设以下变量均为int类型,则值不等于10的表达式是________。A.x=y=9,x+y,x+1B.x=y=9,x+y,y+1C.x=9,y=1,y=x,x+yD.y=9,y+1,x=y,x+16.若定义函数,intf(intx){x*=10;returnx;}执行以下语句,inta=3,b;b=f(a)+f(a)之后a,b的值是________。A.3,30B.30,60C.300,330D.3,3307.已知inti=0;while(i++!=7);当while循环结束后,变量i的值为________。A.5B.6C.7D.88.表达式__________是满足:当c的值为1、3、5三个数时值为“真”,否则值为“假”的表达式A.(c=1)||(c=3)||(c=5)B.(c!=1)&&(c!=3)&&(c!=5)C.(c==1)&&(c==3)&&(c==5)D.(c==1)||(c==3)||(c==5)学号姓名密封线自觉遵守考场纪律如考试作弊此答卷无效第2页共10页9.对于C++的函数,正确的叙述是__________________A.函数的定义不能嵌套,但函数的调用可以嵌套B.函数的定义可以嵌套,但函数的调用不能嵌套C.函数的定义和调用都不能嵌套D.函数的定义和调用都能嵌套10.若定义函数时未指定函数的返回类型,则函数的返回类型为_______________A.voidB.intC.doubleD.编译出错(二)填空题(每空1分,共10分)1.已知小写字母A的ASCII码值是65,则下列语句执行后输出是charc=66;coutc;2.设y是int型变量,判断y为奇数的关系表达式为_______________。3.整型变量n的当前值是6,执行以下switch语句后n的值是switch(n){case6:++n;case7:n--;case8:++n;default:n/=2;}4.全局与静态变量在程序运行时自动初始化为5.已知x为double型,执行语句(float)x之后,x为类型。6.break语句只能用在循环语句和______________语句中。7.变量可分为局部变量和全局变量,其中全局变量的作用域范围______________第3页共10页8.函数具有相同的函数名,但具有不同的参数个数或不同的参数类型,编译系统根据不同的参数去调用不同的函数,称____________函数。9.有整型变量a、b,则下列for循环中的输入语句最多可执行__________次for(a=0,b=0;b!=10&&a5;a++)cinb;10.若有下列程序,则程序运行后的输出是#includeiostreamusingnamespacestd;voidf(int);intmain(){f(123);return0;}voidf(intn){if(n=10)f(n/10);coutn%10;}(三)阅读程序并填空(每空2分,共30分)1.有程序如下:voidmain(void){for(inti=1;i7;i++)if(i%3==0)break;couti'\t';for(i=1;i7;i++)if(i%3==0)continue;couti'\t';}请问:程序输出为。第4页共10页2.voidmain(){inta,b,c;a=2,b=3,c=1;if(ab){if(ac)couta;}elsecoutb;}问:执行上述程序后输出。3.写出下列程序段运行时的输出结果voidcount(intx){cout(x%10)%10x/10%10x/100;}voidcount(intx,inty){cout(x%10)%10(x-x%y)/y;}voidmain(void){inta=285,b=369;cout原整数:aendl;cout结果数:;count(a,b);coutendl;}第一行是第二行是4.写出下列程序的输出结果。voidmain(void){inta,b;for(b=1,a=1;b=50;b++){if(a=10)break;if(a%2==1){a+=5;第5页共10页continue;}a-=3;}}执行完毕之后a和b的值分别是___________和_______________5、设有如下程序intm=10;//Aintf(intx,inty){intm=5;//Bm+=x*y;//Creturnm;//D}voidmain(){inta=6,b=7;coutf(a,b)/mendl;}执行完毕之后的输出结果是_________________5.设有如下程序。voidmain(){charc;cinc;if(c='z'&&c='a')c=c-'a'+'A';if(c='Z'&&c='A')c=c-'A'+'a';coutcendl;}程序执行后,若输入英文字母’B’,则程序输出_______________;若输入英文字母’b’,则程序输出_______________。6.阅读下列程序#includeiostream第6页共10页usingnamespacestd;inta,b;voidf(intj){staticinti=a;//注意静态局部变量intm,n;m=i+j;i++;j++;n=i*j;a++;couti=i'\t'j=j'\t';coutm=m'\t'n=nendl;}intmain(){a=1;b=2;f(b);f(a);couta=a'\t'b=bendl;return0;}该程序输出的第一行为___________________________________,第二行为___________________________________,第三行为___________________________________7.阅读下列程序intfun1(intx,inty);voidmain(){intk=4,m=1,p;p=fun1(k,m);coutpendl;p=fun1(k,m);coutpendl;}intfun1(intx,inty){staticintm=0,i=2;i+=m+1;m=i+x+y;returnm;}该程序输出的第一行为___________________________________,第二行为___________________________________第7页共10页8.阅读下列程序(请注意if语句里面的符号)intnum=4;if(num=1)cout”Alpha”;elseif(num=2)cout”Bata”;elseif(num=3)cout”Gamma”;elsecout”Delta”;上面程序段的输出分别为______________________。(四)完善程序题(每空2分,共20分。其中非电类做1-3,电类做1-2和第4题)1.求出1000之内的“完数”。所谓“完数”,即这个数等于它的因子之和。例如:6是一个完数,即6=1+2+3。要求每输出4个完数换一行。#includeiostream.hvoidmain(){intn=0,s;for(inti=1;i=1000;i++){;for(intj=1;j=i/2;j++)if()s+=j;if(){couti'\t';n++;if()cout'\n';}}}2、将4~50之间的所有偶数用两个素数之和表示。判断一个整数是否为素数用函数完成。#includeiostream#includecmathusingnamespacestd;boolprime(intm){第8页共10页if(m==1||m==0)returnfalse;if(m==2)returntrue;intk=(int)sqrt(m);for(inti=2;i=k;i++)//穷举法if(m%i==0);if(ik);elsereturnfalse;}intmain(){for(intn=4;n=50;n+=2){for(inti=2;i=n/2;i++)if(prime(i)&&prime(n-i))coutn'='i'+'n-iendl;//列出所有可能组合}return0;}3、程序功能:输入三个整数a、b、c,通过调用函数选出其中最大值,将该值输出。(本题限非电类同学完成,电类同学完成第4题)#includeiostream.hintmax(int,int,int);voidmain(){inta,b,c;cout”inputa,b,c:”endl;cinabc;cout”a=”a”\tb=”b”\tc=”cendl;cout”maxofa,b,cis:”endl;}intmax(intx,inty,intz){intm;if(x=y&&x=z);elseif()m=y;else;;}4、下面为复数类,其中设计了类的加号运算符重载。(本题限电类同学完成)第9页共10页#includeiostream.hclassComplex{doubleReal,Image;:Complex(doubler=0.0,doublei=0.0):Real(r),Image(i){}Complex(Complex){Real=com.Real;Image=com.Image;}voidPrint(){coutReal=Real'\t'Image=Image'\n';}Complexoperator+(Complex);//重载+运算符函数Complexoperator+(double);//重载+运算符函数};ComplexComplex::operator+(){//重载+ComplexTemp(Real+c.Real,Image+c.Image);return;}ComplexComplex::operator+(doubled){//重载+returnComplex(,Image);}voidmain(void){Complexc1(1.0,1.0),c2(2.0,2.0),c3,c4;doubled=0.5;c3=c1+c2;c3.Print();c4=c3+d;c4.Print();}(五)编程题(每题10分,共20分,非电同学完成1和2,电类完成1和3)1、用任意一种方法求出费波纳切数列的前20项并按每行5个数显示。第10页共10页2、设计求n!的函数,n的缺省值为10。3、编写一个矩形类,其中数据成员包括矩形的左上和右下点的坐标共4个数值,函数成员包括类的构造函数、拷贝构造和打印函数(打印类的数据),并编写一个函数以求出矩形的面积。(本题限电类同学完成)
本文标题:东南大学C++程序设计(上)考试卷(-A-卷)
链接地址:https://www.777doc.com/doc-6310699 .html