C语言程序设计试题试题_第1页
C语言程序设计试题试题_第2页
C语言程序设计试题试题_第3页
C语言程序设计试题试题_第4页
C语言程序设计试题试题_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言程序设计试卷,C++语言程序设计试题及答案一、单项选择题(每题1分,共20分)1.C语言规定:在一个源程序中,main函数的地点(C)。一定在最开始一定在系统调用的库函数的后边能够随意一定在最后下边四个选项中,均是合法浮点数的选项是(B)。+1e+103e212e-4-8e5123e+2e-1-e3.8e-43.若a=-14,b=3,则条件表达式a<b?a:b+1的值为(A)。4.已知:intn,i=1,j=2;履行语句n=i<j?i++:j++;则i和j的值是(c).1,2B.1,3C.2,2D.2,3为了判断两个字符串s1和s2能否相等,应当使用(D)if(s1==s2)B.if(s1=s2)C.if(strcmp(s1,s2))D.if(strcmp(s1,s2)==0)以下正确的描绘是(B)。函数的定义能够嵌套,但函数的调用不可以够嵌套。函数的定义不可以够嵌套,但函数的调用能够嵌套。函数的定义和函数的调用均不可以够嵌套。函数的定义和函数的调用均能够嵌套。7.在C语言中,下边对函数不正确的描绘是(D)。当用数组名作形参时,形参数组值的改变能够使实参数组之值相应改变。同意函数递归调用。函数形参的作用范围不过限制于所定义的函数内。子函数一定位于主函数以前。8.假如在一个函数中的复合语句中定义了一个变量,则以下正确的说法是(A)。该变量只在该复合语句中有效该变量在该函数中有效该变量在本程序范围内均有效该变量为非法变量以下正确的函数形式是(D)。doublefun(intx,inty){z=x+y;returnz;}fun(intx,y){intz;returnz;}fun(x,y){intx,y;doublez;z=x+y;returnz;}doublefun(intx,inty){doublez;z=x+y;returnz;}以下程序的输出结果是(B)。#include<>#defineF(y)#definePRINT(a)printf("%d",(int)(a))voidmain(void){intx=2;PRINT(x*F(3));}A.10B.13C.11D.报错以下程序中编译和运转结果均正确的一个是(C)。A.voidmain(void){union{intn;floatx;}comm={1};printf("%d",;}B.voidmain(void){union{intn;floatx;}comm={};printf("%f",;}C.voidmain(void){union{floatx;intn;}comm={}printf("%f",;}D.voidmain(void){union{intn;floatx;}comm=5;printf("%d",;}12.设有定义:inta=1,*p=&a;floatb=;charc='A';以下不合法的运算是(A)。p++;B.a--;C.b++;D.c--;13.以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原由是main( ){

(B)

。int*p,*q,a,b;p=&a;printf("inputa:");scanf("%d",*p);}A.*p表示的是指针变量p的地点*p表示的是变量a的值,而不是变量a的地点*p只好用来说明p是一个指针变量14.若num、a、b和c都是int型变量,则履行表达式num=(a=4,b=16,c=32);后num的值为(C)。A.15.已有以下定义和输入语句,若要求a1,a2,c1,c2始输入数据时,正确的数据输入方式是(C),(注:_intal,a2,charc1,c2;scanf("%d%c%d%c",&a1,&c1,&a2,&c2);

的值分别为表示空格)

10,20,A

和B,当从第一列开16.如有说明:inta[10];则对a数组元素的正确引用是(C)。a[10]B.a[]C.a[5-3]D.a[-1]17.在C语言中,一维数组的定义方式为种类说明符数组名;(A)A.[整型常量表达式]B.[表达式]C.[整型常量]D.[整型表达式]以下能对一维数组a进行正确初始化的语句是(C)。ina[10]=(0,,0,0);B.inta[10]={};C.inta[]={0};D.inta[10]={10*1};以下程序段(C)。x=-1;do{x=x*x;}while(!x);是死循环B.循环履行二次C.循环履行一次D.有语法错误以下对于do-while循环的不正确描绘是(B)。do-while的循环体最少履行一次B.do-while循环由do开始,用whileC.在do-while循环体中,必定要有能使

结束,在while

