C++课后习题答案文档格式.docx

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

C++课后习题答案文档格式.docx

《C++课后习题答案文档格式.docx》由会员分享,可在线阅读,更多相关《C++课后习题答案文档格式.docx(66页珍藏版)》请在冰点文库上搜索。

C++课后习题答案文档格式.docx

<

"

My"

sister"

;

is"

a"

beautifulgirl!

endl;

return0;

}

运行结果为:

Mysisterisabeautifulgirl!

2.

inta,b,c;

cin>

>

a>

b;

c=a+b;

a+b="

a+b<

return0;

23↙

a+b=5

第2章C++程序设计基础(上)

一、选择题

(1)在一个C++程序中,main函数的位置()。

A.必须在程序的开头B.必须在程序的后面

C.可以在程序的任何地方D.必须在其他函数中间

【答案】C

(2)用C++语言编写的源程序要变为目标程序必须要经过()。

A.解释B.汇编C.编辑D.编译

【答案】D

(3)C++程序基本单位是()。

A.数据B.字符C.函数D.语句

(4)C++程序中的语句必须以()结束。

A.冒号B.分号C.空格D.花括号

【答案】B

(5)下列选项中,全部都是C++关键字的选项为()。

A.whileIFstaticB.breakchargo

C.sizeofcaseexternD.switchfloatinteger

(6)下列正确的八进制整型常量表示是()。

A.0a0B.015C.080D.0x10

(7)在下列运算符中,()优先级最高。

A.<

=B.*=C.+D.*

(8)在下列运算符中,()优先级最低。

A.!

B.&

&

C.!

=D.:

(9)设i=1,j=2,则表达式i+++j的值为()。

A.1B.2C.3D.4

(10)设i=1,j=2,则表达式++i+j的值为()。

A.1B.2C.3D.4

(11)在下列表达式选项中,()是正确。

A.++(a++)B.a++bC.a+++bD.a++++b

(12)已知i=0,j=1,k=2,则逻辑表达式++i||--j&

++k的值为()。

A.0B.1C.2D.3

(13)执行下列语句后,x的值是(),y的值是()。

intx,y;

x=y=1;

++x||++y;

A.不确定B.1,1C.2,1D.2,2

(14)已知x=5,则执行语句x+=x-=x*x;

后,x的值为()。

A.25B.40C.-40D.20

(15)设a=1,b=2,c=3,d=4,则条件表达式a<

ba:

c<

dc:

d的值为()。

【答案】A

(16)逗号表达式(x=4*5,x*5),x+25的值为()。

A.25B.20C.100D.45

二、写出下列数学表达式的C++算术表达式

(1)

(2)x{x[x(ax+b)+c]+d}+e

(3)

(4)

(5)

(6)log10(a2+ab+b2)

(1)1/(1+1/(1+1/(x+y)))

(2)x*(x*(x*(a*x+b)+c)+d)+e

(3)log(1+pow(fabs((a+b)/(a–b)),10)

(4)sqrt(1+2*cos(48*180))

(5)1/tan((1-x*x)/(1+x*x))

或者cos((1-x*x)/(1+x*x))/sin((1-x*x)/(1+x*x))

(6)log10(a*a+a*b+b*b)

三、用关系表达式或逻辑表达式表示下列条件

(1)i整除j

(2)n是小于正整数k的偶数

(3)1<

=x<

10(4)x,y其中有一个小于z

(5)y

[–100,–10],并且y

[10,100]

(6)坐标点(x,y)落在以(10,20)为圆心,以35为半径的圆内

(7)三条边a,b和c构成三角形

(8)年份Year能被4整除,但不能被100整除或者能被400整除

(1)i%j==0

(2)(n<

k)&

(n%2==0)

=x&

x<

10(4)x<

z||y<

z

(5)!

(y>

=-100&

y<

=-10)&

!

=10&

=100)

(6)sqrt(pow((x-10),2)+pow((y-20),2))<

35

(7)a+b>

c&

b+c>

a&

c+a>

b

(8)(year%4==0)&

(year%100!

=0)||(year%400==0)

四、阅读下列程序,写出执行结果

