C语言第五六章补充作业答案.docx

上传人:b****1 文档编号:14244851 上传时间:2023-06-21 格式:DOCX 页数:20 大小:26.68KB
下载 相关 举报
C语言第五六章补充作业答案.docx_第1页
第1页 / 共20页
C语言第五六章补充作业答案.docx_第2页
第2页 / 共20页
C语言第五六章补充作业答案.docx_第3页
第3页 / 共20页
C语言第五六章补充作业答案.docx_第4页
第4页 / 共20页
C语言第五六章补充作业答案.docx_第5页
第5页 / 共20页
C语言第五六章补充作业答案.docx_第6页
第6页 / 共20页
C语言第五六章补充作业答案.docx_第7页
第7页 / 共20页
C语言第五六章补充作业答案.docx_第8页
第8页 / 共20页
C语言第五六章补充作业答案.docx_第9页
第9页 / 共20页
C语言第五六章补充作业答案.docx_第10页
第10页 / 共20页
C语言第五六章补充作业答案.docx_第11页
第11页 / 共20页
C语言第五六章补充作业答案.docx_第12页
第12页 / 共20页
C语言第五六章补充作业答案.docx_第13页
第13页 / 共20页
C语言第五六章补充作业答案.docx_第14页
第14页 / 共20页
C语言第五六章补充作业答案.docx_第15页
第15页 / 共20页
C语言第五六章补充作业答案.docx_第16页
第16页 / 共20页
C语言第五六章补充作业答案.docx_第17页
第17页 / 共20页
C语言第五六章补充作业答案.docx_第18页
第18页 / 共20页
C语言第五六章补充作业答案.docx_第19页
第19页 / 共20页
C语言第五六章补充作业答案.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言第五六章补充作业答案.docx

《C语言第五六章补充作业答案.docx》由会员分享,可在线阅读,更多相关《C语言第五六章补充作业答案.docx(20页珍藏版)》请在冰点文库上搜索。

C语言第五六章补充作业答案.docx

C语言第五六章补充作业答案

第五章 补充作业

【题1】表示图中坐标轴上阴影部分的正确表达式是  C  。

////////

////////

                            X

abc

A)(x<=a)&&(x>=b)&&(x<=c)

B)(x<=a)||(b<=x<=c)

C)(x<=a)||(x>=b)&&(x<=c)

D)(x<=a)&&(b<=x<=c)

【题2】判断char型变量ch是否为大写字母的正确表达式是  C  。

A)‘A’<=ch<=‘Z’B)(ch>=‘A’)&(ch<=‘Z’)

C)(ch>=‘A’)&&(ch<=‘Z’)D)(‘A’<=ch)AND(‘Z’>=ch)

【题3】设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是  D  。

A)‘x’&&‘y’

B)x<=y

C)x||y+z&&y-z

D)!

((x

z||1)

【题4】已知x=43,ch=‘A’,y=0;则表达式(x>=y&&ch<‘B’&&!

y)的值是 C  。

A)0B)语法错C)1D)“假”

【题5】设有:

inta=1,b=2,c=3,d=4,m=2,n=2;

执行(m=a>b)&&(n=c>d)后n的值为  B  。

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

【题6】以下程序的运行结果是  B  。

#include“stdio.h”

main()

{

inta,b,d=241;

a=d/100%9;

b=(-1)&&(-1);

printf(“%d,%d”,a,b);

}

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

【题7】执行以下语句后a的值为【D】,b的值为【A】。

inta=5,b=6,w=1,x=2,y=3,z=4;

(a=w>x)&&(b=y>z);

++a||++b&&++c;

【1】A)5B)0C)2D)1

【2】A)6B)0C)1D)4

 

【题8】有一函数关系见下表:

x

y=

x<0

x-1

x=0

x

x>0

x+1

下面程序段中能正确表示上面关系的是  C  。

A)y=x+1;B)y=x-1;

if(x>=0)if(x!

=0)

if(x==0)y=x;if(x>0)y=x+1;

elsey=x-1;elsey=x;

C)if(x<=0)D)y=x;

if(x<0)y=x-1;if(x<=0)

elsey=x;if(x<0)y=x-1;

elsey=x+1;elsey=x+1;

【题9】以下程序的运行结果是 D   。

main()

{

intk=4,a=3,b=2,c=1;

printf(“\n%d\n”,k

k:

c

c:

a);

}

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