while(表达式)后边不可以写分号后边表达式的值变成零("假")的操作do-while的循环体能够是复合语句二、是非判断题(每题1分,共15分)1.C语言规定,表记符中的字母一般划分大、小写。T2.控制台标准输入设施一般是指键盘。T3.使用while和do-while循环时,循环变量初始化的操作应在循环语句以前办理。T循环体中continue语句的作用是结束整个循环的履行。F关系表达式的值是0或1。T6.如有说明:inta[3][4]={0},则只有元素a[0][0]可获得初值0。T7.字符串作为一维数组寄存在内存中。T8.字符数组中的一个元素寄存一个字符T。字符数组中的最后一个字符一定是'\0'。F形参为指针变量时,实参一定是数组名。F用数组名作函数参数时传达的是数组的值。F全局变量能够被任何一个函数中的任何一个表达式使用。T一个函数能够带回一个整型值、字符值、实型值等,也能够带回指针型的数据。表达式i++与++i在任何场合功能完整相同。在赋值表达式中,赋值号左侧的变量和右侧的表达式之值的数据种类能够不相同。三、多项选择题(每题1分,共5分)1.若要求在if后一对圆跨括号中表示a不等于0的关系,则不可以正确表示这一关系的表达式为(ABC).A.a<>0B.!aC.a=0D.aE.a!=0选出全部合法的常量(CEGIJ)。A.B.-e-3C.D.'BASIC'E.'\045'F.0fdG.0xfdaLH.e8I.'\\'J."\""3.以下对于函数原型说法错误的选项是:(ADFHI)对变量的定义”和“申明”是一回事,对函数的“定义”和“申明”也是一回事。在申明函数原型时,同意只写出参数的种类,而不用写出参数的名称。(3)假如在定义函数时不指定函数种类,系统会隐含指定函数种类为int型。调用一个函数时,函数名、实参个数、实参种类一定与函数原型一致。假如被调函数的定义出此刻主调函数以前,能够不用加以申明。全部的函数之间能够相互调用。在C语言中,全部函数都是平行的,一个函数不可以隶属于另一个函数,即不可以嵌套定义的。假如函数没有返回值,在定义时能够省略函数种类。在C语言中,任何函数的定义都不一样意为空。(10)C语言规定,实参变量对形参变量的数据传达是“值传达”。请从下边对于指针的表达中,选出5个正确的表达。(ABDEH)指针即地点。(2)指针须先赋值后使用。(3)当指针p指向数组a的首址后,因为

p和

a都能引用数组元素,因此这里

p和

a是等价的。(4)int*p

表示定义了一个指向

int

种类数据的指针变量

p。数组的指针是指数组的初步地点。如有定义inta[4],*p=a,则p++后p指向数组a所占内存的第二个字节。使用指针变量作函数参数采纳的是"值传达"的方式。相同种类的指针能够进行减法运算。指针变量和很多变量相同能够进行四则运算。(10)指针p指向数组元素a[2],若要其指向a[4],履行p=p*2即可。以下对于数组的表达中,5个最的确的说法是:(BEGHI)在申明一个数组变量时一定指定大小。一定用常量表达式来说明一个数组变量的大小。在对数组进行初始化时大括号中的数据个数一定和数组的大小相同。有变量定义inta[3]={0,1,2},b[3];,能够用b=a,使数组b的每个元素和a的每个元素相等。在C语言中,能够将字符串作为字符数组来办理。(6)定义了字符数组charc[11];为了给它赋值,能够用c="china";。(7)假如有chars[15]={"Iama\0student"};,则strlen(s)的值为6。(8)C语言中,二维数组中元素摆列的次序是:按行寄存。在C语言中,不可以对局部的数组变量进行初始化。在申明时对数组进行进行初始化一定指定数组大小。四、程序运转结果题(每题4分,共20分)(4分)下边程序的运转结果是(①)。#include<>voidmain(void){inti;chara[]="Time",b[]="Tom";for(i=0;a!='\0'&&b!='\0';i++)if(a==b)if(a>='a'&&a<='z')printf("%c",a-32);elseprintf("%c",a+32);elseprintf("*");}(4分)下边程序段的运转结果是(①)。i=1;s=3do{s+=i++;if(s%7==0)continue;else++i;}whlie(s<15);printf("%d",i);(4分)若运转时输入:5999,则以下程序的运转结果(保存小数点后一位)是(①)。voidmain(void){intx;floaty;scanf("%d",&x);if(x>=0&&x<=2999)y=18+*x;if(x>=3000&&x<=5999)y=36+*x;if(x>=6000&&x<=10000)y=54+*x;printf("%",y);}(4分)以下程序的运转结果是(①)。voidmain(void){inta=1,k;for(k=0;k<3;k++)printf("%4d",f1(a))}intf1(intx){staticintz=3,y=0;y++;z++;return(x+y+z);}(4分)以下程序的功能是计算函数F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值,请选择填空。#include<stdio,h>#include<>floatfun1(float,float);voidmain(void){floatx,y,z,sum;scanf("%f%f%",&x,&y,&z);sum=fun1(①)+fun1(②);printf("sum=%f\n",sum);}floatfun1(floata,floatb){floatnum;num=a/b;returnnum;}五、程序填空题(每题2分,共20分)1.下边程序的功能是用公式:π×π/6=1/(1×1)+1/(2×2)+1/(3×3)+......求π的近似值,直到最后一项的值小于10e-6为止。#include<>#include<>voidmain(void){longi=1;①pi=0;while(i*i<=10e+6){pi=

