C语言程序设计第23章习题答案魏为民Word格式.docx

上传人:b****5 文档编号:17488715 上传时间:2022-12-06 格式:DOCX 页数:18 大小:29.24KB
下载 相关 举报
C语言程序设计第23章习题答案魏为民Word格式.docx_第1页
第1页 / 共18页
C语言程序设计第23章习题答案魏为民Word格式.docx_第2页
第2页 / 共18页
C语言程序设计第23章习题答案魏为民Word格式.docx_第3页
第3页 / 共18页
C语言程序设计第23章习题答案魏为民Word格式.docx_第4页
第4页 / 共18页
C语言程序设计第23章习题答案魏为民Word格式.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

C语言程序设计第23章习题答案魏为民Word格式.docx

《C语言程序设计第23章习题答案魏为民Word格式.docx》由会员分享,可在线阅读,更多相关《C语言程序设计第23章习题答案魏为民Word格式.docx(18页珍藏版)》请在冰豆网上搜索。

C语言程序设计第23章习题答案魏为民Word格式.docx

!

y)的值是:

A)0B)语法错C)1D)"

假"

10.下面程序的输出结果是:

{inta=-1,b=4,k;

k=(a++<

=0)&

(!

(b--<

=0));

printf("

%d,%d,%d\n"

k,a,b);

A)1,1,2B)1,0,3C)0,1,2D)0,0,3

11.已知字母A的ASCII码为十进制的65,下面程序的输出是:

{charch1,ch2;

ch1='

+'

5'

-'

3'

;

ch2='

6'

%d,%c\n"

ch1,ch2);

A)67,DB)B,CC)C,DD)不确定的值

12.下面程序的输出的是

{intx=10,y=3;

%d\n"

y=x/y);

A)0B)1C)3D)不确定的值

二、程序设计题

1.从键盘上输入一个小写字母,编程输出其对应的大写字母以及它们的十进制ASCII码。

程序如下:

#include<

>

voidmain()

{

charch;

Pleaseinputalowercharacter:

"

);

ch=getchar();

Loweris%c,ASCIIis%d\n"

ch,ch);

Upperis%c,ASCIIis%d\n"

ch-32,ch-32);

2.一个水分子的质量约为×

10-23g,1夸脱水大约950g。

编写一个程序,要求输入水的夸脱数,然后显示这么多水中包含多少水分子。

doubleq,m;

Pleaseinputthequalityofwater(quart):

scanf("

%lf"

&

q);

m=q*;

Themoleculusof%fquartwateris%e\n"

q,m);

3.写出下列程序的运行结果:

charc1=’a’,c2=’b’,c3=’c’,c4=’\101’,c5=’\116’;

printf(“a%cb%c\tc%c\tabc\n”,c1,c2,c3);

printf(“\t\b%c%c\n”,c4,c5);

运行结果:

aabbccabc

AN

4.若a=3,b=4,c=5,x=,y=,z=,u=51274,n=128765,c1='

,c2='

b'

写出程序,使之输出下面的结果。

a=3b=4c=5

x=,y=,z=

x+y=y+z=z+x=

u=51274n=127865

c1=‘a’orc1=97

c2=‘b’orc2=98

inta=3,b=4,c=5;

doublex=,y=,z=;

unsignedintu=51274,n=128765;

charc1='

c2='

a=%db=%dc=%d\n"

a,b,c);

x=%f,y=%f,z=%f\n"

x,y,z);

x+y=%y+z=%z+x=%\n"

x+y,y+z,z+x);

u=%un=%u\n"

u,n);

c1='

%c'

orc1=%d\n"

c1,c1);

c2='

orc2=%d\n"

c2,c2);

5.用下面的scanf函数输入数据,使a=3,b=7,x=,y=,c1='

说明在键盘上如何输入数据。

inta,b;

floatx,y;

charc1,c2;

scanf(“a=%db=%d”,&

a,&

b);

scanf(“x=%fy=%e”,&

x,&

y);

scanf(“c1=%c,c2=%c”,&

c1,&

c2);

输入数据:

a=3b=7x=y==A,c2=a<

回车>

验证程序:

a=%db=%d"

x=%fy=%e"

c1=%c,c2=%c"

a=%db=%d\n"

a,b);

x=%.2fy=%.2f\n"

x,y);

c1=%c,c2=%c\n"

c1,c2);

