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

下载本文档

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

文档简介

第15页高级语言C++程序设计一、单项选择题⒈下列符号中可作为C语言标识符的是:A)x+y B)12ab C)abc D)for2.C语言if语句中,用于条件判断的表达式是: A)关系表达式 B)逻辑表达式 C)算术表达式 D)任意表达式3.循环语句FORi:=trueTOfalseDOwrite(i);的循环遍数为:()

A.无意义;B.1次;C.0次;D.无数多次;⒋若有如下定义:autointx;而未对x进行赋值,则变量x的值为:A、为0B、为空C、是一个任意的不可用的数值D、是一个任意的不可用的整数值5、在下列诸错误中,哪一个是计算机系统不可能发现的错误。()

A.以连续两个减号替代一个减号;

B.加号替代减号;

C.在read语句中丢了一个闭括号;6.下列程序段的输出结果是:inti,j,m=0;for(i=1;i<=15;i+=4)for(j=3;j<=19;j+=4)m++;printf(“%d\n”,m);A)12B)15C7.chr(ord('B')+ord('a')-ord('A'))之值是()

A.2;B.-'b';C.'b';D.ord('b')⒏下列程序输出的结果哪个字母:main(){charx=‘A’;x=(x>=‘A’&&x<=‘Z’)?(x+32):x;printf(“%c\n”,x);}A、AB、aC、ZD、z9.以下程序的输出结果是main(){inta[]={2,4,6,8,10},y=1,x,*p;p=&a[1];for(x=0;x<3;x++)y+=*(p+x);printf(“%d\n”,y);}A)17B)18C)19D)2010.(-11)MOD(-3)之值是()

A.3;B.-3;C.2;D.-213.write(2.0=2)输出之值为()

A.出错;B.true;C.false;D.2.014.关于C++语言的函数,下列叙述中正确的是()。A.函数的定义不能嵌套,但函数调用可以嵌套B.函数的定义可以嵌套,但函数调用不能嵌套C.函数的定义和调用都不能嵌套D.函数的定义和调用都可以嵌套15、设x和y均为bool量,则x&&y为真的条件是()A.它们均为真B.其中一个为真C.它们均为假D.其中一个为假16.关于类的静态数据成员,下列描述中正确的是().A.静态数据成员是类的所有对象所共有的B.静态数据成员要在构造函数内初始化C.类的每个对象有自己的静态数据成员D.静态数据成员不能通过类的对象调用17、下面的哪个保留字不能作为函数的返回类型?()A.voidB.intC.newD.long18.要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,可选用()。A.内联函数B.重载函数C.递归调用D.嵌套调用19、假定a为一个整型数组名,则元素a[4]的字节地址为()A.a+4B.a+8C.a+1620.以下关于构造函数特征的叙述错误的是()A.构造函数可以重载B.构造函数的函数名与类名相同C.构造函数必须指定类型D.构造函数可以设置默认参数21、下列变量名中,(

)是合法的。

A

CHINA

B

byte-size

C

double

D

A+a22.在一个被调用函数中,关于return语句使用的描述错误的是()。A.被调用函数中可以不用return语句B.被调用函数中可以使用多个return语句C.被调用函数中的一个return语句,可以返回多个值给调用函数D.被调用函数如果有返回值,就一定要有return语句23、下面那种结构不是C++的控制结构()A顺序结构B选择结构C循环结构D判断结构24、下列各种函数中,(

)不是类的成员函数。

A

构造函数

B

析构函数

C

友元函数

D

拷贝构造函数25.以下叙述错误的是()A.基类的保护成员在公有派生类中仍然是保护成员B.基类的保护成员在私有派生类中是私有成员C.基类的保护成员不能被派生类的对象访问D.基类的保护成员在派生类中仍然是保护成员26、C++中,源代码文件后缀为()A.cppB.objC.exeD.c27、下列(

)是正确的语句。

A

B

a=17

C

x+y

D

cout<<"\n"28.定义inta=2,b=3;能正确表示代数式的C++表达式是()。A.1.0/a*bB.1/(a*b)C.1/a/(float)bD.1.0/a/b29、循环while(inti=0)i--;执行次数是(

)。

A

0

B

1

C

5

D

无限30.关于虚函数的描述中正确的是()A.虚函数是虚基类的成员函数B.虚函数是一个非成员函数C.虚函数既可以在函数说明时定义,也可以在函数实现时定义D.派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型31、设intf(int);和intg(int);是函数f和g的原形,以下将f作为语句调用的是(

)。A

g(f(3));

B

f(g(3));

C

g(f(3)+2);

D

p=f(g(3)+1);32.以下说法中正确的是()。A.C++程序总是从第一个定义的函数开始执行B.C++程序总是从main函数开始执行C.C++函数必须有返回值,否则不能使用函数D.C++程序中有调用关系的所有函数必须放在同一个程序文件中33、设int*p2=&x,*p1=a;p2=*b;则a和b的类型分别是(

)。

A

int*和int

B

int*和int**

C

int

和int*

D