【题10】执行以下程序段后,变量a,b,c的值分别是  B  。

intx=10,y=9;

inta,b,c;

a=(--x==y++)?

--x:

++y;

b=x++;

c=y;

A)a=9,b=9,c=9B)a=8,b=8,c=10

C)a=9,b=10,c=9D)a=1,b=11,c=10

【题11】以下程序的运行结果是  5  251。

#include

voidmain(void)

{

intx=1,y,z;

x*=3+2;

printf(“%d\t”,x);

x*=y=z=5;

printf(“%d\t”,x);

x=y==z;

printf(“%d\n”,x);

}

【题12】当a=3,b=2,c=1时,表达式f=a>b>c的值是【0】。

【题13】若a=6,b=4,c=2,则表达式!

(a-b)+c-1&&b+c/2的值是【1 】。

【题14】设有变量定义:

inta=10,c=9;则表达式(--a!

=c++)?

--a:

++c的值是【11 】。

【题15】若a=2,b=4,则表达式!

(x=a)||(y=b)&&0的值是【0 】。

【题16】若a=3,b=4,c=5,则表达式a||b+c&&b==c的值是【 1】。

【题17】以下程序的运行结果是 1,1   。

main()

{

intx,y,z;

x=1;y=2;z=3;

x=y--<=x||x+y!

=z;

printf(“%d,%d”,x,y);

}

【题18】请阅读以下程序:

main()

{

intt,h,m;

scanf(“%d”,&t);

h=(t/100)%12;

if(h==0)h=12;

printf(“%d”,h);

m=t%100;

if(m<10)printf(“0”);

printf(“%d”,m);

if(t<1200||t==2400)

printf(“AM”);

elseprintf(“PM”);

}

若运行时输入:

1605<回车>时,程序的运行结果是 405PM   。

【题19】以下程序实现:

输入三个整数,按从大到小的顺序进行输出。

请在【】内填入正确内容。

main()

{

intx,y,z,c;

scanf(“%d%d%d”,&x,&y,&z);

if(【z>y】)

{c=y;y=z;z=c;}

if(【z>x】)

{c=x;x=z;z=c;}

if(【y>x】)

{c=x;x=y;y=c;}

printf(“%d,%d,%d”,x,y,z);

}

【题5.20】以下程序对输入的一个小写字母,将字母循环后移5个位置后输出。

如‘a’变成‘f’,‘w’变成‘b’。

请在【】内填入正确内容。

#include“stdio.h”

main()

{

charc;

c=getchar();

if(c>=‘a’&&c<=‘u’)【c+=5】;

elseif(c>=‘v’&&c<=‘z’)【c-=21】;

putchar(c);

}

【题5.21】以下程序根据输入的三角形的三边判断是否能组成三角形,若可以则输出它的面积和三角形的类型。

请在【】内填入正确内容。

#include“math.h”

main()

{

floata,b,c;

floats,area;

scanf(“%f%f%f”,&a,&b,&c);

if(【fabs(a*b*c)>1e-6&&(a+b>c&&a+c>b&&b+c>a)】)

{

s=(a+b+c)/2;

area=sqrt(s*(s-a)*(s-b)*(s-c));

printf(“%f”,area);

if(【a==b&&b==c】)

printf(“等边三角形”);

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

printf(“等腰三角形”);

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

printf(“直角三角形”);

elseprintf(“一般三角形”);

}

elseprintf(“不能组成三角形”);

}

【题5.22】执行以下的C语言程序段后,a=【10】,b=【9】,c=【11】。

intx=10,y=9;

inta,b,c;

a=(x--==y++)?

x--:

y++;

b=x++;

c=y;

【题5.23】设有intx=1,y=0;,则以下表达式的值为【 ‘A’】。

x-->(y+x)?

10:

12.5>y++?

‘A’:

‘Z’

【题5.24】以下程序段的运行结果是 **1**

**3**   。

intx=1,y=0;

switch(x)

{

case1:

switch(y)

{

case0:

printf(“**1**\n”);break;

case1:

printf(“**2**\n”);break;

}

case2:

printf(“**3**\n”);

}

【题5.25】某个自动加油站有‘a’,‘b’,‘c’三种汽油,单价分别为1.50,1.35,1.18(元/千克),也提供了“自己加”或“协助加”两个服务等级,这样用户可以得到5%或10%的优惠。

本程序针对用户输入加油量a,汽油品种b和服务类型c(‘f’――自动,‘m’――自己,‘e’――协助),输出应付款m。