;i++;}pi=sqrt*pi);printf("pi=%\n",pi);}2.下边程序的功能是把以下给定的字符按其矩阵格式读入数组str1中,并输出队列号之和是3的数组元素。voidmain(void){charstr1[4][3]={'A','b','C','d','E','f','G','h','I','j','K','i'};intx,y,z;for(x=0;x<4;x++)for(y=0;①;y++){z=x+y;if(②)printf("%c\n",str1[x][y]);}}3.以下程序的功能是用递归方法计算学生的年纪,已知第一位学生年纪最小,为10岁,其他学生一个比一个大2岁,求第5位学生的年纪。递归公式以下:age(1)=10age(n)=age(n-1)+2(n>1)#include<>intage(intn){intc;if(n==1)c=10;elsec=①;returnc;}以下程序的功能是判断输入的年份是不是闰年。voidmain(void){intyear,yes;scanf("%d",&year);if(year%400==0)yes=1;elseif(①)yes=1;else②;if(yes)printf("%dis",year);elseprintf("%disnot",year);printf("aleapyear.\n");}以下程序实现:输入三个整数,按从大到小的次序进行输出。voidmain(void){intx,y,z,c;scanf("%d%d%d",&x,&y,&z);if(①){c=y;y=z;z=c;}if(②){c=x;x=z;z=c;}if(③){c=x;x=y;y=c;}printf("%d,%d,%d",x,y,z);}六、填空题(每题1分,共20分)1.在C语言中,一个float型数据在内存中所占的字节数为(①)个字节;一个double型数据在内存中所占的字节数为(②)个字节。一、单项选择题1.下边正确的字符常量是:A)“c”B)‘’’C)‘W’D)‘’2.以下字符串中不可以作为C++表记符使用的是:A)WHILEB)userC)_1varD)9stars3.履行语句序列的输出结果是______。inti=0;while(i<25)i+=3;cout<<i;A)24B)25C)27D)284.以下符号中能够用作C++表记符的是______。A)radiusB)foo~barC)elseD)3room5.若a是int种类变量,则表达式a=25/3%3的值是:A)3B)2C)1D)06.以下表达中不正确的选项是:在不一样的函数中能够使用相同名字的变量函数中的形参是局部变量在一个函数内部定义的变量只在本函数范围内有效在一个函数内部定义的变量在全部函数内部有效7.变量的引用,其含义是指该变量的:A.值B.种类C.别名D.地点8.已知定义:chars[10];则下边不表示s[1]的地点的是:A.s+1B.*(s+1)C.&s[0]+1D.&s[1]9.平常拷贝结构函数的参数是:A.对象B.对象的成员C.对象的引用D.对象的指针10.派生类对象的结构次序是先调用:A.派生类的结构函数B.基类的结构函数C.内嵌对象的结构函数D.友元类的结构函数二、填空题1.动向多态是指在___(1)____时才确立使用哪个___(2)___函数的方式。2.友员不是类的成员,但一定在___(3)__予以申明,它拥有存取类的__(4)__成员的特权。3.C++中class与struct(6)_的成员为公有的。