int*和int*34.在C++的类中,如果某双目运算符被重载为类的成员函数,其参数的个数只能为()。A.一个B.两个C.三个D.零个35、设intx;,则经过(

)后,语句*px=0;可将x值置为0。

A

int*px;

B

intconst*px=&x;

C

int*constpx=&x;

D

constint*px=&x;36、下列是C++语言中合法标识符的是( )。A.3three B.if C._1one D.while37、如果一个函数可以在定义中直接或间接的调用自己,这样的函数称为( )。A.函数声明 B.嵌套函数 C.定义函数 D.递归函数38、设voidf1(int*m,long&n);inta;longb;则以下调用合法的是(

)。

A

f1(a,b);

B

f1(&a,b);

C

f1(a,&b);

D

f1(&a,&b);39、下列是合法的C++语言语句的是( )。A.if(x>0)thenx=x-1;elsex=x+1;B.if(x>0)x=x-1;elsex=x+1;C.ifx>0x=x-1;elsex=x+1;D.ifx>0x=x-1;40、以下结构类型可用来构造链表的是(

)。

A

structaa{inta;int*b;};

B

structbb{inta;bb*b;};

C

structcc{int*a;ccb;};

D

structdd{int*a;aab;};41、下面那一种不是计算机内部表示整数的方法()A二进制码B原码C补码D反码42、使用操作符setw对数据进行格式输出时,需要包含(

)文件。

A

iostream.h

B

fstream.h

C

iomanip.h

D

stdlib.h43、表达式0x55^0xB4的结果为( )。A.0xF5 B.0x15 C.0xE1 D.0x1E44、在C++语言中,下列数为合法的实数的是( )。A.5E-3 B.5E-3.5 C.E5 D.-3.5E45、设inta=3,*p=&a;,则*p的值是(

)。

A

变量a的地址值

B

无意义

C

变量p的地址值

D

346、C++语言中数据类型最大的是()AlongBfloatCintDchar47、在每个C++程序中都必须包含有这样一个函数,该函数的函数名为()A.mainB.MAINC.nameD.function48、0X5A&0XB7结果是()A0X13B0X12C0X14D0X15二、填空题49、程序的基本控制结构包括( )、( )和( )。50、C++目标程序经()后生成扩展名为exe的可执行程序文件。51、用来解决问题的,与有限多个步骤组成的具体过程称为()。52.16位计算机中整型占()个字节存储空间。53、整数类型变量a和b被初始化为3和10,则循环语句while(a<=b)a=a+2;共执行( )次,执行完语句后a的值为( ),b的的值为( )。54.要在屏幕上显示"Hello,world!"应执行语句cout<<()55.表达式8&3的结果是()。56、在程序编译阶段的错误主要分为两类( )和( )。57、计算机中的数据可以分为()和()两大类。58.作为语句的函数调用是通过()来体现的。59、字符型数据有两种编码方法:()和()60.设一维整型数组data已进行了初始化,则其元素个数可由操作符sizeof通过表达式()计算出来。61、通过C++语言中的()机制,可以从现存类中构建其子类。62.执行if(x>=0||x<=0)cout<<"abcd";elsecout<<"wxyz";屏幕上显示的是()。63.若一全局变量只允许本程序文件中的函数使用,则定义它时应加上修饰符()。64、封装要求一个对象应具备明确的功能,并具有()以便和其它对象相互作用。65.设有intw[3][4];,pw是与数组名w等价的数组指针,则pw应初始化为()。66、软件工程中认为影响一个程序质量的主要因素包括( )、( )、( )、( )和( )等方面。而面向对象的程序设计特别强调软件质量的两个方面( )和( )。67、15/3=(),16/3=(),15%3=(),16%3=()68、0XB4<<2及10110100向左连移两次,结果为(),即0XD0,0XB4>>2即10110100向右连移动两次,逻辑右移的结果为(),即0X2D69.要使引用pr代表变量char*p;,则pr应初始化为()。70、一种语言主要由()和()两部分组成。71、为了让编译程序了解数据所属的类型,同常程序设计语言都尊循“()”的原则。72、C++语言中的数据可分为()和()两大类。三、判断题73、构造函数和析构函数都可以有形参。()74、结构化程序设计方法的主要技术是自顶向下、逐步求精,采用单入口/单出口的控制结构。()75、在C++中,由new申请的动态内存空间,系统不会自动释放,需要通过调用delete命令来释放。()76、带有纯虚函数的类称为抽象类。()77、类是用户定义的类型,具有类类型的变量称作对象。()78、程序中以“//”开头直至该行行尾的内容成为注释,用于说明或者解释程序的功能。()79、在类的定义中,说明为protected的数据成员称为保护成员。保护成员具有双重作用:对于其派生类而言相当于共有成员,而对于其外部的程序而言相当于私有成员.()80、在公有继承的情况下,基类中所有的成员都能被继承,并且访问权限保持不变。()抽象类只能作为基类来使用,不能用来声明对象。()82、虚函数是动态联编的基础.()83、C++中,对基本数据类型的常量与变量进行加工的过程成为运算,表示各种不同运算的符号成为运算符,参与运算的数据成为操作数。()84、当将一个函数说明为类A的友元类时,该函数可以直接访问类A的所有成员。()85、表达式a?b=0:b=1,的求值次序是(a?(b=0):b)=1)()86、基类的公有成员一定能被派生类的对象访问。()87、组成C++程序的最小单位是单词,C++程序有5种单词,保留字,标志符、常量、运算符和分界符。()四、完成程序题88、输入十进制整数,转换并输出等值的八进制数,转换功能用具有两个参数的过程表示。

