C++语言程序设计课程期末综合练习Word文档格式.docx

上传人:b****2 文档编号:5805183 上传时间:2023-05-05 格式:DOCX 页数:16 大小:22.34KB
下载 相关 举报
C++语言程序设计课程期末综合练习Word文档格式.docx_第1页
第1页 / 共16页
C++语言程序设计课程期末综合练习Word文档格式.docx_第2页
第2页 / 共16页
C++语言程序设计课程期末综合练习Word文档格式.docx_第3页
第3页 / 共16页
C++语言程序设计课程期末综合练习Word文档格式.docx_第4页
第4页 / 共16页
C++语言程序设计课程期末综合练习Word文档格式.docx_第5页
第5页 / 共16页
C++语言程序设计课程期末综合练习Word文档格式.docx_第6页
第6页 / 共16页
C++语言程序设计课程期末综合练习Word文档格式.docx_第7页
第7页 / 共16页
C++语言程序设计课程期末综合练习Word文档格式.docx_第8页
第8页 / 共16页
C++语言程序设计课程期末综合练习Word文档格式.docx_第9页
第9页 / 共16页
C++语言程序设计课程期末综合练习Word文档格式.docx_第10页
第10页 / 共16页
C++语言程序设计课程期末综合练习Word文档格式.docx_第11页
第11页 / 共16页
C++语言程序设计课程期末综合练习Word文档格式.docx_第12页
第12页 / 共16页
C++语言程序设计课程期末综合练习Word文档格式.docx_第13页
第13页 / 共16页
C++语言程序设计课程期末综合练习Word文档格式.docx_第14页
第14页 / 共16页
C++语言程序设计课程期末综合练习Word文档格式.docx_第15页
第15页 / 共16页
C++语言程序设计课程期末综合练习Word文档格式.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C++语言程序设计课程期末综合练习Word文档格式.docx

《C++语言程序设计课程期末综合练习Word文档格式.docx》由会员分享,可在线阅读,更多相关《C++语言程序设计课程期末综合练习Word文档格式.docx(16页珍藏版)》请在冰点文库上搜索。

C++语言程序设计课程期末综合练习Word文档格式.docx

B.constintN=20;

C.constcharch;

D.constboolmark=true;

14.for循环语句一定能够被改写为()语句。

15.假定a为一个数组名,则下面的()表达式有语法错误。

A.a[i]B.*++aC.*aD.*(a+1)

16.在下面的二维数组定义中,只有()语句是正确的。

A.inta[5][];

B.inta[](10);

C.inta[][];

D.inta[][5]={{1,2,3},{4,5}};

17.下面()的函数声明格式不正确。

A.AA(inta,intb);

B.AA(inta=0,intb);

C.AA(inta=0,intb=0);

D.AA(inta,intb=0);

18.假定指针变量p定义为“int*p=newint[30];

”,要释放p所指向的动态数组空间,则使用下面的()语句。

A.deletep;

B.delete*p;

C.delete&

p;

D.delete[]p;

19.假定要对结构类型AB定义加号运算符重载的普通函数,实现两个AB类型对象的加法,并返回相加结果,则该函数的声明语句为()。

A.ABoperator+(AB&

a,AB&

b);

B.ABoperator+(AB&

a);

C.operator+(ABa);

D.AB&

operator+();

20.当需要使用ifstream流类定义一个流对象并联系一个磁盘文件时,应在文件开始使用#include命令,使之包含()头文件。

A.strstrea.hB.stdlib.hC.iostream.hD.fstream.h

21.枚举类型中的每个枚举常量的值都是一个()值。

A.整数B.浮点数C.字符D.逻辑

22.设x和y均为bool量,则逻辑表达式x||y为假的条件是()。

A.x和y均为真B.其中一个为真

C.x和y均为假D.其中一个为假

23.声明或定义一个内联函数时,必须在函数开始使用保留字()。

A.staticB.constC.externD.inline

24.在下面的函数声明中,存在着语法错误的是()。

A.BC(inta,int)B.BC(int,int)

C.BC(int,int=5)D.BC(intx=6,inty)

25.假定a为一个整型数组名,则元素a[4]与()的表示等价。

A.a+4B.*a+4C.*(a+4)D.*(a+16)

26.循环语句“for(inti=0;

i<

n;

i++);

”执行结束后得到的i的值为()。

A.nB.n+1C.n-1D.2n

27.将两个字符串连接起来组成一个字符串时,选用()函数。

A.strlen()B.strcpy()C.strcat()D.strcmp()

28.C++编译预处理命令在程序中都是以()字符开头的。

A.*B.#C.&

D.@

29.假定有结构定义为“structBOOK{chartitle[40];

doubleprice;

};