的主要差别是在缺省接见权限时,

__(5)_的成员为私有的,而

__4.如有定义语句:

inta=3,b=2;

,则表达式

a<b?a:b

的值是___(7)____

。5.表达式:

26%3=___(8)____,32/5=___(9)____

。6.类的成员包含__(10)__和___(11)___两种,在面向对象的术语中,前者称为属性、后者称为方法。其接见权限有三种,由符号__(12)___、__(13)__和_(14)_指定,此中拥有__(15)_限的成员只有类中的成员函数才能接见、而拥有__(16)__权限的成员在任何函数中都可接见。

权7.对基类成员的初始化,一定在派生类结构函数的(17)中进行。8.C++源程序言件的扩展名是

(18)

,头文件的扩展名是

(19)

。9.若

n为整型,则表达式

n=(float)2/3

的值是

(20)

。三、写出程序的运转结果1.写出程序运转结果include<>#include<>classCRect{private:charcolor[10];intleft;inttop;intlength;intwidth;public:CRect( );CRect(char*c,intt,intlef,intlen,intwid);voidSetColor(char*c);voidSetSize(intl=100,intw=100);voidMove(intt,intl);voidDraw( );};CRect::CRect( ){strcpy(color,"Black");top=0;left=0;length=0;width=0;}CRect::CRect(char*c,intt,intlef,intlen,intwid){strcpy(color,c);top=t;left=lef;length=len;width=wid;}voidCRect::SetColor(char*c){strcpy(color,c);}voidCRect::SetSize(intl,intw){length=l;width=w;}voidCRect::Move(intt,intl){top=t;left=l;}voidCRect::Draw( ){cout<<"矩形左上角坐标为("<<left<<","<<top<<")"<<endl;cout<<"矩形长和宽分别为"<<length<<","<<width<<endl;cout<<"矩形的颜色是"<<color<<endl;}voidmain( ){CRectr;("Red");(10,20);(100,200);( );(50,50);("Blue");( );}2.写出程序运转结果#include<>classA{intx,y;public:A( ){x=0;y=0;}A(inta,intb){x=a;y=b;}~A( ){if(x==y)cout<<"x=y"<<endl;elsecout<<"x!=y"<<endl;}voidDisplay( ){cout<<"x="<<x<<",y="<<y<<endl;}};voidmain( ){Aa1,a2(2,3);( );( );}3.写出程序运转结果#include<>classA{private:intn;public:A(inti){n=i;}operator++( ){n++;}operator++(int){n+=2;}voidDisplay( ){cout<<"n="<<n<<endl;}};voidmain( ){Aa(2),b(2);a++;++b;Display( );Display( );}4.写出程序运转结果#include<>intfunc1(intn);intfunc2(intn);voidmain( ){intsum;sum=func2(5);cout<<sum<<endl;}intfunc1(intn){if(n==1)return1;elsereturnn*func1(n-1);}intfunc2(intn){ints=0;for(inti=1;i<=n;i++)s+=func1(i);returns;}四、编程(依据要求填上程序缺乏的部分)1.达成以下的程序,使得输出为:1234#include<>#include<>classA{private:________(1)___________protected:________(2)__________public:A(inta,intb,intc){X=a;Y=b;Z=c;}intGetX( ){returnX;}intGetY( ){returnY;}intGetZ( ){returnZ;}};classB_____(3)_______{private:intK;public:B(inta,intb,intc,intd)_______(4)_________{K=d;}voidShow( ){cout<<GetX( )<<GetY( )<<Z<<K<<endl;}};voidmain( ){Bb(1,2,3,4);c.Show( );}2.在主函数中定义有30个元素的数组s,函数func1()的功能是将2、4、6、、56、58、60分别赋给数组元素s[0]、s[1]、s[2]、、s[27]、s[28]、s[29]。函数func2()的功能是按次次将数组的每5个元素求均匀值并存入数组w中(马上s[0]、s[1]、s[2]、s[3]、s[4]的均匀值存入w[0]中,s[5]、s[6]、s[7]、s[8]、s[9]的均匀值存入w[1]中,)。请填空使程序正确运转。#include<>#include<>voidfunc1(doubles[]){inti,k;for(k=2,i=0;i<30;i++){s[i]=k;______(5)_________}}voidfunc2(doubles[],doublew[]){doublesum;inti,k;for(k=0,i=0,sum=0;i<30;i++){_________(6)___________if((i+1)%5==0){w[k]=sum/5;_________(7)__________k++;}}}voidmain( ){doubles[30],w[6];func1(s);func2(s,w);}C++程序设计试题及答案(一)答案一、单项选择题1.CDAABDDcb二、填空题1.履行,成员2.类中,私有3.class,struct4.25.2,66.数据成员,函数成员7.public,private,protect,私有,公共8..cpp.h9.三、写出程序的运转结果1.矩形左上角坐标为50,50矩形长和宽分别为100,100矩形的颜色是Blue2.x=0,y=0x=2,y=3x=yx!=y3,n=3n=44,5四、编程(依据要求填上程序缺乏的部分)intX,Y;intZ;3.publicA4.:A(a,b,c)5.k+=2;6.sum+=s[i];7.sum=0;C++程序设计试题及答案(二)一、填空题(20分,每空1分)1.当使用要点字__(1)_作为函数返回种类时,该函数不返回任何值。2.在类中一定申明成员函数的__(2)__,成员函数的_(3)_部分能够写在类外。3.假如需要在被调函数运转时期,改变主调函数中实参变量的值,则函数的形参应当是4___5__

