C++网上自测题.docx

上传人:b****2 文档编号:327443 上传时间:2023-04-28 格式:DOCX 页数:40 大小:31.24KB
下载 相关 举报
C++网上自测题.docx_第1页
第1页 / 共40页
C++网上自测题.docx_第2页
第2页 / 共40页
C++网上自测题.docx_第3页
第3页 / 共40页
C++网上自测题.docx_第4页
第4页 / 共40页
C++网上自测题.docx_第5页
第5页 / 共40页
C++网上自测题.docx_第6页
第6页 / 共40页
C++网上自测题.docx_第7页
第7页 / 共40页
C++网上自测题.docx_第8页
第8页 / 共40页
C++网上自测题.docx_第9页
第9页 / 共40页
C++网上自测题.docx_第10页
第10页 / 共40页
C++网上自测题.docx_第11页
第11页 / 共40页
C++网上自测题.docx_第12页
第12页 / 共40页
C++网上自测题.docx_第13页
第13页 / 共40页
C++网上自测题.docx_第14页
第14页 / 共40页
C++网上自测题.docx_第15页
第15页 / 共40页
C++网上自测题.docx_第16页
第16页 / 共40页
C++网上自测题.docx_第17页
第17页 / 共40页
C++网上自测题.docx_第18页
第18页 / 共40页
C++网上自测题.docx_第19页
第19页 / 共40页
C++网上自测题.docx_第20页
第20页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C++网上自测题.docx

《C++网上自测题.docx》由会员分享,可在线阅读,更多相关《C++网上自测题.docx(40页珍藏版)》请在冰点文库上搜索。

C++网上自测题.docx

C++网上自测题

1.如果a=1,b=2,c=3,d=4,则条件表达式a

a:

c

c:

d的值为_____。

A.2错误

B.3错误

C.1正确

D.4错误

2.下列哪一个不是面向对象方法的特征。

A.多态性错误

B.继承性错误

C.封装性错误

D.开放性正确

根据教材1.2节内容,封装性、继承性和多态性是面向对象方法的三大特征

3.下列ASCII码值最小的字符是_____。

A.‘\n’正确

B.‘6’错误

C.‘b’错误

D.‘A’错误

4.若执行语句:

intb,a=12,n=5;表达式a%=(b=2,n%=b)+4结果是。

A.1错误

B.4错误

C.2正确

D.16错误

5.C++源程序文件扩展名的。

A.exe错误

B.obj错误

C.cpp正确

D.c错误

根据教材1.4.1节内容,C++源程序的扩展名cpp,而以C语言源程序的扩展名为c,C++和C语言源程序经编译后生成的目标文件扩展名为obj,链接后的可执行文件扩展名为exe。

6.设m,n,a,b,c,d均为0,执行(m=a==b)||(n=c==d)后,m、n的值是。

A.1,0正确

B.0,1错误

C.1,1错误

D.0,0错误

7.在C++语言中int,long,unsigned和char这四种类型数据的转换规律是_____。

a.char->unsigned->long->int错误

b.char->int->unsigned->long正确

c.int->unsigned->long->char错误

d.char->int->long->unsigned错误

8.以下运算符中优先级最低的是。

A.赋值运算符正确

B.逻辑运算符错误

C.算术运算符错误

D.关系运算符错误

9.以下选项中可作为C++语言合法整数的是______。

A.x2b2错误

B.11010B错误

C.0Xafb正确

D.0583错误

10.在C++语言中,设shortint型占两个字节,下列不正确的shortint型常数为______。

A.32768正确

B.0xfa错误

C.-32768错误

D.032770错误

11.逗号表达式(a=4*5,a*2),a+15的值是____。

A.20错误

B.35正确

C.40错误

D.55错误

12.设intx=-1;执行表达式++x||++x||++x后,x的值是____。

A.2错误

B.3错误

C.0错误

D.1正确

13.设有语句inta=3;则执行了语句a+=a-=a*a;后,变量a的值是。

A.9错误

B.0错误

C.-12正确

D.3错误

14.假设下面所有的变量均已定义为double型,下列赋值表达式不正确的是。

A.z*=2.8/4错误

B.x=y=z错误

C.x=--x错误

D.x=3.5%2正确

15.设charch;以下不正确的赋值语句是_____。

A.ch='\123';错误

B.ch="\\";正确

C.ch=68;错误

D.ch='\xef';错误

16.为表示关系x大于等于y,y大于等于z,正确的C++语言表达式是。

选择一个答案

A.(x>=y)&(y>=z)错误

B.x>=y>=z错误

C.x>=y&&y>=z正确

D.(x>=y)AND(y>=z)错误

17.下列变量定义及初始化中,错误的是______。

