计算机编程智慧树知到期末考试答案章节答案2024年上海财经大学_第1页
计算机编程智慧树知到期末考试答案章节答案2024年上海财经大学_第2页
计算机编程智慧树知到期末考试答案章节答案2024年上海财经大学_第3页
计算机编程智慧树知到期末考试答案章节答案2024年上海财经大学_第4页
计算机编程智慧树知到期末考试答案章节答案2024年上海财经大学_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

计算机编程智慧树知到期末考试答案+章节答案2024年上海财经大学标有/**/的语句的执行次数是()inty,i;for(i=0;i<20;i++){if(i%2==0)continue;y+=i;/**/}

答案:10运行程序,程序输出结果是()#includeusingnamespacestd;intmain(){charstr[100]="program",*p=str;cout<<(p+2)答案:ogram若有inta[40]={1,2,3,4};,则a[a[0]+2*a[2]]的值是(

答案:0下面不属于C++异常传递的方法是()。

答案:栈展开()是析构函数的特征。

答案:一个类中只能定义一个析构函数下列关于运算符重载的描述中,错误的是()。

答案:所有的运算符都可以重载运行程序,程序输出结果是()structs{inta,b;}data[2]={10,100,20,200};intmain(){sp=data[1];cout答案:20现需要将Vector类对象使用的关系运算符“!=”重载为成员函数,用于判断两个对象是否不相等,以下正确且合理的函数声明是()。

答案:booloperator!=(constVector&v);继承具有(),即当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员。

答案:传递性下面结构体的定义语句中错误的是()

答案:structst{intnum,charname[20];}sta;有如下声明语句intB[3][3]={{1,2,0},{3,2},{4,5,10}};那么B[1][1]的值是()

答案:2关于友元的描述中,()是错误的。

答案:友元函数是成员函数,它被说明在类体内在BigNumber类的类体中对运算符函数double进行如下声明:operatordouble(BigNumber);函数声明的错误之处是()。

答案:参数表中不应该有任何参数运行程序,程序输出结果是()#includeusingnamespacestd;intmain(){intfun(char*s);chary[]="abcd";cout答案:4设voidf1(int*m,long&n);inta;longb;则以下调用合法的是()。

答案:f1(&a,b);下列关于类和对象的叙述中,正确的是()。

答案:对象是类的具体实例read函数的功能是从输入流中读取()。

答案:指定若干字节运行程序,程序运行结果是()#includeusingnamespacestd;intmain(){chara[3]={'a','b','c'},*p=a+1;cout<return0;}

答案:不确定定义以下结构体数组,运行程序,程序输出结果是()#includeusingnamespacestd;intmain(){structc{intx;inty;}s[2]={1,3,2,7};cout答案:2一个函数返回值的类型是由()决定的

答案:定义函数时指定的函数类型若i,j已定义为int类型,则以下程序段中内循环的总的执行次数是()for(i=5;i;i--)for(j=0;j<4;j++){…}

答案:20程序执行后的输出结果是()。inty=10;while(y--);cout<

答案:y=-1()的主要功能是对对象进行初始化。

答案:构造函数运行程序,程序运行结果是()#includeusingnamespacestd;structstudent{charname[10];intscore[50];floataverage;}stud1;intmain(){cout答案:216在C++语言中,我们可以先声明一个类,然后创建多个对象;也可以先声明一个类,通过()关系,派生出多个新的类。

答案:继承当执行以下程序段时,程序将()intmain(){intx=-1;do{x=x*x;}while(!x);return0;}

答案:循环体将执行一次下列运算符中,在C++中不能重载是()。

答案:?:为了避免嵌套的if-else语句的二义性,C++语言规定else总是与()组成配对关系。

答案:在其之前未配对的最近的if若有说明:inta[3][4]={0};则下面正确的叙述是(

答案:数组中各个元素均可得到初值0运行程序,程序输出结果是()voidsub(int*s,int*y){staticintt=3;*y=s[t];t--;}intmain(){inta[]={1,2,3,4},i,x=0;for(i=0;i<4;i++){sub(a,&x);cout答案:4321下列关于异常处理的叙述,正确的是()。

答案:异常处理方法优点在于把异常触发和处理机制分离在C++中一组同样类型的数据在内容中占用连续存贮空间的数据类型是()

答案:数组运行程序,程序运行结果是()#include#includeusingnamespacestd;intmain(){stringa="string",*p=&a;cout<return0;}

答案:变量a的地址运行下列程序段,正确的是()chara[4],b[]="China";a=b;cout<

答案:编译时出错对下面三条语句,正确的论断是(

)(1)if(a)s1;elses2;(2)if(a==0)s2;else

s1;(3)if(a!=0)s1;elses2;

答案:三者相互等价在私有继承中,基类中所有成员都不能被派生类的对象引用。

答案:对基类的成员函数只能访问基类的成员,而不能访问派生类的成员。

答案:对动态多态性是通过基类指针指向派生类对象和虚函数(virtualfunction)实现的。

答案:对一个类中只能有一个构造函数。

答案:错对象注销时(对象释放时)系统会自动调用析构函数。

答案:对构造函数可以在类内部定义,也可以在类外部定义。

答案:对在C++中,类中定义的成员变量或成员函数默认是public属性的。

答案:错运行程序,程序输出结果是()#includeusingnamespacestd;intmain(){inta[3][3],*p=&a[0][0],i;for(i=0;i<9;i++)p[i]=i;for(i=0;i<3;i++)cout答案:345己知inta[10]={3,7,9,15},*p=a;则不能表示a数组中元素的选项是()

答案:a执行下列语句序列,不可能出现的情况是()。intn;cin>>n;switch(n){case1:case2:cout<<'X';case3:case4:cout<<'Y';break;default:cout<<'Z';}

答案:显示:X关于构造函数特点的描述中,错误的是()。

答案:定义构造函数必须指出类型C++语言中类类型声明中默认的访问权限是()。

答案:private()是构造函数的特征之一。

答案:构造函数的函数名与类名相同程序执行后的输出结果是()。intn=4;while(n--)cout<<--n;

答案:20已定义一个数组intx[10];则对此数组元素正确的引用是()

答案:cout<关于静态成员的描述中,()是错误的。

答案:静态数据成员定义后必须在类体内进行初始化设有定义语句inta[3][3],则以下叙述错误的是()

答案:可以用a[2]=1;的形式给数组元素赋值如果在一个函数的复合语句中定义了一个变量,则该变量()

答案:只在该复合语句中有效,在该复合语句外无效下列运算符中,通过成员函数进行运算符重载不合理的是()。

答案:<<C++语言中,字符串"LoveChina!\n"包含()字节

答案:11在C++语言中,引用数组元素时,其数组下标的数据类型允许是()

答案:整型常量或整型表达式假定等级和分数有以下对应关系:等级:A分数:85——100等级:B分数:60——84等级:C分数:60以下对于等级grade输出相应的分数区间,能够完成该功能的程序段是()

答案:chargrade;cin>>grade;switch(grade){case'A':cout<<"85--100\n";break;case'B':cout<<"60--84\n";break;default:cout<<"gradeiserror!\n";break;case'C':cout<<"<60\n";}运行程序,程序输出结果是()#includeusingnamespacestd;intmain(){charstr[100]="program",*p=str;cout<<*(p++)答案:p执行语句char*str="C++";cout<<*str;输出结果是()。

答案:C运行程序,程序运行结果是()#includeusingnamespacestd;voidf(char*x){cout<<*x<}intmain(){chara[]="abcd";for(inti=0;i<=2;i++);f(a+i);return0;}

答案:dinta[]={1,2,3,4},y,*p=a;执行语句y=(*++p)--后,数组a中的元素的值变为()

答案:1,1,3,4若有以下函数调用语句:fun(a+b,(x,y),fun(n+k,d,(a,b)));在此函数调用语句中实参的个数是()

答案:3下面程序执行结果:#includeclassSample{public:Sample(){cout<<"Constructor"<<endl;throw1;}~Sample(){cout<<"Destructor"<<endl;}};voidmain(){try{Samples;}catch(int){cout<<"出现异常情况"<<endl;}}

答案:Constructor出现异常情况执行完下面一段程序后x的值是()inta=1,b=2,c=4,d=3,x;if(aif(celseif(aif(belsex=3;elsex=4;elsex=5;cout<

答案:2下列的各类函数中,()不是类的成员函数。

答案:公有函数关于赋值运算符的重载,下列表述中错误的是()。

答案:一个类的赋值运算符和拷贝构造函数是一样的,所以不用重载,也可以实现赋值功能。structabc{intx;inty;}data1=(2,3),data2;则以下赋值语句中错误的是()

答案:data2(9,10);程序执行后的输出结果是()。intfunc(inta,intb){return(a+b);}intmain(){intx=2,y=5,z=8,r;r=func(func(x,y),z);cout答案:15设有数组定义chara[]="China";则数组a所占的空间字节数为()

答案:6个字节重载流插入运算符<答案:将运算符定义为类的成员函数设己定义浮点型变量data,以二进制方式把data的值写入输出文件流对象outfile,正确的语句是()。

答案:outfile.write((char*)&data,sizeof(double));在while(!a)中,其中!a与表达式()等价。

答案:a==0运行程序,程序运行结果是()#includeusingnamespacestd;intmain(){staticinta[4]={7,8,9},b[4]={4,5,6},c[4],i;for(i=0;i<3;i++)c[i]=a[i]+b[i];cout<cout<return0;}

答案:0在C++语言中,以下关于转换构造函数正确的是()。

答案:转换构造函数只有一个形参程序执行后,i最后等于()inti=5;intj=++i;if((i>j++)&&(i++==j))i+=j;

答案:6执行下列语句序列,不可能出现的情况是()。intx;cin>>x;if(x>250)cout<<'X';if(x<250)cout<<'Y';elsecout<<'X';

答案:显示:XY运行程序,程序运行结果是()#includeusingnamespacestd;structKeyWord{charKey[20];intID;}kw[]={"void",1,"char",2,"int",3,"float",4,"double",5};intmain(){cout<return0;}

答案:f,4以下程序的输出结果是()intf(intb[],intm,intn){inti,s=0;for(i=m;is=s+b[i];returns;}intmain(){intx,a[]={1,2,3,4,5,6,7,8,9};x=f(a,3,7);cout<return0;}

答案:10重载流插入运算符<答案:将运算符定义为类的成员函数在一个源程序文件中定义的全局变量的有效范围是()

答案:从定义变量的位置开始到源程序文件结束己知inta[]={0,2,4,6,8,10},*p=a+1;其值等于0的表达式是()

答案:*(--p)下列关于运算符重载的描述中错误的是()。

答案:重载类型转换运算符时,应声明返回值为void有以下语句:i=1;for(;i<=100;i++)sum+=i;与以上语句序列不等价的有()

答案:i=1;for(;i<=100;)sum+=i;要求打开文件f:\myfile.dat,并能够写入数据,正确的语句是()。

答案:fstreaminfile("f:\\myfile.dat",ios::in|ios::out);已知:intm=5;下列表示引用的方法中正确的是()

答案:int&X=m;运算符重载时以下性质一定会保持的是()。

答案:优先级、结合性下面关于C++字符数组的叙述中,错误的是()

答案:可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值选择出合法的if语句(设intx,a,b,c;)()

答案:if(a=b)c++;下列有关私有继承的继承和派生的关系描述中,不正确的是()。

答案:基类的私有成员在派生类中变成私有成员C++语言程序中,当函数调用时()

答案:计算机系统自动确定是否共用存储单元下列关于类和对象的叙述中,错误的是()。

答案:一个对象可以创建出多个类下列运算符中,可以重载为类的友元函数的运算符是()。

答案:<<在类内部,无论成员变量或成员函数被声明为private、public或者protected属性,均是可以互相访问的,无访问权限限制。

答案:对在公有继承中,基类中的公有成员和私有成员在派生类中都可以被派生类中的成员函数引用。

答案:对创建对象时系统会自动调用析构函数。

答案:错派生类对象释放时,系统会自动调用基类的析构函数和子对象的析构函数。

答案:对构造函数的函数名必须与类名相同。

答案:对C++根据文件内容的数据格式可分为文本文件和二进制文件,它们存取最小信息单位为字节。

答案:错声明时不加关键字static的类中所有的成员数据属于对象的。也就是说,尽管是在声明类的时候声明的,但它们都是属于对象的,每个对象会有不同值。

答案:对头文件iostream中定义了4个标准流对象,其中cout为标准输出流对象,与显示器连用,用于输出。

答案:对继承方式包括:public(公用的),private(私有的)和protected(受保护的),此项是可选的,如果不写此项,则默认为public(私有的)。

答案:错C++流预定义的提取符>>和插入符<答案:错下列关于异常处理的叙述,错误的是(

)。

答案:异常处理方法优点在于把异常触发和处理机制统一,使得它们可以在同一个函数中处理。下列关于异常的叙述,错误的是(

)。

答案:程序运行中,数组越界不属于异常下列关于异常处理的叙述,错误的是(

)。

答案:catch(…)语句可以放在catch语句组的中间下列不属于异常处理机制的组成部分的是(

)。

答案:debug(调试)从输入文件中读取若干字节存于一个整形变量n,正确的语句为(

)。

答案:infileread(reinterpret_cast(&n),sizeof(n));以下程序执行结果(

)。………cout.fill(‘*’);cout.width(10);cout<答案:***188.666设己定义浮点型变量data,以二进制方式把data的值写入输出文件流对象outfile,正确的语句是(

)。

答案:outfile.write((char*)&data,sizeof(double));要求打开文件f:\myfile.dat,并能够写入数据,正确的语句是(

)。

答案:fstreaminfile("f:\\myfile.dat",ios::in|ios::out);关于输入流类成员函数getline()的下述描述中,错误的是(

)。

答案:该函数读取字符串时,可以包含空格。在执行语句intn,m;cin>>n>>m;中,输入数据的分隔符,错误的是(

)。

答案:分号执行以下C++程序:char*num;cin>>num;cout<答案:Number=1681当使用ofstream定义一个文件流,通过打开一个文件与之连接,系统默认的打开方式为(

)。

答案:ios::out在C++流中操纵符中,设置域宽的是(

)。

答案:setw()C++语言中,程序通过操纵符进行格式输出处理时,必须包含的头文件是(

)。

答案:iomanip.h磁盘文件操作中,打开磁盘文件的访问方式常量中,以二进制方式打开文件的是(

)。

答案:ios::binary下列输出语句中,不正确的是(

)。

答案:cout<<’\t\n’;C++程序进行文件的输入,除了包含头文件iostream外,还要包含头文件(

)。

答案:ifstreamC++流中运算符>>是一个(

)。

答案:用于输入操作的非成员函数在ios中提供控制格式的标志位中,转换为十六进制形式的标志位是(

)。

答案:hex若为类MyNumber重载运算符“/”,下列声明中,错误的是(

)。

答案:friendMyNumberoperator/(int,float);重载流插入运算符<答案:将运算符定义为类的成员函数下列关于运算符重载的描述中,(

)是正确的。

答案:运算符重载不可以改变语法结构在名为BigNumber类的类体中对运算符函数double进行如下声明:operatordouble(BigNumber);函数声明中有一个明显的错误,这个错误就是(

)。

答案:参数表中不应该有任何参数以下类中说明了“++”运算符重载函数的原型。classTA{

public:

......

friendTAoperator++(TA&);};编译器把表达式”++d”解释为:(

)。

答案:operator++(d)若要在Vector类中将*重载为一元运算符,下列重载函数声明中肯定有错的是(

)。

答案:Vectoroperator*(Vector,Vector);下列关于运算符重载的描述中,正确的是(

)。

答案:运算符重载成为成员函数时,若参数表中无参数,重载是一元运算符下列关于C++流的叙述中,下面说法正确的是(

)。

答案:cin是C++预定义的标准输入流对象运算符重载时以下性质不一定会保持的是(

)。

答案:返回值类型、操作数类型如果表达式a>=b,中的“>=”是作为非成员函数重载的运算符,则可以等效地表示为(

)。

答案:operator>=(a,b)在语句intn;cin>>n;中,cin是(

)。

答案:对象名若要对BigData类中用成员函数方式重载取模运算符,下列声明选项中正确的是(

)。

答案:BigDataoperator%(constBigData);下面是重载为非成员函数的运算符的函数原型,其中错误的是(

)。

答案:BigInt&operator=(BigInt&,BigInt);下列运算符中,(

)运算符在C++中不能重载。

答案:::下列运算符中哪些是不能够被重载的(

)。

答案:–>*,.*,sizeof,::,?:关于运算符重载,下列表述中错误的是(

)。

答案:运算符函数的返回类型不能声明为基本数据类型C++流中重载的运算符<答案:用于输出操作的非成员函数在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是(

)。

答案:作为成员函数重载的单目运算符如果对TA类对象使用逻辑运算符“==”重载,以下函数声明正确的是(

)。

答案:boolTA::operator==(constTA&a);利用成员函数重载运算符:obj1*obj2被编译器解释为()。

答案:obj1.operator*(obj2)虚函数是一个成员函数。

答案:对纯虚函数是一个非成员函数。

答案:错纯虚函数是一个在基类中声明的没有具体内容的虚函数,为了实现多态(或接口功能),要求派生类定义自己的版本。

答案:对如果派生类的成员函数的原型(函数的首部)与基类中被定义为虚函数的成员函数原型相同,那么,这个函数自动继承基类中虚函数的特性。

答案:对析构函数必须声明为虚函数。

答案:错含有纯虚函数的类可以定义对象。

答案:错将基类中的成员函数通过virtual关键字声明为虚函数之后,即使在派生类中同名同参数函数声明时未加上virtual关键字,但它在所有的派生类中都将自动成为虚函数。

答案:对类的成员函数前面加virtual关键字,则这个成员函数称为虚函数。

答案:对纯虚成员函数可以被派生类继承,如果派生类不重新定义抽象基类中的所有纯虚成员函数,则派生类同样会成为抽象基类,因而也不能用于创建对象。

答案:对要想形成多态必须具备必须存在继承关系,继承关系中必须有同名的虚函数,并且基类和派生类的同名虚函数的参数必须不同。

答案:错执行以下程序代码后,将会输出的结果是()。#includeusingnamespacestd;classBase{public:

voiddisplay(){cout<<"I'mBaseclass!";}};classDerived:publicBase{public:

voiddisplay(){cout<<"I'mDerivedclass!";}};intmain(){

Base*p;

Derivedtest;

p=&test;

p->display();

return0;}

答案:I'mBaseclass!下列有关C++的面向对象方法的多态的概念的叙述中,不正确的是(

)。

答案:必须存在着声明为虚函数的友元函数下列有关C++的面向对象方法的多态和虚函数的叙述中,不正确的是(

)。

答案:抽象基类的派生类,增加新的成员函数或成员数据后,可以用于创建对象下列有关C++的面向对象方法的多态和虚函数的叙述中,正确的是(

)。

答案:基类析构函数可以声明为虚函数关于纯虚函数和抽象类的描述中,(

)是错误的。

答案:一个基类中声明有纯虚函数,该基类的派生类一定不再是抽象类关于虚函数的描述中,(

)是正确的。

答案:基类中说明了虚函数后,派生类中将其对应的函数可不必说明为虚函数下列描述中,(

)是抽象类的特性。

答案:不能创建其对象以下基类中的成员函数表示纯虚函数的是(

)。

答案:virtualvoidtt()=0实现运行时的多态性采用(

)。

答案:虚函数如果一个类至少有一个纯虚函数,那么就称该类为(

)。

答案:抽象类派生类是它的基类的组合。

答案:错在公有继承中,派生类对象只能引用基类中的公有成员和派生类新增的公共成员。

答案:对在私有继承中,基类中只有公有成员可以被派生类成员函数引用。

答案:错一个派生类不仅可以从一个基类派生,也可以从多个基类派生。

答案:对继承方式包括:public(公用的),

private(私有的)和protected(受保护的),应用中public(公用的)最常见。

答案:对在派生时,派生类不能继承基类的析构函数。

答案:对当不需要对派生类新增的成员进行任何初始化操作时,派生类构造函数的函数体可以为空,即构造函数是空函数。

答案:对析构函数不能被继承。

答案:对派生类的指针变量也可以指向基类对象。

答案:错派生类的继承方式有两种:公有继承和私有继承。

答案:错下列有关公共继承的继承和派生的关系描述中,不正确的是(

)。

答案:基类的私有成员,因为是公用继承,可以被派生类的新增成员函数引用下列有关继承和派生的叙述中,不正确的是(

)。

答案:一个派生类不能作为基类再派生出新的派生类下列对派生类的描述中,错误的是(

)。

答案:派生类只继承了基类的公有成员和保护成员下列有关保护继承的继承和派生的叙述中,正确的是(

)。

答案:派生类成员函数不能访问通过保护继承的基类的私有成员下列有关继承和派生的叙述中,正确的是(

)。

答案:基类的指针变量可以指向派生类对象下列对派生类的描述中,错误的是(

)。

答案:派生类中继承的基类成员的访问权限到派生类保持不变下列有关继承和派生的叙述中,正确的是(

)。

答案:私有继承的派生类作为基类继续派生,下一层的派生类无法访问它的任何成员构造函数可以有返回值也可以无返回值。

答案:错成员函数是一个类的成员,出现在类体中,也就是只能被类内其他成员函数调用。

答案:错成员函数代码量很多,或具有多个成员函数,采用类内定义的方式比较合适。

答案:错任何一个对象只能属于一个具体的类。

答案:对无论什么方式的继承,基类的私有成员都不能被派生类成员函数访问(引用)。

答案:对通过对象无法访问private和protected属性的成员变量和成员函数,而仅可以访问public属性的成员变量和成员函数。

答案:对友元函数是成员函数,友元函数可以访问类中的私有成员。

答案:错声明时加关键字static的类中所有的成员数据是属于类的,任何一个对象都可以共享该成员数据。

答案:对在C++语言中,可以通过传值方式作为函数的参数或函数返回值。

答案:对构造函数可以有一个参数或多个参数,可以为参数设置一个默认值。

答案:对要让一个类中的所有对象的同一数据有不同的值,请不要使用()。

答案:静态数据成员在下列关于类概念的各个描述中,(

)是错误的。

答案:客观世界中任何一个具体的物体都可以看成一个类有如下定义和语句classcalc{public:

voidshow()

{

cout<>a>>b;

}};calct,*pt=&t;在main()函数中下面不正确的语句是(

)。

答案:t.set()下列说法中正确的是(

)。

答案:类的成员函数既可以定义在类体中(类内),也可以定义在类体外(类外),但必须在类体中(类内)声明有如下定义和语句:classStudent{public:

voiddisplay(){cout<答案:p->display();在下列关于类和对象的描述中,(

)是错误的。

答案:类是抽象的,对象是具体的,两者都占有内存空间下面选项中不属于面向对象程序设计特征的是(

)。

答案:多元性已知类A是类B的友元,类B是类C的友元,则(

)。

答案:类A的成员函数可以访问类B的对象的任何成员类的实例化是指(

)。

答案:创建类的对象关于构造函数不正确的说法是(

)。

答案:构造函数可以有返回值设voidf1(int

*m,long

&n);inta;

longb;则以下调用合法的是(

)。

答案:f1(&a,b);已知:intm=5;下列表示引用的方法中正确的是(

).

答案:int&X=m;运行程序,程序运行结果是(

)。#include#includeusingnamespace

std;intmain(){

stringa="string",*p=&a;

cout<答案:变量a的地址已知有定义inta[5];a数组中最后一个元素的地址可表示为(

).

答案:a+4运行程序,程序输出结果是(

).void

sub(int

*s,

int

*y){

static

int

t=3

;

*y=s[t]

;

t--;}intmain(){

int

a[]={1,2,3,4},i,x=0;for(i=0;i<4;i++)

{

sub(a,&x);cout<答案:4321运行程序,程序运行结果是(

).#includeusingnamespace

std;intmain(){

chara[3]={'a','b','c'},*p=a+1;

cout<答案:不确定运行程序,程序运行结果是(

)。#includeusingnamespacestd;voidf(char*x){cout<<*x<答案:d有定义inta[]={2,5,6,},*p=a;则*(p+1)所代表的数组元素是(

)。

答案:a[1]已有定义inta[10],*p;则正确的赋值语句是(

).

答案:p=a+2;运行程序,程序运行结果是(

)。#includeusingnamespace

std;intmain(){

staticinta[4]={7,8,9},b[4]={4,5,6},c[4],i;

for(i=0;i<3;i++)

c[i]=a[i]+b[i];cout<答案:0运行程序,程序输出结果是(

)。#includeusingnamespacestd;int

main(){

inta[3][3],*p=&a[0][0],i;

for(i=0;i<9;i++)

p[i]=i;

for(i=0;i<3;i++)

cout<答案:345若有变量定义语句int

a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为6的表达式是(

).

答案:*(p+5)运行程序,程序输出结果是(

)。#includeusingnamespacestd;intmain(){

charstr[100]="program",*p=str;

cout<<*(p++)<答案:p运行程序,程序输出结果是(

).#includeusingnamespacestd;intmain(){

charstr[100]="program",*p=str;

str[3]=0;

cout<答案:prointa[]={1,2,3,4},y,*p=a;执行语句y=(*++p)--后,数组a中的元素的值变为(

).

答案:1,1,3,4运行程序,程序输出结果是(

).#includeusingnamespacestd;int

main(){

intfun(char*s);

chary[]="abcd";

cout<答案:4己知inta[10]={3,7,9,15},*p=a;则不能表示a数组中元素的选项是(

).

答案:a若有定义语句intc[5],*p=c;则以下对数组c第1个元素地址的正确引用是(

)。

答案:&c[0]运行程序,程序输出结果是(

)。#includeusingnamespacestd;intmain(){

charstr[100]="program",*p=str;

cout<<(p+2)<答案:ogram己知inta[]={0,2,4,6,8,10},*p=a+1;其值等于0的表达式是(

).

答案:*(--p)运行程序,程序运行结果是(

)。#includeusingnamespacestd;int

main(){

structperson

{

charname[9];

intage;

};

persona[5]={"John",17,"Paul",19,"Mary",18,"Adam",16};

cout<答案:Mary运行程序,程序运行结果是(

)#includeusingnamespacestd;structKeyWord{

charKey[20];

intID;}kw[]={"void",1,"char",2,"int",3,"float",4,"double",5};int

main(){

cout<答案:f,4#includeusingnamespacestd;structstudent{

charname[10];

intscore[50];

floataverage;}stud1;intmain(){

cout<答案:216运行程序,程序运行结果是(

)#includeusingnamespacestd;int

main(){structdate

{

intyear;

intmonth;

intday;

};

structs

{

datebirthday;

charname[20];

}x[4]={{2008,10,1,"guangzhou"},{2009,12,25,"Tianjin"}};

cout<<x[0].name<<","<答案:guangzhou,2009运行程序,程序输出结果是(

)。#includeusingnamespacestd;structcontry{

intnum;

charname[20];}x[5]={1,"China",2,"USA",3,"France",4,"Englan",5,"Spanish"};intmain(){

inti;

for(i=3;i<5;i++)

cout<答案:4E5S运行程序,程序输出结果为(

)#includeusingnamespacestd;intmain(){

structs{intx;}a[3];

cout<答案:12当定义一个结构体变量时,系统为它分配的内存空间是(

).

答案:结构中各成员所需内存容量之和运行程序,程序输出结果是(

)。#includeusingnamespacestd;intmain(){

struct

stud

{

char

num[5];

int

s[4];

double

ave;

}a;

cout<答案:32下面结构体的定义语句中错误的是(

).

答案:structst{intnum,charname[20];}sta;struct

abc{intx;inty;}data1=(2,3),data2;则以下赋值语句中错误的是(

)。

答案:data2(9,10);定义以下结构体类型,运行程序的输出结果是(

)。#includeusingnamespacestd;intmain(){

structs{inta;doubleb;};

cout<答案:16structs{inta,b;}data[2]={10,100,20,200};intmain(){

sp=data[1];

cout<答案:20struct

abc{intx;char

y[20];doublez;}data;则以下给结构体变量成员x赋值语句中正确的是(

)。

答案:data.x=100;有下列结构体声明语句struct

student{intnum;charname[20];floatscore[3];};student

s[3]={123,"LiFang",67,89,90};要对第1个学生的成绩输出总分,下列表达式正确的是(

).

答案:cout<定义以下结构体数组,运行程序,程序输出结果是(

)。#includeusingnamespacestd;intmain(){

structc

{intx;

inty;

}s[2]={1,3,2,7};

cout<答案:2在C++中一组同样类型的数据在内容中占用连续存贮空间的数据类型是(

)。

答案:数组若有定义charstr1[10]={"China"},str2[10];要将str1中的字符串复制到str2中去,正确的方法是(

).

答案:strcpy(str2,str1);运行以下程序的输出结果是(

)。int

f(int

b[],

int

n){

int

i,r=1;for(i=0;i<=n;i++)r=r*b[i];return

r;}int

main(){

int

x,a[]={2,3,4,5,6,7,8,9};x=f(a,3);cout<答案:120在C++语言中,引用数组元素时,其数组下标的数据类型允许是(

)。

答案:整型常量或整型表达式下列do-while循环的循环次数为(

).已知:int

j=5;do{

cout<答案:无限运行下面程序,程序运行结果是(

)。#includeusingnamespace

std;intmain(){

staticinta[4]={7,8,9},b[4]={4,5,6},c[4],i;

for(i=0;i<3;i++)

c[i]=a[i]+b[i];cout<答案:0若有数组名作为函数调用的实参,则传递给形式参数的是(

)。

答案:数组的首地址已定义一个数组int

x[10];则对此数组元素正确的引用是(

)。

答案:cout<有如下声明语句int

B[3][3]={{1,2,0},{3,2},{4,5,10}};那么B[1][1]的值是(

)。

答案:2假定a为一个整型数组名,则元素a[4]的地址可表示为(

)。

答案:a+4设有数组定义char

a[]="China";则数组a所占的空间字节数为(

)。

答案:6个字节以下对一维数组a的正确定义是(

)。

答案:constintN=9;

inta[N];设有定义语句int

a[3][3],则以下叙述错误的是(

)。

答案:可以用a[2]=1;的形式给数组元素赋值下面关于C++字符数组的叙述中,错误的是(

)。

答案:可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值若有初始化char

a[]="BASIC";则cout<<&a[3];的输出结果是(

)。

答案:"IC"以下正确的说法是(

)。如果在一个函数的复合语句中定义了一个变量,则该变量(

)。

答案:只在该复合语句中有效若使用一维数组名作为函数实参,则以下正确的说法是(

)。

答案:必须在主调函数中说明此数组的大小以下正确的说法是(

)。

答案:实参和与其对应的形参各占用独立的存储单元;C++语言规定,函数返回值的类型是由(

)。

答案:在定义该函数时所指定的函数类型所决定在计算机高级语言C++中,下面对函数不正确的描述是(

)。

答案:被调用函数必须位于主函数之前以下正确的说法是(

)。

答案:用户可以重新定义标准库函数,若如此,该函数将失去原有含义对下面程序段的描述正确的是(

)。#includeusingnamespacestd;intFun(intx,inty)

{

returnx+y;}

intmain()

{

inti=10;

cout<答案:程序输出结果是20C++语言中,以下不正确的说法是(

)。

答案:形参可以是常量、变量和表达式下面函数调用语句含有实参的个数为(

)。

func((exp1,exp2),(exp3,exp4,exp5));

答案:2以下正确的描述是(

)。

在C++语言中

答案:函数的定义不可以嵌套,但函数的调用可以嵌套以下程序的正确运行结果是(

)。

#include

func(inta,intb)

{

staticintm=0,i=2;

i+=m+1;

m=i+a+b;

return(m);

}

voidmain()

{

intk=4,m=1,p;

p=func(k,m);cout<答案:8,17以下程序的正确运行结果是(

)。

voidmain()

{

inta=2,i;

for(i=0;i<3;i++)cout<答案:7

8

9下列有关形式参数和实际参数的说法正确的是(

)。

答案:在定义函数时,必须在函数首部指定形参的类型。以下程序段(

)。

x=-1;

do

{x=x*x;}

while(!x);

答案:循环执行一次运行下面程序,程序运行结果是(

)。#includeusingnamespace

std;

intmain(){staticinta[4]={7,8,9},b[4

温馨提示

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

评论

0/150

提交评论