程序设计基础一习题及其解答Word格式文档下载.docx

上传人:b****7 文档编号:22940682 上传时间:2023-02-06 格式:DOCX 页数:61 大小:55.87KB
下载 相关 举报
程序设计基础一习题及其解答Word格式文档下载.docx_第1页
第1页 / 共61页
程序设计基础一习题及其解答Word格式文档下载.docx_第2页
第2页 / 共61页
程序设计基础一习题及其解答Word格式文档下载.docx_第3页
第3页 / 共61页
程序设计基础一习题及其解答Word格式文档下载.docx_第4页
第4页 / 共61页
程序设计基础一习题及其解答Word格式文档下载.docx_第5页
第5页 / 共61页
点击查看更多>>
下载资源
资源描述

程序设计基础一习题及其解答Word格式文档下载.docx

《程序设计基础一习题及其解答Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《程序设计基础一习题及其解答Word格式文档下载.docx(61页珍藏版)》请在冰豆网上搜索。

程序设计基础一习题及其解答Word格式文档下载.docx

a,*p2=&

b;

(a)*p2=b;

(b)p1=a;

(c)p2=p1;

(d)c=*p1*(*p2);

16.有以下变量说明,下面正确的语句是(b)。

inta=10,b;

int&

pa=a,&

pb=b;

(a)&

pb=a;

(b)pb=pa;

(c)pb=&

pa;

(d)*pb=*pa;

17.执行下面语句序列后,a和b的值分别为(b)。

inta=5,b=3,t;

int&

ra=a;

rb=b;

t=ra;

ra=rb;

rb=t;

(a)3和3(b)3和5(c)5和3(d)5和5

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

(a)<

=(b)*=(c)+(d)*

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

(a)!

(b)&

&

(c)!

=(d)?

:

20.设inti=1,j=2;

则表达式i+++j的值为(c)。

(a)1(b)2(c)3(d)4

21.设inti=1,j=2;

则表达式++i+j的值为(d)。

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

(a)++(a++)(b)a++b(c)a+++b(d)a++++b

23.已知inti=0,j=1,k=2;

则逻辑表达式++i||--j&

++k的值为(b)。

(a)0(b)1(c)2(d)3

24.执行下列语句后,x的值是(d),y的值是(c)。

intx,y;

x=y=1;

++x||++y;

(a)不确定(b)0(c)1(d)2

25.设x为整型变量,不能正确表达数学关系1<x<5的C++逻辑表达式是(a)。

(a)1<

x<

5(b)x==2||x==3||x==4

(c)1<

x&

x<

5(d)!

(x<

=1)&

!

(x>

=5)

26.已知intx=5;

执行下列语句后,x的值为(c)。

1找优先级2结合性

x+=x-=x*x;

(a)25(b)40(c)–40(d)20

27.设inta=1,b=2,c=3,d=4;

则以下条件表达式的值为(a)。

a<

b?

a:

c<

d?

c:

d

28.以下逗号表达式的值为(d)。

逗号运算符的优先级最小

(x=4*5,x*5),x+25

(a)25(b)20(c)100(d)45

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

1.

#include<

iostream>

usingnamespacestd;

intmain()

{inta=1,b=2;

boolx,y;

cout<

<

(a++)+(++b)<

endl;

a%b<

x=!

a>

y=a--&

b;

y<

}

【解答】

4

2

1

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

3.

#include<

iomanip>