A.inta=0xFF错误

B.doublea=1.2e0.5正确

C.longa=2L错误

D.chara=’\72’错误

18.关系运算符对两侧的运算对象的要求是。

A.可以是任意合法的表达式,两者类型不一定相同正确

B.两个运算对象必须属于同一种数据类型错误

C.只能是0或非0值错误

D.只能是0或1错误

19.下列不正确的转义字符是_____。

A.’\\’错误

B.’\81’正确

C.’\0’错误

D.’\’’错误

20.下列哪一个是合法的实型字面常量。

A.8E3.1错误

B.234错误

C.234.正确

D.E5错误

第2次自测:

流程控制

1.以下for循环是__。

for(x=0,y=0;(y!

=123)&&(x<4);x++)y+=x;

A.执行3次错误

B.无限循环错误

C.执行4次正确

D.循环次数不定错误

2.下列程序段执行后,变量w的值为______。

intx=0,y=10,z=20,w=100;if(x)w=x;

elseif(y)w=y;

elseif(z)w=z;

a.20错误

b.100错误

c.10正确

d.0错误

3.设所有的变量均为整型,下列循环执行结束后,变量m的值为__。

for(i=’a’;i<=’e’;i++)

{m=1;

for(j=5;j>=0;j--)

m+=(i-100)*j;

}

A.16正确

B.15错误

C.0错误

D.1错误

4.下列__循环不是无限循环。

A.while(x=1){x=1;}错误

B.for(;;x=0);错误

C.for(y=2,x=1;x>=++y;x++);正确

D.for(y=0;x=1;++y);错误

5.有以下程序段,while循环执行的次数是__。

intk=0;

while(k!

=1)k++;

A.执行1次正确

B.执行0次错误

C.有语法错,不能执行错误

D.无限次错误

6.下列循环的执行结果是__。

inti,sum=0;

for(i=1;i<=3;sum++)sum+=i;

A.死循环正确

B.6错误

C.0错误

D.3错误

7.C++语言支持结构化程序设计,下列哪一个不属于结构化程序的3种基本结构__。

选择一个答案

A.循环结构错误

B.顺序结构错误

C.嵌套结构正确

D.分支结构错误

8.下列错误的语句是__。

A.if

(1)cout<

B.if(a)cout<

C.if(a>b)cout<

D.if(a);a++;elsea--;正确

9.若变量已正确定义,语句“if(a>b)k=0;elsek=1;”和______等价。

A.k=a<=b?

0:

1;错误

B.k=(a>b)?

1:

0;错误

C.k=a<=b;正确

D.k=a>b;错误

10.假设i已定义为整型变量,以下程序段中,while循环的循环次数是______。

i=0;

while(i<10)

{if(i%2)continue;

if(i==5)break;

i++;

}

A.10错误

B.6错误

C.死循环,不能确定次数正确

D.1错误

11.C++语言中while和do-while循环的主要区别是__。

A.while的循环控制条件比do-while的循环控制条件严格错误

B.do-while允许从外部转到循环体内错误

C.do-while的循环体至少无条件执行一次而while的循环体可能一次也不执行正确

D.do-while的循环体不能是复合语句错误

12.若intI=10;执行下列程序后,变量I的正确结果是__。

switch(I){case9:

I++;

case10:

I++;

case11:

I++;break;

default:

I++;}

A.10错误

B.13错误

C.11错误

D.12正确

13.下面有关switch语句的不正确描述是______。

A.switch后面的圆括号内的表达式可以是整型或字符型部分正确

B.switch结构可能执行多个分支中的语句错误

C.switch中每个case后的常量的值必须唯一错误

D.switch结构中每个case必须以break结束正确

14.为了避免嵌套的if-else语义的二义性,C++语言规定else总是与__。

A.同一行上的if错误

B.在其之前未配对的最近的if正确

C.在其之前未配对的if错误

D.缩排位置相同的if错误

15.已知:

inta=0,b=2;对于下列if语句正确的是______。

if(a=b)cout<<"AisequaltoB\n";

A.无输出错误

B.编译出错错误

C.输出:

AisequaltoB,a等于b;正确

D.输出:

AisequaltoB,但a不等于b;错误

16.若a=3,b=0,执行下列语句后,b的值是__。

if(a>=2)

if(a!

=2)b=3;

elseb=2;

elseb=1;

A.0错误

B.1错误

C.3正确

D.2错误

17.有语句定义:

intx,y;则以下程序段中内循环体的执行次数是__。

for(i=5;i;i--)

for(j=0;j<4;j++){…循环体….}

A.30错误

B.25错误

C.24错误

D.20正确