_4.当一个变量被申明为另一个变量的引用时,此变量就成为被引用变量的此中一个变量值的改正,__(7)_(会/不会)影响到另一个变量的值。

__(6)__

。此时,对5.友员不是类的成员,但一定在___(8)__予以申明,它拥有存取类的_(9)__成员的特权。6.假如需要在被调函数运转时期,改变主调函数中实参变量的值,则函数的形参应当是__(10)__种类或___(11)_种类。7.友员不是类的成员,但一定在___(12)__予以申明,它拥有存取类的_(13)__成员的特权。8.假如需要在被调函数运转时期,改变主调函数中实参变量的值,则函数的形参应当是__(14)__种类或___(15)_种类。下边程序将字符数组a复制到字符数组b中。main( ){chara[]="Iamaboy.",b[20];inti;for(i=__(16)_;a[i]!='\0';i++){___(17)___;}____(18)___;}10.下边程序的功能是计算1-3+5-7+-99+101的值存在s中,请填空。#include<>main( ){inti,t=1,s=0;for(i=1;i<=101;__(19)__){s=s+i*t;t=_(20)__;}}二、判断以下说法的正确性,正确的划√,错误的划×(10分,每个题目2分)1.假如派生类的成员函数的原型与基类中被定义为虚函数的成员函数原型相同,那么,这个函数自动继承基类中虚函数的特征。2.在C++中,要点字class与struct拥有完整相同的作用。3.如有定义:doublex[3][5];则x数组行下标的上限是3,下限是1。4.说明函数原型时不需要指明每个参数的种类,只要要说明每个参数的名字就能够了。5.假如在一个程序块中有两个变量拥有相同的名字,而且都有效,不过它们的作用域不一样,则优先接见作用域较大的那个变量。三、单项选择题(30分,每题2分)1.程序段inta,b;a=5;b=a++;cout<<b;的输出应为:A)4B)5C)6D)72.程序段inti,a;for(i=0;i<=10;i++)a=i;cout<<i;的输出应为:A)0B)9C)10D)113.以下相关函数重载的表达中,错误的选项是______。函数重载就是用相同的函数名定义多个函数重载函数的参数列表一定不一样重载函数的返回值种类一定不一样重载函数的参数能够带有默认值4.int*p1,*p2,a[10];p1=a;p2=&a[5];则p2-p1的值为:A)没法确立B)10C)5D)125.变量的指针,其含义是指该变量的:A)值B)地点C)名D)一个标记派生类的成员函数不可以接见基类的______。A)公有成员和保护成员B)公有成员C)私有成员D)保护成员7.数字字符0的ASCII值为48,如有以下程序voidmain( ){chara='1',b='2';cout<<b++<<”,”;cout<<b-a<<endl;}程序运转后的输出结果是:A)3,2B)50,2C)2,2D)2,508.有以下程序voidmain( ){inta[3][3],*p,i;p=&a[0][0];for(i=0;i<9;i++)p[i]=i;for(i=0;i<3;i++)cout<<a[1][i];}程序运转后的输出结果是:A)012B)123C)234D)3459.以下表达中错误的选项是:A)对于double种类数组,不可以够直接用数组名对数组进行整体输入或输出B)数组名代表的是数组所占储存区的首地点,其值不行改变C)程序履行中,数组元素的下标越界时,系统给出“下标越界”的犯错信息D)能够经过赋初值的方式确立数组元素的个数10.有以下程序voidmain( ){inta[]={1,2,3,4,5,6,7,8,9,0},*p;for(p=a;p<a+10;p++)cout<<*p<<“,”;}程序运转后的输出结果是:A)1,2,3,4,5,6,7,8,9,0,B)2,3,4,5,6,7,8,9,10,1,C)0,1,2,3,4,5,6,7,8,9,D)1,1,1,1,1,1,1,1,1,1,11.有以下程序voidmain( ){intc=35;intb=c&c;cout<<b;}程序运转后的输出结果是:A)0B)70C)35D)112.履行以下程序段后,正确的结果是:inti=0,s=1;while(i<3){s+=i;i++;}cout<<s;A)5B)6C)4D)313.履行以下程序段后,正确的结果是:chara[7]=”abcdef”;charb[4]=”ABC”;strcpy(a,b);cout<<a[5];A)eB)fC)0D)无输出14.以下带缺省值参数的函数说明中,正确的说明是intFun(intx,inty=2,intz=3);intFun(intx=1,inty,intz=3);intFun(intx,inty=2,intz);intFun(intx=1,inty,intz);15.拷贝结构函数的作用是:进行数据种类的变换用对象调用成员函数用对象初始化对象用一般种类的数据初始化对象四、写出程序的运转结果(20分,每题10分)1.函数sub的功能是什么?写出运转结果。1.函数sub的功能是什么?写出运转结果。#include<>longsub(intnum){inti;longsubsum=1;for(i=1;i<=num;i++)subsum*=i;return(subsum);}voidmain( ){inti;longsum=0;for(i=1;i<=5;i++){sum+=sub(i);cout<<i<<","<<sum<<endl;}}2.写出程序运转结果#include<>classBase{public:voidWhoAmI( ){cout<<"ClassBass"<<endl;}virtualvoidWho( ){cout<<"ClassBass"<<endl;}};classDerived:publicBase{public:voidWhoAmI( ){cout<<"ClassDerived"<<endl;}voidWho( ){cout<<"ClassDerived"<<endl;}};voidmain( ){Base*p;Baseb;Derivedd;p=&b;p->WhoAmI( );p->Who( );p=&d;p->WhoAmI( );p->Who( );}五、编程(依据要求填上程序缺乏的部分)(20分,每题10分)1.函数Convert()将一个数字字符串变换为对应的整数,请填空,实现函数的功能。#include<>intConvert(char*str);voidmain( ){chars[10]="12345";intn=Convert(s);cout<<n<<endl;}intConvert(char*str){intnum=0,digit;for(inti=0;(1);i++){digit=(2);num=num*10+digit;}returnnum;}2.函数Convert()将一个数字字符串变换为对应的整数,请填空,实现函数的功能。#include<>intConvert(char*str);voidmain( ){chars[10]="12345";intn=Convert(s);cout<<n<<endl;}intConvert(char*str){intnum=0,digit;for(inti=0;(3);i++){digit=(4);num=num*10+digit;}returnnum;}C++程序设计试题及答案(二)一、填空题1.void2.函数头,函数体3.引用,指针4.别名,会5.类中,私有6.引用,指针7.类中,私有8.引用,指针a[i]=b[i]a[i]='\0'i=i+2二、判断以下说法的正确性1.√××××三、单项选择题1.C2.B3.A4.D5.BDBADBDBAC四、写出程序的运转结果1.从1连乘到num5,1532.ClassBassClassBassClassDerivedClassDerived五、编程(依据要求填上程序缺乏的部分)1.(1)i<strlen(str)(2)str[i]2.(1)i<10(2)s[i]C++程序设计试题及答案(三)时间:2011-07-1718:54根源:未知作者:admin点击:2840次标签:C++程序设计试题及答案(三)学号:专业:层次:姓名:题号一二三四五六七八九十总分得分注意:全部答案都要写在答题卡上一、单项选择题1.设有数组定义:chararray[]=China;则数组array所占的空间为:A)4个字节B)5个字节C)6个C++程序设计试题及答案(三)学号:专业:层次:姓名:题号一二三四五六七八九十总分得分注意:全部答案都要写在答题卡上一、单项选择题1.设有数组定义:chararray[]=”China”;则数组array所占的空间为:A)4个字节B)5个字节C)6个字节D)7个字节2.以下选项中,与实现运转时多态性没关的是______。A)重载函数B)虚函数C)指针D)引用3.若a是int种类变量,则计算表达式a=1000%999的值是:A)0B)1C)2D)34.下边程序段中,for循环的履行次数是:inti=10;for(i=1;i<10;i++)cout<<“*”;A)9B)10C)8D)75.有以下程序voidmain( ){inta[3][3],*p,i;p=&a[0][0];for(i=0;i<9;i++)p[i]=i;for(i=0;i<3;i++)cout<<a[1][i];}程序运转后的输出结果是:A)012B)123C)234D)3456.以下表达中错误的选项是:A)对于double种类数组,不可以够直接用数组名对数组进行整体输入或输出B)数组名代表的是数组所占储存区的首地点,其值不行改变C)程?蛑葱兄校??樵?氐南卤暝浇缡保?低掣??ldquo;下标越界”的犯错信息D)能够经过赋初值的方式确立数组元素的个数7.有以下程序voidmain( ){inta[]={1,2,3,4,5,6,7,8,9,0},*p;for(p=a;p<a+10;p++)cout<<*p<<“,”;}程序运转后的输出结果是:A)1,2,3,4,5,6,7,8,9,0,B)2,3,4,5,6,7,8,9,10,1,C)0,1,2,3,4,5,6,7,8,9,D)1,1,1,1,1,1,1,1,1,1,8.有以下函数模板定义:template<classT>Tfunc(Tx,Ty){returnx*x+y*y;}在以下对func()的调用中,错误的选项是A)func(3,5);