6.编写程序,输入一个华氏温度,求出相应的摄氏温度(输出结果保留两位有效数字)。

公式为:

floatf,c;

Pleaseinputf="

%f"

f);

c=9*(f-32);

f=%,c=%\n"

f,c);

习题3

1.设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中值为0的表达式是

A)'

B)a<

=b

C)a||b+c&

b-cD)!

((a<

b)&

c||1)

2.设x.y.z.t均为int型变量,则执行以下语句后,t的值为

x=y=z=1;

t=++x||++y&

++z;

A)不定值B)4C)1D)0

3.若运行下面程序时,给变量a输入15,则输出结果是()。

main()

{inta,b;

%d"

&

a);

b=a>

15a+10:

a-10;

b);

A)5B)25C)15D)10

4.下面程序的输出结果是

{inta=2,b=7,c=5;

switch(a>

0)

{case1:

switch(b<

@"

break;

case0:

}

switch(c==5)

{case0:

*"

case1:

#"

default:

%%"

break;

}printf("

\n"

A)&

B)!

#&

C)%%D)@*&

5.以下程序的运行结果是()。

{inta=0,b=1,c=0,d=20,x;

if(a)d=d-10;

elseif(!

b)

if(!

c)x=15;

elsex=25;

d);

A)15B)25C)20D)10

6.若k是int型变量,且有下面的程序片段:

k=8;

if(k<

=0)

if(k==0)printf("

####"

elseprintf("

elseprintf("

****"

上面程序片段的输出结果是

A)####B)&

C)****D)有语法错误,无输出结果

D(第一个printf语句少分号)

7.假定所有变量均已正确说明,下列程序段运行后x的值是

a=b=c=0;

x=35;

if(!

a)x--;

elseif(b);

if(c)x=3;

elsex=4;

A)34B)4C)35D)3

8.若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是

for(i=5;

i;

i--)

for(j=0;

j<

4;

j++){...}

A)20B)25C)24D)30

9.设i,j,k均为int型变量,则执行完下面的for循环后,k的值为

for(i=0,j=10;

i<

=j;

i++,j--)k=i+j;

A)12B)10C)11D)9

10.有以下程序段

intk=0;

while(k=1)k++;

while循环执行的次数是

A)无限次B)有语法错,不能执行C)一次也不执行D)执行一次

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

A)do-while的循环体至少无条件执行一次

B)while的循环控制条件比do-while的循环控制条件严格

C)do-while允许从外部转到循环体内

D)do-while的循环体不能是复合语句

12.以下叙述正确的是()。

A)continue语句的作用是结束整个循环的执行

B)只能在循环体内和switch语句体内使用break语句

C)在循环体内使用break语句或continue语句的作用相同

D)从多层循环嵌套中退出时,只能使用goto语句

13.对下面程序段,描述正确的是()。

for(t=1;

t<

=100;

t++)

{scanf("

x);

if(x<

0)continue;

t);

A)当x<

0时,整个循环结束B)当x>

=0时,什么也不输出

C)printf函数永远也不执行D)最多允许输出100个非负整数

14.以下程序的输出结果是()。

{inti;

for(i=1;

=5;

i++)

if(i%2)

elsecontinue;

$\n"

A)***#$B)#*#*#*$C)*#*#*#$D)**#*$

15.以下程序的输出结果是()。

{intcount,i=0;

for(count=1;

count<

=4;

count++)

{i+=2;

i);

A)20B)246C)2468D)2222

16.下面程序的输出结果是()。

{unsignedintnum,k;

num=26;

k=1;

do{

k*=num%10;

num/=10;

}while(num);

k);

A)2B)12C)60D)18

17.下面程序的输出结果是()。

{intx=10,y=10,i;

for(i=0;

x>

8;

y=++i)

%d%d"

x--,y);

A)10192B)9876C)10990D)101091

18.设有以下程序

{intn1,n2;

n2);

while(n2!

{n1=n2%10;

n2=n2/10;

n1);

程序运行后,如果从键盘上输入1298,则输出结果为(8921)。

8921

19.下面程序的运行结果是()。

{ints=0,i=1;

while(s<

=10)

{s=s+i*i;

i++;

--i);

A)4B)3C)5D)6

20.以下程序运行后的输出结果是()。

{ints=0,k;

for(k=7;

k>

=0;

k--)

{switch(k)

{

case4:

case7:

s++;

case2:

case3:

case6:

case5:

s+=2;

s=%d\n"

s);

A)s=5B)s=1C)s=3D)s=7