{inta=123;

ra=a;

int*pa=&

a;

cout<

setw(5)<

dec<

a<

oct<

ra<

hex<

*pa<

endl;

1231737b

3编程题

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

{intx,i,j,k;

pleaseinputx:

"

;

cin>

>

x;

i=x/100;

j=x/10%10;

k=x%10;

cout<

k<

j<

i<

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

否则,输出0。

图1.11正方形

{doublex,y,b;

pleaseinputx,y:

x>

y;

b=(-2<

=x)&

(x<

=2)&

(-2<

=y)&

(y<

=2);

b<

}

3.输入三个整数,求出其中最小数(要求使用条件表达式)。

{inta,b,c,temp,min;

pleaseinputa,b,c:

a>

b>

c;

temp=(a<

b)?

a:

min=(temp<

c)?

temp:

c;

min="

min<

选择、循环结构

1.已知inti=0,x=1,y=0;

在下列选项使i的值变成1的语句是(c)。

(a)if(x&

y)i++;

(b)if(x==y)i++;

(c)if(x||y)i++;

(d)if(!

x)i++;

2.设有函数关系为y=

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

(a)y=1;

(b)y=-1;

if(x>

=0)if(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;

elsey=0;

elsey=1;

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

switch(i)

{case1:

i++;

case2:

i--;

case3:

++i;

break;

case4:

--i;

default:

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

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

while(!

i<

3){x++;

i++;

(a)4(b)3(c)2(d)1

5.已知inti=3;

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

do{i--;

i<

}while(i!

=1);

(a)1(b)2(c)3(d)无限

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

inti;

for(i=0,j=5;

i=j;

{cout<

i++;

j--;

(a)0(b)5(c)10(d)无限

7.以下死循环的程序段是(b)。

(a)intx;

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--);

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

{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)

{case0:

a="

b="

b<

break;

case1:

case1:

a++;

b++;

a=0b=1

a=1b=2

{inti=1;

while(i<

=10)

if(++i%3!

=1)

continue;

elsecout<

4

7

10

4.

usingnamespacestd;

intmain()

{inti=0,j=5;

do

{i++;

if(i>

3)break;

}while(j>

0);

i="

'

\t'

j="

i=4j=1

5.

{inti,j;

for(i=1,j=5;

j;

i++)

{j--;

'

j<

33

6.

{inti,s=0;

for(i=0;

5;

switch(i)

s+=i;

case2:

default:

s+=2;

s="

s<

s=7

7.

{inti,j,x=0;

=3;

{x++;

for(j=0;

j<

j++)

{if(j%2)continue;

x++;

x="

x=16

3编程题

1.输入一个字母,如果它是一个大写字母,则把它变成小写字母;

如果它是一个小写字母,则把它变成大写字母;

其它字符不变。

iostream.h>

voidmain()

{charch;

cin>

ch;

if(ch>

=’A’&

ch<

=’Z’)ch=ch+32;

elseif(ch>

=’a’&

ch<

=’z’)ch=ch-32;

return0;

2.下面的程序实现输出x,y,z三个数中的最大值。

{intx=5,y=8,z=9,u,v;

if(x>

y)u=x;

elseu=y;

if(u>

z)v=u;

elsev=z;

v;

return0;

3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。

{doublea,b,c;

a,b,c="

;

c;

if(a+b>

c&

b+c>

a&

c+a>

b)

{if(a==b&

b==c)

等边三角形!

elseif(a==b||a==c||b==c)

等腰三角形!

一般三角形!

else

不能形成三角形!

endl;

4.下面程序是输出100以内能被7整除且个位数是4的所有整数。

for(i=0;

=9;

i++)

{j=i*10+4;

if(j%7!

=0)

else

}

return0;

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

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

{intm,i=2;

pleaseinputm:

m;

=m)

if(m%i==0)

"

m=m/i;

elsei++;

6.使用迭代公式

编程序求某一正整数a的平方根。

cmath>

{constdoubleeps=1e-8;

doublea,x0,x;

pleaseinputa:

cin>

a;

x0=a/2;

x=(x0+a/x0)/2;

while(fabs(x-x0)>

eps)

{x0=x;

x=(x0+a/x0)/2;

7.已知两个正整数m和n,求其最大公约数。

{intm,n,r;

r=m%n;

while(r!

{m=n;

n=r;

r=m%n;

”最大公约数是”<

n<

8.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。

{inti;

for(i=100;

=200;

{if((i%3==2)&

(i%5==3)&

(i%7==2))

9.求100到999中的水仙花数。

所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。

例如,因为153=1

+5

+3

,所以153为水仙花数。

{inti,a,b,c;

=999;

{a=i/100;

b=(i-a*100)/10;

c=i-a*100-b*10;

if(i==a*a*a+b*b*b+c*c*c)cout<

Usingnamespacestd;

{intn,a,b,c;

for(a=1;

a<

a++)

for(b=0;

b++)

for(c=0;

c<

c++)

{n=a*100+b*10+c;

if(a*a*a+b*b*b+c*c*c==n)

”“;

10.求1000之内的所有完数。

所谓完数是指一个数恰好等于它的所有因子之和。

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

{inti,j,s;

for(i=1;

=1000;

{s=0;

for(j=1;

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

if(i==s)cout<

11.编一程序显示由符号组成的三角形图案。

例如,程序运行后,

屏幕显示:

Howmanylines?

用户输入:

5

Whatcharacter?

*

则输出如下图案。

*

***

*****

*******

*********

{inti,j,k,n;

charch;

Howmanylines?

\n"

n;

Whatcharacter?

=n;

{for(k=1;

k<

=n-i;

k++)cout<

=2*i-1;

j++)cout<

ch;

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

当前位置:首页 > 高中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1