请在【】内填入正确内容。

main()

{

floata,r1,r2,m;

charb,c;

scanf(“%f%c%c”,&a,&b,&c);

switch(b)

{

case‘a’:

r1=1.5;break;

case‘b’:

【r1=1.35】;break;

case‘c’:

r1=1.18;break;

}

switch(c)

{

case‘f’:

r2=0;break;

case‘m’:

r2=0.05;break;

case【‘e’】:

r2=0.1;break;

}

m=【a*r1*(1-r2)】;

printf(“%f”,m);

}

第六章 补充作业

【题1】设有以下程序段

intx=0,s=0;

while(!

x!

=0)s+=++x;

printf(“%d”,s);

则  B  。

A)运行程序段后输出0B)运行程序段后输出1

C)程序段中的控制表达式是非法的D)程序段执行无限次

【题2】语句while(!

E);中的表达式!

E等价于 A   。

A)E==0B)E!

=1C)E!

=0D)E==1

【题3】下面程序段的运行结果是  A  。

a=1;b=2;c=2;

while(a

printf(“%d,%d,%d”,a,b,c);

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

【题4】设有程序段

t=0;

while(printf(“*”))

{

t++;

if(t<3)break;

}

则下面描述正确的是 B   。

A)其中循环控制表达式与0等价B)其中循环控制表达式与‘0’等价

C)其中循环控制表达式是不合法的D)以上说法都不对

【题5】下面程序的功能是将从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m、n中的较大者,请选择填空。

#include

main()

{

intm=0,n=0;

charc;

while((【A】)!

=‘\n’)

{

if(c>=‘A’&&c<=‘Z’)m++;

if(c>=‘a’&&c<=‘z’)n++;

}

printf(“%d\n”,m

【A】);

}

【1】A)c=getchar()B)getchar()C)scanf(“%c”,c)

【2】A)n:

mB)m:

nC)m:

mD)n:

n

【题6】若运行以下程序时,从键盘输入2473<回车>,则下面程序的运行结果是  A  。

#include

main()

{

intc;

while((c=getchar())!

=‘\n’)

switch(c-‘2’)

{

case0:

case1:

putchar(c+4);

case2:

putchar(c+4);break;

case3:

putchar(c+3);

default:

putchar(c+2);break;

}

printf(“\n”);

}

A)668977B)668966C)66778777D)6688766

【题7】以下能正确计算1×2×3×…×10的程序段是  C  。

A)do{i=1;s=1;B)do{i=1;s=0;

   s=s*i;s=s*i;

i++;i++;

}while(i<=10);}while(i<=10);

C)i=1;s=1;D)i=1;s=0;

do{s=s*i;do{s=s*i;

i++;i++;

}while(i<=10);}while(i<=10);

【题8】若有如下语句

intx=3;

do{printf(“%d\n”,x-=2);}while(!

(--x));

则上面程序段  B  。

A)输出的是1B)输出的是1和-2C)输出的是3和0D)是死循环

【题9】下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除。

请选择填空。

#include

main()

{

inti=0,j,k;

do{i++;k=316-13*i;}while( B );

j=k/11;

printf(“316=13*%d+11*%d”,i,j);

}

A)k/11B)k%11C)k/11==0D)k%11==0

【题10】下面程序的运行结果是  B  。

#include

main()

{

inta=1,b=10;

do{b-=a;a++;}while(b--<0);

printf(“a=%d,b=%d\n”,a,b);

}

A)a=3,b=11B)a=2,b=8C)a=1,b=-1D)a=4,b=9

【题11】以下for循环的执行次数是  C  。

for(x=0,y=0;(y=123)&&(x<4);x++)

A)是无限循环B)循环次数不定C)执行4次D)执行3次

【题12】以下不是无限循环的语句为  A  。

A)for(y=0,x=1;x>++y;x=i++)i=x

B)for(;;x++=i);

C)while

(1){x++;}

D)for(i=10;;i--)sum+=i;

【题13】下面程序段的运行结果是 C   。

for(y=1;y<10;)y=((x=3*y,x+1),x-1);

printf(“x=%d,y=%d”,x,y);

A)x=27,y=27B)x=12,y=13C)x=15,y=14D)x=y=27

【题14】有一堆零件(100到200之间),如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。

下面程序是求这堆零件总数,请选择填空。

#include

main()