”,则该结构类型的长度为()个字节。

A.28B.40C.44D.48

30.假定AB为一个类,px为指向该类动态对象数组的指针,该数组长度为n,则执行“delete[]px;

”语句时,自动调用该类析构函数的次数为()。

A.1B.nC.n-1D.n+1

二、填空题

1.C++语言中每条复合语句以左花括号开始,并以______________结束。

2.假定一个枚举类型的定义为“enumRA{ab,ac,ad,ae};

”,则ac的值为_______。

3.十进制数25表示成符合C++语言规则的八进制数为________。

4.表达式x=x+y表示成复合赋值表达式为__________。

5.若x=5,则x>

5的逻辑值为_________。

6.假定一个一维数组的定义为“char*a[8];

”,则该数组占用________个字节的存储空间。

7.假定x=10,则表达式2+x++的值为________。

8.假定p所指对象的值为25,p+1所指对象的值为46,则*++p的值为________。

9.假定要动态分配一个类型为int的具有n个元素的数组,并由r指向这个动态数组,则使用的语句为int*r=_________________。

10.设px指向一个类的动态分配的对象,则执行“deletepx;

”语句时,将自动调用该类的____________。

11.执行“cout<

<

”x1=”<

18*4;

”语句后得到的输出结果为________。

12.在c++语言中,用转义字符序列________表示输出一个换行。

13.int类型的大小为________个字节。

14.假定y的值为5,则增量表达式++y的值为__________。

15.假定a的值为25,则算术表达式a%3的值为________。

16.结束所在循环类语句或switch语句执行的中断语句的保留字为__________。

17.函数调用时,实参向形参的传送分为________传送和值传送两种方式。

18.假定a是一个一维数组,则a[i]的指针访问方式为________。