voidmain()

inta=1,b=2,x,y;

a+++++b<

a%b<

x=!

y=x--&

4

2

-1

0

(2)

intx,y,z,f;

x=y=z=1;

f=--x||y--&

z++;

x="

y="

z="

z<

f="

f<

x=0

y=0

z=2

f=1

五、编程题

(1)输入一个三位整数,将它反向输出。

【解答】

voidmain()

{intx,i,j,k;

cout<

pleaseinputx:

cin>

x;

i=x/100;

j=(x-i*100)/10;

k=x-i*100-j*10;

k<

j<

i<

}

(2)输入平面上某点横坐标x和纵坐标y,若该点在由图2-8表示的方块区域内,则输出1;

否则,输出0。

图2-8正方形

{floatx,y,b;

pleaseinputx,y:

x>

y;

b=(-2<

=x)&

(x<

=2)&

(-2<

=y)&

(y<

=2);

b<

第3章C++程序设计基础(下)

1.设有函数关系为

,下面选项中能正确表示上述关系的语句为()。

A.y=1;

B.y=-1;

if(x>

=)0if(x!

=0)

if(x==0)y=0;

if(x>

0)y=1;

elsey=-1;

elsey=0

C.if(x<

=0)D.y=-1;

if(x<

0)y=-1;

if(x<

elsey=0;

if(x<

0)y=-1;

elsey=1;

elsey=1;

2.假设i=2,执行下列语句后i的值为()。

switch(i)

{case1:

i++;

case2:

i--;

case3:

++i;

break;

case4:

--i;

default:

A.1B.2C.3D.4

3.已知inti=0,x=0;

下面while语句执行时循环次数为()。

while(!

x&

i<

3){x++;

A.4B.3C.2D.1

4.已知inti=3;

下面do~while语句执行时循环次数为()。

do

{i--;

}while(i!

=1);

A.1B.2C.3D.无限

5.下面for语句执行时循环次数为()。

for(inti=0,j=5;

=j;

j--;

A.0B.1C.3D.5

6.以下程序段为死循环的是()。

A.for(intx=0;

3;

){x++;

};

B.intk=0;

do{++k;

}while(k>

=0);

C.inta=5;

while(a){a--;

D.inti=3;

for(;

i;

i--);

二、阅读下列程序,写出执行结果

inta,b,c,d,x;

a=c=0;

b=1;

d=20;

if(a)

d=d-10;

elseif(!

b)

if(!

c)

x=15;

elsex=25;

d<

20

inta=0,b=1;

switch(a)

case0:

switch(b)

a="

a<

b="

case1:

a++;

b++;

a=0b=1

a=1b=2

3.

inti=1;

while(i<

=10)

if(++i%3!

=1)continue;

elsecout<

4

7

10

4.

inti=0,j=5;

j--;

if(i>

3)break;

}while(j>

0);

i="

'

\t'

j="

i=4j=1

5.

inti,j;

for(i=1,j=5;

j;

i++)

cout<

33

6.

inti,s=0;

for(i=0;

5;

s+=i;

s+=2;

s="

s<

s=7

7.

inti,j,x=0;

=3;

x++;

for(j=0;

j++)

if(j%2)continue;

x=16

三、编程题

1.输入三个整数,再将这三个整数按从小到大的顺序输出。

inta,b,c,t;

cout<

a,b,c="

cin>

b>

c;

if(a>

b){t=a;

a=b;

b=t;

c){t=a;

a=c;

c=t;

if(b>

c){t=b;

b=c;

2.模拟剪刀、石头和纸游戏,用s表示剪刀,r表示石头,p表示纸。

游戏规则为:

剪刀剪纸,石头砸剪刀,纸包石头。

两名游戏者分别输入s、r或p,按照游戏规则输出结果。

charfirst,second;

Firstinput(s,rorp):

first;

Secondinput(s,rorp):

second;

switch(first)

{case'

s'

:

switch(second)

{case'

Scissortiesscissor."

gotoend;

case'

r'

Scissoriscrushedbyrock."

p'

Scissorcutspaper."

default:

secondinputerror!

}

case'

switch(second)

Rockcrushesscissor."

Rocktiesrock."

Rockiswrappedbypaper."

}

Paperiscutbyscissor."

gotoend;

Paperwrapstherock."

Papertiespaper."

default:

Firstinputerror!

end:

3.输入一个整数,输出该整数的所有素数因子。

例如,输入120,输出为2、2、2、3和5。

intm,i=2;

"

pleaseinputm:

cin>

m;

while(i<

=m)

if(m%i==0)

i<

m=m/i;

elsei++;

4.找出100到200之间满足用3除余2且用5除余3且用7除余2的所有整数。

inti;

for(i=100;

=200;

i++)

if((i%3==2)&

(i%5==3)&

(i%7==2))

endl;

5.如果一个整数恰好等于它的所有因子之和,则这个数称为完数。

例如,6=1+2+3,所以6为完数。

求1000之内的所有完数。

inti,j,s;

for(i=1;

=1000;

s=0;

for(j=1;

j<

j++)

if(i%j==0)s=s+j;

if(i==s)cout<

6.在屏幕上输出如下图案:

*

***

*****

*******

*********

inti,j,k;

=5;

for(k=1;

k<

=5-i;

k++)cout<

=2*i-1;

j++)cout<

*"

第4章函数的应用

1.选择题

(1)下面关于C++语言说法不正确的是()。

A.具有函数式的程序结构,其程序至少由一个函数构成,不论是主函数,还是其他函数

B.变量的数据类型丰富,而且使用不同的存储类别

C.具有编译预处理的功能,为程序的设计与修改、调试、移植带来方便

D.既是面向结构的程序设计语言,又是面向对象的程序设计语言

答案:

A

若只有一个函数,则只能是主函数,否则程序不知从何处开始执行。

(2)所谓模块化程序设计是指,在程序设计中把功能相对独立、单一的模块用一个函数实现,再由若干个函数组成完整程序的程序设计方法。

对于函数,下列说法不正确的是()。

A.函数结构独立、功能单一,便于编写、调试和修改

B.可以并行开发,加快软件开发速度,缩短开发周期

C.函数的重复使用性好,提高开发效率

D.所有函数都可用于整个程序,即使该程序包含了多个文件

D

(3)关于函数调用,下面不正确的是()。

A.由于程序总是从主函数开始执行,所以函数的调用总是在主函数和其他函数之间进行

B.函数的调用可以在任意函数之间进行

C.一个函数可以自己调用自己

D.函数返回时可以不必带回值,这时函数类型应为void

(4)关于函数的声明与定义,正确的是()。

A.函数的声明是必须的,只有这样才能保证编译系统对函数参数进行检测,以确保参数传递正确

B.函数的声明并非必须,即可以只给出函数定义

C.声明函数时参数标识符可省略,但参数的类型、个数必须相同且顺序不能颠倒

D.一个函数可以在另一个函数内定义

C

函数的声明并非必须,可以只要函数定义而不要声明.但要注意符合一定条件。

函数不可嵌套定义。

(5)关于函数的返回值,正确的是()。

A.return语句只返回一个值,该值的类型在函数定义时已确定

B.返回值类型由返回变量类型决定

C.如果不定义函数类型,表示该函数没有返回值

D.函数调用一定要有返回值,否则调用就没有意义了

(6)下列关于形参的说法,正确的是()。

A.函数的形参并非是必须的,有时可以什么都没有

B.函数的形参可以是表达式

C.函数在定义时,形参是不占用存储空间的,只有在被调用时系统才会为其分配存储空间,调用结束时,该空间将被释放

D.形参的名称、类型、数量和顺序必须与实参相同,否则实参不会把信息正确地传递给形参

(7)关于函数的返回,不正确的是()

A.使程序的执行重新返回到主调函数,使程序继续往下执行

B.释放调用函数时临时分配的存储单元

C.一定要返回一个值给主调函数

D.其返回值可有可无

被调用函数可以不返回任何值,仅完成某功能。

voidincx();

voidincy

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

当前位置:首页 > IT计算机 > 电脑基础知识

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

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