{

inti;

for(i=100;i<200;i++)

if((i-2)%4==0)

if(!

((i-3)%7))

if( D  )

printf(“%d”,i);

}

A)i%9=5B)i%9!

=5C)(i-5)%9!

=0D)i%9==5

【题15】下面程序是输出一个正整数等差数列的前十项,此数列前四项之和及之积分别是26和880,请选择填空。

#include

main()

{

inta,d,i,s,f,x;/*a是第一项*/

for(a=1;a<30;a++)

for(d=1;【C】;d++)

{

s=0;f=1;x=a;

for(i=1;i<=4;i++)

{

s=s+x;

f=f*x;

x=x+d;

}

if(s==26&&f==880)

for(i=0;i<10;i++)

printf(“%3d”,【A】);

}

printf(“\n”);

}

【1】A)d<=aB)空C)d<=5D)d

【2】A)a+i*dB)i*dC)a+(i+1)*dD)a+d

【题16】下面程序的功能是用公式

求π的近似值,直到最后一项的小于10-6为止。

请填空。

#include

#include

main()

{

longi=1;

【double】pi=0;

while(i*i<=10e+6){pi=【pi+1.0/(i*i)】;i++;}

pi=sqrt(6.0*pi);

printf(“pi=%10.6f\n”,pi);

}

【题17】有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?

请填空。

#include

main()

{

intday,x1,x2;

day=0;x1=1020;

while(【x1】){x2=【x1/2-2】;x1=x2;day++;}

printf(“day=%d\n”,day);

}

【题18】下面程序的功能是统计正整数的各位数字中零的个数,并求各位数字中的最大者。

请填空。

#include

main()

{

intn,count,max,t;

count=max=0;

scanf(“%d”,&n);

do{

t=【n%10】;

if(t==0)++count;

elseif(max

n/=10;

}while(n);

printf(“count=%d,max=%d”,count,max);

}

【题19】下面程序的功能是求出用数字0至9可以组成多少个没有重复的三位偶数。

请填空。

#include

main()

{

intn,i,j,k;

n=0;

for(i=1;i<=9;i++)

for(k=0;k<=8;【k+=2】)

if(k!

=i)

for(j=0;j<=9;j++)

if(【j!

=i&&j!

=k】)n++;

printf(“n=%d\n”,n);

}

【题20】下面程序的功能是输出1至100之间每位数的乘积大于每位数的和的数。

请填空。

#include

main()

{

intn,k=1,s=0,m;

for(n=1;n<=100;n++)

{

k=1;s=0;

【m=n】;

while(【m】)

{

k*=m%10;

s+=m%10;

【m/=10】;

}

if(k>s)printf(“%d”,n);

}

}

【题21】下面程序的运行结果是 2581114   。

#include

main()

{

inti=1;

while(i<=15)

if(++i%3!

=2)continue;

elseprintf(“%d”,i);

printf(“\n”);

}

【题22】下面程序的运行结果是 i=6,k=4  。

#include

main()

{

inti,j,k=19;

while(i=k-1)

{

k-=3;

if(k%5==0){i++;continue;}

elseif(k<5)break;

i++;

}

printf(“i=%d,k=%d\n”,i,k);

}

编程题

【题1】编程实现以下功能:

读入两个运算数(data1和data2)及一个运算符(op),计算表达式data1opdata2的值,其中op可为+,-,*,/(用switch语句实现)。

【题2】每个苹果0.8元,第一天买2个苹果,第二天开始,每天买前一天的2倍,直至购买的苹果个数达到不超过100的最大值。

编写程序求每天平均花多少钱?

解:

#include

main()

{

intday=0,buy=2;

floatsum=0.0,ave;

do

{

sum+=0.8*buy;

day++;

buy*=2;

}

while(buy<=100);

ave=sum/day;

printf(“%f”,ave);

}

【题3】编写程序,从键盘输入6名学生的5门成绩,分别统计出每个学生的平均成绩。

解:

#include

main()

{

inti,j;

floatg,sum,ave;

for(i=1;i<=6;i++)

{

sum=0;

for(j=1;j<=5;j++)

{

scanf(“%f”,&g);

sum+=g;

}

ave=sum/5;

printf(“No.%dave=%5.2f\n”,i,ave);

}

}

键盘输入:

9570736764

6065778690

7193638090

8783919589

10093899285

5263667071

运行结果:

No.1ave=73.80

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

当前位置:首页 > 自然科学 > 物理

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

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