19.假定一个结构类型的定义为”structC{doublea[5];

intn;

”,则该类型的大小为________个字节。

20.若要在程序中进行___________的输入输出操作,则必须在开始的#inlude预处理命令中使用fstream.h头文件。

21.十进制数30表示成符合C++语言规则的十六进制数为________。

22.假定一个枚举类型的定义为“enumRB{ab,ac,ad,ae};

”,则枚举常量ad的值为________。

23.假定y=8,则执行y++*4运算后,y的值为________。

24.算术表达式

+1对应的C++表达式为____________________。

25.关系表达式x<

5的相反表达式为____________。

26.假定整数变量x=48,则a/12的运算结果为________。

27.假定一个二维数组的定义语句为“inta[3][4];

”,则该数组包含有________个整型元素。

28.函数被调用时,实参向形参的传送分为引用传送和________传送两种方式。

29.假定一个结构类型的定义为”structB{inta[5];

char*b;

”,则该类型的大小为________字节。

30.在定义类对象的语句执行时,系统在建立每个对象的过程中将自动调用该类的____________使其初始化。

三、写出下列每个程序运行后的输出结果

1.#include<

iostream.h>

voidmain(){

intn=4,y=1;

while(n--)y*=3;

cout<

"

y="

y<

endl;

}

2.#include<

inta[8]={2,8,10,5,12,7,9,20};

intc=0,i=0;

while(i<

8){

if(a[i]>

10)c++;

i++;

}

cout<

c="

c<

3.#include<

iomanip.h>

inta[5]={3,6,9,12,8};

for(int*p=a;

p<

a+5;

p++)

if(*p>

8)cout<

*p<

'

'

;

4.#include<

intLA(inta[],intn){

ints=0;

for(inti=0;

i<

i++)

s+=a[i];

returns;

inta[5]={5,2,8,6,4};

intb=LA(a,5);

b="

b<

5.#include<

structAB{

charaa[15];

intbb;

};

ABa[4]={{"

Apple"

25},{"

Peach"

40},{"

Pear"

36},{"

Tomato"

62}};

for(inti=0;

4;

if(a[i].bb<

40)cout<

a[i].aa<

6.#include<

ints1=0;

for(inti=1;

=5;

i++)s1+=2*i;

”s1=”<

s1<

7.#include<

inta[6]={6,9,12,18,15,20};

intc=0;

6;

i++)

if(a[i]%2==1)c++;

8.#include<

inta[3][4]={{1,2,7,8},{5,6,11,15},{9,20,3,4}};

intm=a[0][0];

3;

for(intj=0;

j<

j++)

if(a[i][j]>

m)m=a[i][j];

m<

9.#include<

inta=10,b=15,c;

c=a+b;

{intb=a+20;

c+=a+b;

}

10.#include<

inta[8]={6,19,4,12,20,5,18,25};

int*p,s=0;

for(p=a;

a+8;

p++)

if(*p<

10)s+=*p;

s<

11.#include<

=8;

i+=2)

s+=i*i;

s="

12.#include<

inti=1,s=0;

while(s<

15)s+=i++;

'

13.#include<

inta[8]={36,25,48,14,55,20,47,82};

intc1=0,c2=0;

8;

if(a[i]<

50)c1++;

elsec2++;

c1<

c2<

14.#include<

intLB(int*a,intn){

intp=1;

i++){

p*=*a;

a++;

returnp;

inta[5]={1,2,3,4,3};

LB(a,5)<

15.#include<

structWorker{

charname[15];

//姓名

intage;

//年龄

floatpay;

//工资

};

Workerx={"

wangfong"

46,1640};

Workery,*p;

y=x;

p=&

x;

y.age+10<

p->

pay*2<

四、写出下列每个函数的功能

1.intSA(inta,intb){

if(a>

b)return1;

elseif(a==b)return0;

elsereturn-1;

2.intLK(inta[],intn){

floats=0;

inti;

for(i=0;

i++)s+=a[i];

s/=n;

intm=0;

i++)if(a[i]>

=s)m++;

returnm;

3.intWD(inta[],intn){

intm=a[0];

if(a[i]>

m)m=a[i];

returnm;

}

4.doubleFI(intn){//n为大于等于1的整数

doublex,y=0;

do{

cin>

>

y+=x*x;

}while(--n);

returny;

5.boolWE(inta[],intb[],intn){

if(a[i]!

=b[i])break;

if(i==n)returntrue;

returnfalse;

6.intLK(inta[],intn){

doubles=0;

inti,m=0;

s=s/n;

7.doubleFI(intn){//n为大于等于1的整数

y+=x;

8.boolWE(inta[],intb[],intn){

9.intLK(inta[],intn){

五、按题目要求编写程序

1.已知6≤a≤30、15≤b≤36,求出满足不定方程2a+5b=126的全部整数组解。

如(13,20)就是其中的一组解,并按此格式输出每组解。

2.假定函数声明为“voidPrint(inta[],intn);

”,要求按下标从大到小的次序输出数组a中的n个元素的值,每个值后面接着输出一个空格。

3.假定一个函数声明为“intFF(inta[],intn);

”,要求递归求出数组a中所有n个元素之积并返回。

4.假定函数声明为“voidPrint(inta[],intn);

”,要求按下标从大到小的次序输出数组a中的n个元素的值,每个值后面接着输出一个逗号,但最后一个值后面为换行符。

参考解答:

voidmain()

{

inta,b;

for(a=6;

a<

=30;

a++)

for(b=15;

=36;

b++)

if(2*a+5*b==126)

('

)'

2.voidPrint(inta[],intn)

for(inti=n-1;

i>

=0;

i--)

a[i]<

’’;

3.intFF(inta[],intn)

{

if(n==1)returna[n-1];

elsereturna[n-1]*FF(a,n-1);

//或者if(n==0)return1;

//elsereturna[n-1]*FF(a,n-1);

}

4.voidPrint(inta[],intn)

0;

i--)

a[0]<

1.A2.D3.C4.D5.A

6.C7.C8.B9.C10.D

11.C12.A13.C14.D15.B

16.D17.B18.D19.A20.D

21.A22.C23.D24.D25.C

26.A27.C28.B29.D30.B

参考解答:

1.}(右花括号)2.1

3.0314.x+=y

5.假(false或0)6.32

7.128.46

9.newint[n];

10.析构函数

11.x1=7212.’\n’

13.414.6

15.116.break

17.引用18.*(a+i)

19.4420.文件

21.0x1E(字母x和E大小写均可)22.2

23.924.(x+y)/(2*x*y)+1

25.x>

=526.4

27.1228.值

29.2430.构造函数

1.y=812.c=23.9124.b=25

5.ApplePear6.s1=307.c=28.20

9.6510.1511.s=8412.6,15

13.6214.7215.563280

1.比较两个整数a和b的大小,若a>

b则返回1,若a==b则返回0,若a<

b则返回-1。

2.求出数组a的n个元素中大于等于平均值的元素个数并返回。

3.从数组a的n个元素中求出最大值并返回。

4.求出从键盘上输入的n个整数的平方和并返回。

5.判断具有n个元素的两个数组a和b中对应元素值是否全部相等,若是则返回真,否则返回假。

6.统计出数组a[n]中大于等于其平均值的元素个数并作为函数值返回。

7.求出从键盘上输入的n个整数的和并返回。

8.判断具有n个元素的两个数组a和b中对应元素值是否全部相等,若是则返回真,否则返回假。

9.统计出数组a[n]中大于等于其平均值的元素个数并作为函数值返回。

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

当前位置:首页 > 解决方案 > 学习计划

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

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