21.下面程序的功能是:

计算1到10之间奇数之和及偶数之和,请填空。

{inta,b,c,i;

a=c=0;

=10;

i+=2)

{a+=i;

______;

c+=b;

偶数之和=%d\n"

a);

奇数之和=%d\n"

c-11);

A)i+=2B)i++C)b=b+1D)b=i+1

22.运行以下程序后,如果从键盘上输入12,8<

,则输出结果为()。

{inta,b,n1,n2,t;

%d,%d"

n1,&

if(n1>

n2)

{t=n1;

n1=n2;

n2=t;

a=n1;

b=n2;

while(b!

{t=a%b;

a=b;

b=t;

%d,%d\n"

a,n1*n2/a);

A)2,6B)4,24C)4,12D)8,96

1.输入一个实数x,计算并输出下式的值,直到最后一项的绝对值小于10-5(保留两位小数)。

floatx;

intn=1;

floats=,term;

Pleaseinputthex:

term=*x/n;

while(fabs(term)>

10e-5)

s=s+term;

n=n+1;

term=term*x/n;

Theresultis:

%.2f\n"

2.输入园的半径r,求该圆的周长、面积。

结果保留两位小数。

#include<

voidmain()

{

floatpi=,s,c,r;

请输入圆的半径:

r);

s=pi*r*r;

c=2*pi*r;

圆的面积为:

%f,周长为:

%f\n"

s,c);

3.有一分数序列,求出这个数列前20项之和。

inti,n=20;

doubles=0,a,b,c;

for(a=2,b=1,s=0,i=1;

i<

=n;

i++){

s+=a/b;

c=b,b=a,a=a+c;

..=%d\n"

sn);

7.编写一程序,功能是输入一个整数,将它反向输出。

例如,输入12345,则输出54321。

voidmain()

intx;

inputx:

"

scanf("

while(x>

0){

%d"

x%10);

x=x/10;

8.编程解决数学题:

有一长阶梯,若每步跨2阶,最后剩1阶;

若每步跨3阶,最后剩2阶;

若每步跨5阶,最后剩4阶;

若每步跨6阶,最后剩5阶;

只有每步跨7阶,最后才正好1阶不剩。

问这条阶梯共有多少阶

intStep=0;

while

(1)

if((Step%2==1)&

(Step%3==2)&

(Step%5==4)&

(Step%6==5)&

(Step%7==0))break;

Step++;

TheStepis%d\n"

Step);

9.编程解决三色球问题。

若一个口袋中放有12个球,其中3个红色球,3个白色球,6个黑色球,从中任取8个球,问共有多少种不同的颜色搭配

intwhite,red,black,count=0;

for(white=1;

white<

=3;

white++)

for(red=1;

red<

red++)

{

black=8-white-red;

if(black<

=6){

count=count+1;

printf("

white\t%d\tred\t%d\tblack\t%d\n"

white,red,black);

}

Thetotalis%d\n"

count);

10.一位百万富翁遇到一位陌生人,陌生人找他谈一个换钱计划:

我每天给您10万元,而您第1天只需要给我1分钱,第2天我仍然给您10万元,您只需要给我2分钱,第3天我仍然给您10万元,您只需要给我4分钱……您每天给我的钱是前一天的2倍,直到30天后,计划终止。

请编写一个程序,如果按计划执行,计算30天后富翁给了陌生人多少钱,陌生人给了富翁多少钱。

intn;

doublet=,MillionairePay=,StrangerPay=;

for(n=1;

n<

=30;

n++)

StrangerPay=StrangerPay+;

MillionairePay=MillionairePay+t;

t=t*2;

Millionairepay:

%.2lf\n"

MillionairePay);

Strangerpay:

StrangerPay);

Strangergain:

MillionairePay-StrangerPay);

11.编程:

输入整数n,输出n的所有质因子。

例如n=13860,则输出:

2,2,3,3,5,7,11。

inti,n,k,flag=0;

Pleaseinputn="

n);

do

flag=0;

for(i=2;

if(n%i==0){flag=1;

k=i;

}

if(flag==1)

printf("

k);

n=n/k;

}while(n!

=1);

精心搜集整理,只为你的需要

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

当前位置:首页 > PPT模板 > 卡通动漫

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

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