您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 《C语言程序设计教程》(第三版)李凤霞-主编——第四章习题答案
第四章习题参考答案一、单项选择题(P83)1、putchar()函数可以向屏幕输出一个()A)整形变量值B)实型变量值C)字符D)字符或字符变量值2、以下选项中不是C语句的是()。A){inti;i++;printf(%d\n,i);}B);C)a=5,c=10D){;}3、以下合法的C语句是()。A){a=b};B)k=int(a+b);C)k=a+b=c;D)--i;4、执行以下程序段后,c3的值是()。intc1=1,c2=2,c3;c3=c1/c2;A)0B)1/2C)0.5D)15、若inta,b,c;则为它们输入数据的正确的语句是()。A)read(a,b,c);B)scanf(%d%d%d,a,b,c);C)scanf(%D%D%D,&a,&b,&c);D)scanf(%d%d%d,&a,&b,&c);6、若floata,b,c;要通过语句:scanf(%f%f%f,&a,&b,&c);分别为a,b,c输入10,22,23。以下不正确的输入形式是()。A)10B)10.0,22.0,33.0C)10.0D)10222222.033.033337、若在键盘上输入:283.1900,想使单精度实型变量c的值为283.19,则正确的输入语句是()。A)scanf(%f,&c);B)scanf(8.4f,&c);C)scanf(%6.2f,&c);D)scanf(8f,&c);8、执行语句:printf(|%10.5f|\n,12345.678);的输出是()。A)|2345.67800|B)|12345.6780|C)|12345.67800|D)|12345.678|9、若有以下程序段,其输出结果是()。inta=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);printf(%d,%d,%d\n,a,b,c);A)3,0,-10B)0,0,5C)-10,3,-10D)3,0,310、若a为int类型,且a=125,执行下列语句后的输出是()。printf(%d,%o,%x\n,a,a+1,a+2);A)125,175,7DB)125,176,7fC)125,176,7DD)125,175,2F二、填空题1.{a=3;c+=a-b;}在语法上被认为是________条语句,空语句的形式是______。(一条;)2.若floatx;以下程序段的输出结果是__________。(5.169000)x=5.16894printf(%f\n,(int)(x*1000+0.5)/(float)1000);3.以下程序段中输出语句执行后的结果依次是___________、__________、__________。(1)-2002500(2)i=-200,j=2500(3)i=-200j=2500inti=-200,j=2500;printf((1)%d%d,i,j);printf((2)i=%d,j=%d\n,i,j);printf((3)i=%d\nj=%d\n,i,j);4.当运行以下程序时,在键盘上从第一列开始输入9876543210cr(此处cr代表按回车键),则程序的输出结果是__________。(a=98,b=765.000000,c=4321.000000)main(){inta;floatb,c;scanf(%2d%3f%4f,&a,&b,&c);printf(\na=%d,b=%f,c=%f\n,a,b,c);}5.以下程序段要求通过scanf函数给变量赋制,然后输出变量的值。写出运行时给k输入100,给a输入25.81,给x输入1.89234时的三种可能输入形式__________、__________和__________。intk;floata;doublex;scanf(%d%f%lf,&k,&a,&x);printf(k=%d,a=%f,x=%f\n,k,a,x);三种可能的输入是:(1)100回车25.81回车1.89234回车(2)100空格25.81空格1.89234回车(3)100TAB25.81TAB1.89234回车6.执行下列程序段后,输出结果是__________。(0,0,3)inta,b,c;a=b=c=0;c=(a-=a-3,a=b,b+3);printf(%d,%d,%d\n,a,b,c);7.下面程序的输出结果是________。(3)main(){intx=10,y=3,z;printf(%d\n,z=(x%y,x/y));}8.若doublea,b,c;要求为a、b、c分别输入10、20、30。输入序列为:(□表示空格)□10.0□□20.0□□30.0则正确的输入语句是_____________。(输入语句的格式是:scanf(%lf%lf%lf,&a,&b,&c);)9.下面程序的输出结果是__________。(1313.00000013.000000)main(){doublea;floatb;intc;c=b=a=40/3;printf(%d%f%f\n,c,b,a);}10.若有inta=10,b=20,c=30;则能使a和c的值互换的语句是________。三种方法:(1)增加一个临时变量t。t=a;a=c;c=t;(2)a=a+c;c=a-c;a=a-c;(3)a=a+b;c=c-b;三、编程题1、编写程序,输出如下信息:**********************************verygood!**********************************main(){printf(***************************\n);printf(verygood!\n);printf(***************************\n);}2、编些程序,输入9时23分并把它化成分钟后输出。(从零点开始计算)main(){inthour,min;scanf(%d,%d,&hour,&min);min=60*hour+min;printf(%d\n,min);}3、编写程序,分别转换摄氏温度-10℃,0℃,15℃,34℃为华氏温度,摄氏温度与华氏温度满足下列关系式(C表示摄氏温度,F表示华氏温度)C=(5/9)(f-32)main(){floatc,f;scanf(%f,&c);f=32+9.0*c/5;printf(%f\n,f);}按题目要求分别输入-10,0,15和34计算相应的华氏温度。4、设圆半径为5,编写成,求圆的周长和圆面积。main(){floatr,l,s;scanf(%f,&r);l=2*3.141592*r;s=3.14159*r*r;printf(r=%f,l=%f,s=%f\n,r,l,s);}5、编写程序,输入三角形的3个边长A、B、C,求三角形的面积搜索。公式为:))()((csbsassSS其中,s=(a+b+c)/2#includemath.hmain(){floata,b,c,s,area;scanf(%f,%f,%f,&a,&b,&c);if((a+bc)||(a+cb)||(b+ca))/*判断两边之和大于第三边*/{s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c));/*调用开方函数,计算面积*/printf(area=%f\n,area);}}6、设a=3,b=4,c=5,d=1.2,e=2.23,f=-43.56,编写程序,使程序输出:a=□□3,b=4□□□,c=**5d=1.2e=□□2.23f=-43.56□□**main(){inta=3,b=4,c=5;floatd=1.2,e=2.23,f=-43.56;printf(a=%3d,b=%-4d,c=**%d\n,a,b,c);printf(d=%3.1f\ne=%6.2f\nf=%-10.4f**,d,e,f);}7、编写程序,读入3个整数给a,b,c,然后交换它们中的数,使a存放b的值,b存放c的值,c存放a的值。main(){inta,b,c,t;scanf(%d,%d,%d,&a,&b,&c);printf(a=%d,b=%d,c=%d\n,a,b,c);t=a;a=b;b=c;c=t;printf(a=%d,b=%d,c=%d\n,a,b,c);}8、编写程序输入3个数a,b,c,求它们的平均值,并安如下形式输出:averageof**、**and**is**.**其中,3个数**依次表示a,b,c的值,**.**表示a,b,c的平均值main(){floata,b,c,aver;printf(“Pleaseinputthreenumbers:\n”);scanf(%f,%f,%f,&a,&b,&c);aver=(a+b+c)/3;printf(averageof%5.2f,%5.2fand%5.2fis%5.2f,a,b,c,aver);}9、执行下列程序,按制定方式输入(□表示空格),能否得到指定的输出结果?若不能,请修改程序,使之能得到指定的输出结果。输出:2□3□4输出:a=2,b=3,c=4x=6,y=24main(){inta,b,c,x,y;scanf(%d%d%d,&a,&b,&c);x=a*b;y=x*c;printf(a=%d,b=%d,c=%d\n,a,b,c);printf(x=%d,y=%d\n,x,y);}
本文标题:《C语言程序设计教程》(第三版)李凤霞-主编——第四章习题答案
链接地址:https://www.777doc.com/doc-5710776 .html