B)func,C)func(3,

D)func((double)3,9.有以下类申明:classA{intx;public:A(intn){x=n;}};classB:publicA{inty;public:B(inta,intb);};以下函数中哪一个是正确的结构函数B::B(inta,intb):x(a),y(b){}B::B(inta,intb):A(a),y(b){}B::B(inta,intb):x(a),B(b){}B::B(inta,intb):A(a),B(b){}10.类的析构函数的作用是A)对象的初始化B)删除对象时的清理任务C)与一般成员函数相同D)类的初始化二、填空题1.若要接见指针变量p所指向的数据,应使用表达式__(1)__。2.面向对象程序设计中的多态性包含静态多态性和动向多态性,前者由_(2)_系统支持,而后者则由__(3)___系统支持。3.引入虚基类的目的是为认识决多重继承中的____(4)___和___(5)___问题。4、有一种只在循环语句或switch语句中使用的流程控制语句,表示该语句的要点字是___(6)_。5.下边程序的功能是计算1-3+5-7+-99+101的值存在s中,请填空。#include<>main( ){inti,t=1,s=0;for(i=1;i<=101;__(7)__){s=s+i*t;t=_(8)__;}}6.在C++语言中,逻辑假用___(9)___表示。7.类的成员包含__(10)___和__(11)___两种,在面向对象的术语中,前者称为属性、后者称为方法。其接见权限有三种,由符号__(12)___、__(13)__和__(14)__指定,此中拥有__(15)__权限的成员只有类中的成员函数才能接见、而拥有__(16)__权限的成员在任何函数中都可接见。8.结构函数是一个特别的成员函数,其特别性表此刻创立对象时会___(17)___。结构函数名一定与__(18)__相同。9.函数重载是指一组函数拥有相同的__(19)___,在函数调用时,编译程序依据__(20)__个数和种类确立使用那一个版本。三、判断以下说法的正确性,正确的划√,错误的划×1.析构函数是一个函数体为空的成员函数。2.函数重载能够实现动向多态,虚函数能够实现静态多态。3.如有定义:doublex[3][5];则x数组列下标的上限是5,下限是1。4.不可以在类的结构函数中对其静态数据成

温馨提示

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

评论

0/150

提交评论