程序:

PROGRAMtrans(input,output);

VARten,eight:integer;

PROCEDUREchange____________________VARt,i:integer;

a:ARRAY[1..100]OF0..9;

BEGIN

i:=1;

REPEAT__________________m:=mDIV8;

i:=i+1

UNTILm=0;

t:=i-1;n:=0;

FORi:=1TOtDO

n:=n*10+______________________________END;

BEGIN

writeln('Pleaseinput!');

read(ten);

change(ten,eight);

writeln(eight)

END.89、下面程序的功能是统计子串substr在母串str中出现的次数,请填空。main(){charstr[80],substr[80];intn;gets(str);gets(substr);printf(“%d\n”,count(str,substr));}count(char*str,char*substr){inti,j,k,num=0;for(i=0;①;i++)for(②,k=0;*(str+j)==*(substr+k);k++,j++)if(substr[③]==‘\0’){num++;break;}return(num);}90、计算并输出下列摆动级数:

1,-3/1!,5/2!,-7/3!,...,(-1)i*(2i+1)/i!,...

前若干项之和,使误差不超过10-4。

程序:

PROGRAMgrade(output);

VAR

i,j,n:integer;

x,y:real;

BEGIN

i:=1;x:=1;y:=0;n:=1;

REPEAT

FORj:=1TOiDO

n:=n*j;

IF___________________THENy:=-(2*i+1)/n

ELSEy:=(2*i+1)/n;

x:=x+y;i:=i+1;________________________UNTIL________________________writeln(x:14:5)

END.91.以下程序调用invert函数按逆序重新放置a数组中元素的值,a数组中的值在main函数中读入,请填空。(8分)#defineN10voidinvert(int*s,inti,intj){intt;if(i<j){t=*(s+i);①;*(s+j)=t;invert(s,②,j-1);}}main(){③;for(i=0;i<N;i++)scanf(“%d”,④);invert(a,0,N-1);for(i=0;i<N;i++)printf(“%d”,a[i]);}92、输入一个大于5的奇数,验证哥德巴赫猜想之一:任何大于5的奇数都可表示为3个素数之和(且不唯一),输出被验证之数及各种可能的组成。要求将“判断某整数n是否为素数”编为一个函数。

程序:PROGRAMgoldbach(input,output);

VARi,j,m:integer;

FUNCTIONprime(n:integer):boolean;

VARp:integer;

BEGIN

prime:=true;

FORMp:=2TOnDIV2DO

IF_____________________________THENprime:=false

END;

BEGIN

readln(m);

IF___________________________THENBEGIN

FORi:=2TOmDO

IF___________________________THENFORj:=2TOm-i-2DO

IF__________________________THEN

writeln(m:4,'=',i:4,'+',j:4,'+',m-i-j:4)

END

ELSEwriteln('Inputerror!')

END.93.下面是一个从数组a中找出最小元素的函数模板,填上适当字句使函数模板定义完整。#include<iostream.h>template<typenameT>TMax(Ta[],intn){ intpos=①______________________; for(intk=1;k<n;k++) if(a[k]<a[pos]) pos=②______________________; returna[pos];}94.在下面横线处填上适当字句,完成类定义。#include<string.h>classBirthDay{private: intyear,month,day;public: BirthDay(inty,intm,intd){year=y;month=m;day=d;} voiddisplay(){ cout<<""<<year<<"-"<<month<<"-"<<day<<""; }};classStudent{private: charname[9]; charsex; BirthDaybirth;public: Student(char*xm,charxb,inty,intm,intd):①______________________ { strcpy(name,xm); sex=xb; } voiddisplay(void) { cout<<name<<""<<sex; ②______________________;//显示生日信息 cout<<endl; }};voidmain(){ Studentp1("张三",'M',1988,12,25); p1.display();}95.在横线处填上适当字句,完成下面复数类的定义。#include<iostream.h>classComplex{private: doublereal,image;public: Complex(doubler=0,doublei=0){real=r;image=i;} friendComplexoperator+(Complex&a,constComplex&c);//复数加法运算符 Complexoperator=(Complexc2);//复数赋值运算符 };Complexoperator+(Complex&a,constComplex&b){ Complextemp(①______________________); returntemp;}ComplexComplex::operator=(Complexc2){ real=c2.real; image=c2.image; return(②______________________);}96.请在横线处填上适当的字句,以使程序完整。#include<iostream.h>#include"math.h"classPoint {private: dou

温馨提示

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

评论

0/150

提交评论