18.以下关于switch语句和break语句的描述中正确的是__。

A.在switch语句中可以不使用break语句正确

B.在switch语句中必须使用break语句错误

C.break语句只能用于switch语句体中错误

D.break语句只能用于循环语句中错误

19.以下程序段__。

x=-1;

do{x=x*x;}while(!

x);

A.是死循环错误

B.循环执行二次错误

C.有语法错误错误

D.循环执行一次正确

20.在while(x)语句中的x与下面的表达式等价的是__。

A.x==0错误

B.x!

=1错误

C.x==1错误

D.x!

=0正确

第3次自测:

复杂数据及运算

1.若有以下定义和语句,则选项中错误的语句是__。

inta=4,b=3,*p,*q,*w;

p=&a;q=&b;w=q;q=NULL;

A.*p=*w;错误

B.*q=0;正确

C.w=p;错误

D.*p=b;错误

2.以下不能正确进行字符串初始化的语句是。

A.char*str="good!

";错误

B.charstr[6]={'g','o','o','d',’!

’,’\0’};错误

C.charstr[]={"good!

"};错误

D.charstr[5]="good!

";正确

3.设int*p,x,a[5]={1,2,3,4,5};p=a;能使x的值为2的语句是。

选择一个答案

A.x=a[2];错误

B.a++;x=*a;错误

C.x=*(p+2);错误

D.x=*(a+1);正确

4.strlen(”a\012b\xab\\bcd\n”)的值为。

选择一个答案

A.10错误

B.11错误

C.9正确

D.13错误

5.下列程序段运行后,i的正确结果为。

inti=0;char*s=“a\041#041\\b”;while(*s++)i++;

A.8正确

B.5错误

C.11错误

D.12错误

6.以下二维数组a的正确说明是。

A.floata(3)(4)错误

B.doublea[2][4]正确

C.floata(3,4)错误

D.inta[3][]错误

7.下列正确的一维数组初始化是。

A.inta[2]={1,2,3,4,5};错误

B.inta[5]={1,2};正确

C.int*a={1,2,3,4,5};错误

D.inta[5]={,,1,2};错误

8.设charstr[100];inti=5;则下列哪一个能正确表示数组的某一个元素。

A.str[i+95]错误

B.(str+i)错误

C.*((str++)+i)错误

D.*(str+i-1)正确

9.设int*p,i;以下正确的语句是__。

A.i=p;错误

B.i=*p;错误

C.*p=10;错误

D.p=&i;正确

10.已有定义intk=2;int*ptr1=&k,*ptr2=&k;,下面不能正确执行的赋值语句是__。

A.k=*ptr1*(*ptr2);错误

B.ptr2=k;正确

C.ptr1=ptr2;错误

D.k=*ptr1+*ptr2;错误

11.若定义intm[10]={9,4,12,8,2,10,7,5,1,3};则m[m[4]+m[8]]的值是_____。

A.10错误

B.12错误

C.8正确

D.7错误

12.若有说明:

inta[]={15,12,-9,28,5,3},*p=a,则下列哪一种表达错误______

A.*(a+*(a+5))错误

B.*(p=p+3)错误

C.p[p[4]]错误

D.*(a=a+3)正确

13.设intx[]={1,2,3,4,5,6},*p=x;则值为3的表达式是__。

A.p+=3;*p;错误

B.p+=2;++*p;错误

C.p+=2;*++p;错误

D.p+=2;*p++正确

14.若有说明:

int*p1,*p2,m=5,n;以下均是正确赋值语句的选项是__。

A.p1=&m;p2=&p1;错误

B.p1=&m;p2=p1;正确

C.p1=&m;*p2=*p1;错误

D.p1=&m;*p1=*p2;错误

15.若有语句int*point,i=4;和point=&i;下面均代表地址的一组选项是__。

A.&*i,&i,*point错误

B.*&point,*point,&i错误

C.&a,&*point,point正确

D.i,point,*&i错误

16.设ints[10];*p=s;以下不正确的表达式是__。

A.p=s+5;错误

B.*p=s[0];错误

C.s[2]=p[4];错误

D.s=p+s;正确

17.执行下面的程序段后,ab的值为__。

int*var,ab;

ab=100;var=&ab;*var+=10;ab+=10;

A.0错误

B.110错误

C.120正确

D.100错误

18.设变量定义为“intx,*p=&x;”,则&*p相当于__。

A.&x正确

B.x错误

C.*p错误

D.*&x错误

19.设int*ptr,x,array[5]={5,2,4,3,1};ptr=array;能使x的值为2的语句是__。

A.x=*(array+1);正确

B.array++;x=*array;错误

C.x=*(ptr+2);错误

D.x=array[2];错误

20.以下一维数组a的正确定义是__。

A.intn;cin>>n;inta[n];错误

B.inta(10);错误

C.intn=10,a[n];错误

D.#defineSIZE10inta[SIZE];正确

21.假设已定义chara[10];char*p;下面的赋值语句中,正确的是。

A.a=”abcdef”;错误

B.p=a;正确

C.*p=”abcdef”;错误

D.p=*a;错误

22.下列对指针p的操作,正确的是。

A.inta,*p=&a;正确

B.floata[5];int*p=a;错误

C.inta[5]={1,2,3,4,5},*p=&a;*p=5;错误

D.int*p;*p=2;错误

23.下面判断字符串str1是否大于str2,正确的表达式是。

A.if(strcmp(str1,str2))错误

B.if(strcmp(str1,str2)>0)正确

C.if(strcmp(str2,str1)>0)错误

D.if(str1>str2)错误

24.以下程序给数组所有元素输入数据,填入__能完成该功能。

#include

usingnamespacestd;

intmain()

{

intarray[5],i=0;

while(i<5)

cin>>__;

return0;

}

A.array+(i++)正确

B.&array[++i]错误

C.&array[i+1]错误

D.array+i错误

25.以下对二维数组a进行正确初始化的是。

A.intarray[][3]={1*6};正确

B.intarray[2][3]={{1,2},{3,4},{5,6}};错误

C.intarray[2][]={1,2,3,4,5,6};错误

D.intarray[2][3]={{},{1}};错误

第4次自测:

抽象与分类

1.C++语言中class和struct的区别仅在于缺省不同。

A.私有部分错误

B.访问权限正确

C.函数成员错误

D.数据成员错误

2.以下不属于类的访问权限的是。

A.public错误

B.static正确

C.private错误

D.protected错误

3.设有函数f的定义如下,若在main函数中调用f函数,则正确的调用语句是__。

voidf(intx,int*y)

{*y=x*x*x;}

intmain()

{inti,c[4]={1,2,3,4},s[4]={0};

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

{______/*调用f函数*/

cout<

return0;

}

A.f(c,s);错误

B.f(c+i,s+i);错误

C.f(*(c+i),&s[i]);正确

D.f(c[i],s[i]);错误

4.对于C++语言的函数,下列叙述中正确的是__。

A.函数的定义和调用都不能嵌套错误

B.函数的定义不能嵌套,但函数调用可以嵌套正确

C.函数的定义可以嵌套,但函数调用不能嵌套错误

D.函数的定义和调用都可以嵌套错误

5.若有以下程序:

#include

voidf(intn);

intmain()

{

voidf(intn);

f(5);

return0;

}

voidf(intn)

{cout<

则以下叙述中不正确的是__。

A.若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f错误

B.函数f无返回值,所以可用void将其类型定义为无类型错误

C.对于以上程序,编译时系统会提示出错信息:

提示对f函数重复说明正确

D.若在主函数前对函数f进行说明,则在主函数和其后的其它函数中都可以正确调用函数f错误

6.以下关于构造函数的叙述不正确的是

A.在一个类中构造函数有且仅有一个正确

B.构造函数无任何函数类型错误

C.构造函数在定义对象时自动执行错误

D.构造函数名必须和类名一致错误

7.下列特点不是类与结构共有的。

A.是封装的一种形式错误

B..关键字private和public的顺序和次数可以是任意的错误

C.不能在说明中对数据成员使用表达式初始化错误

D.在缺省情况下,所有成员都是私有的正确

8.是析构函数的特征。

A.析构函数名与类名完全相同错误

B.析构函数可以有一个或多个参数错误

C.析构函数的定义只能在类体内错误

D.一个类中只能定义一个析构函数正确

9.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是__。

A.地址传递错误

B.由实参传给形参,再由形参传回实参错误

C.单向值传递正确

D.传递方式由用户指定错误

10.以下函数调用语句中含有__个实参。

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

A.5错误

B.4错误

C.2正确

D.1错误

11.下列有关类和对象的说法不正确的是。

A.任何一个对象只能属于一个具体的类错误

B.一个类只能有一个对象正确

C.对象是类的一个实例错误

D.类与对象的关系类似于数据类型与变量的关系错误

根据教材3.2节内容,类是相同属性的抽象,可以定义若干个实体对象。

12.若有声明“longfun(int*x,intn,long*s);inta[4]={1,2,3,4};longb,c;”,则以下函数调用形式中正确的是__。

A.c=fun(a,4,b);错误

B.c=fun(a[4],4,b);错误

C.c=fun(a[],4,&b);错误

D.c=fun(a,4,&b);正确

13.有以下函数定义:

void

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2