C语言实验报告第3章答案.doc_第1页
C语言实验报告第3章答案.doc_第2页
C语言实验报告第3章答案.doc_第3页
C语言实验报告第3章答案.doc_第4页
C语言实验报告第3章答案.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

3.2基础实验一、程序分析1.以下程序若输入a,则输入格式为:_c1=a_;运行结果为:_a,A_。#includeintmain( )char c1,c2;scanf(“c1=%c”,&c1);c2=c1-32;printf(“%c,%cn”,c1,c2);return 0;2.以下程序如果使得a的值为2、b的值为3,则输入格式为:_a=2,b=3_;运行结果为:_2,3_。#includeintmain( ) int a,b;scanf(“a=%d,b=%d”,&a,&b);printf(“%d,%dn”,a,b); return 0;3.以下程序若输入12.3、7.6、1.1,则输入格式为:_12.3 7.6 1.1_;运行结果为:_aver=7.00_。#includeintmain( ) floata,b,c,d;scanf(“%f%f%f”,&a,&b,&c);d=(a+b+c)/3;printf(“aver=%.2f”,d); return 0;二、程序填空1.输入一个四位整数,求各位数字之和(如1234,则结果为1+2+3+4=10)。若输入3562,则运行结果为:_3+5+6+2=16_。#include intmain( ) int n,a,b,c,d,m;scanf(“%d”,&n);a=n%10;b=(n/10)%10;c=(n/100)%10;d=_n/1000_;m=_a+b+c+d_;printf(“%d+%d+%d+%d=%dn ”, d,c,b,a,m); return 0;2.给定一个华氏法表示的温度值,将其转换为摄氏法表示的温度,转换公式为则运行结果为:_f=64.00,c=17.78_。#include intmain ( ) float f,c; f=64.0; c=_(f-32)*5.0/9.0_; printf(“f=%.2f,c=%5.2fn”,f,c); return 0; 三、程序改错1. 分析以下程序段,找出错误并改正。行号源程序12345678#includemain ( )int i; float k;scanf(“i=%d”,i);k=3.12*i;printf(“%.2fn ”,k);return 0;找错错误在4行应改为:scanf(“i=%d”,&i);调试正确后的运行结果输入数据: i=17 运行结果:53.042. 分析以下程序段,找出错误并改正。行号源程序12345678#includemain( ) char a;int b;float c;double d;scanf(“%c,%d,%f,%lf”,&a,&b,&c,&d);putchar(an);printf(“%d,%0.2f,%.2lfn”,b,c,d);return 0;找错错误在5行应改为:putchar(a); putchar(“n”);调试正确后的运行结果输入数据: A,19,12.3,10.98运行结果:A19,12.30,10.98四、程序设计1.对输入的字符进行加密,加密规则为“输入4个字符,将每个字符加4后转换成加密字符”,如输入“Ab2c”则加密后的字符序列为“Ef6g”。1. #include intmain( ) char c1,c2,c3,c4;scanf(“%c%c%c%c”,&c1,&c2,&c3,&c4); c1+=4;c2+=4;c3+=4;c4+=4;printf(“%c%c%c%c n”,c1,c2,c3,c4); return 0;3.3拓展实验一、程序分析1.以下程序若输入3.4、12.0、8.9,则输入格式为:3.4,12.0,8.9,运行结果为:7.20。#include #include intmain( )float a,b,c;float s,area;scanf(“%f,%f,%f” ,&a,&b,&c);s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c);printf(“%.2fn”,area);return 0;2.以下程序若输入C和2,则运行结果分别为:_F和5_。#include intmain( )char c1;int c2=0;c1=getchar( );c2=c1+3;putchar( );putchar(c2); putchar( ); return 0;二、程序填空1.以下程序实现按由大到小顺序输出任意两个整数。若输入3562,则运行结果为:_62,35_。#include int main( )int m,n;scanf(“%d%d”,_&m,&n_);n=m?printf(“%d,%dn”,n,m):_printf(“%d,%dn”,m,n)_;return 0;2.以下程序实现输入任意两个整数,完成加、减、乘、除、求余操作并运行结果。若输入29、18,则运行结果为:_29+18=47,29-18=11,29*18=522,29/18=1,29%18=11_。#include intmain ( ) int x,y; printf(“请输入x,y的值:”);scanf(“%d%d”,&x,&y); printf(“%d+%d=%d,”,_x,y,x+y_);printf(“%d-%d=%d,”,_x,y,x-y_);printf(“%d*%d=%d,”, _ x,y,x*y _);printf(“%d/%d=%d,”, _ x,y,x/y _);printf(“%d%d=%d”, _ x,y,x%y _);return 0; 三、程序改错1.分析以下程序段,找出错误并改正。行号源程序12345678#include main( );char i;int j;scanf(“i=%d,j=%d”,&i,&j);j=i+j/2;printf(“%c%cn ”,i,j);return 0;找错错误在2行应改为:main( )调试正确后的运行结果输入数据: i=65,j=5运行结果:AC2.分析以下程序段,找出错误并改正。行号源程序123456789#include #include#define pi=3.1416main( ) float r;scanf(“r=%f ”,&r);printf(“%.2f,%.2lfn”,pi*pow(r,2),2pi*r);return 0;找错错误在3,7行应改为:#define pi 3.1416printf(“%.2f,%.2lfn”,pi*pow(r,2),2*pi*r);调试正确后的运行结果输入数据: r=2r=3运行结果:12.57,12.5728.27,18.85四、程序设计1.输入圆的半径,输出该圆的周长和面积,结果保留2位小数。2.求ax2+bx+c的根,a、b、c从键盘输入,结果保留2位小数。1. #include intmain( ) float r,s,area;scanf(“%f”,&r); s=2*3.14*r;area=3.14*r*r;printf(“周长为%.2f,面积为%.2fn”,r,area); return 0;2. #include #include intmain( ) float a,b,c,x1,x2,disc,p,q;scanf(“%f%f%f”,&a,&b,&c); disc=sqrt(b*b-4*a*c);p=-b/2/a; q=disc/2/a;x1=p+q; x2=p-q;printf(“x1=%.2f,x2=%.2fn”,x1,x2); return 0;3.4习题一、选择题1. 以下4个选项中,不能看作一条语句的是()。A. ; B.a=0,b=0,c=0; C.if(a0) ; D.if(b=0) m=1;n=2;2. 以下叙述中错误的是()。A.C语句必须以分号结束B.复合语句在语法上被看作一条语句C.空语句出现在任何位置都不会影响程序运行D.赋值表达式末尾加分号就构成赋值语句3. 已有如下定义和输入语句,若要求 a1,a2,c1,c2 的值分别为 10,20,A,B,当从第一列开始输入数据时,正确的数据输入方式是()。int a1,a2; char c1,c2; scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);A. 10A20B B. 10A 20B C. 10A20B D.10A 20B4. 有输入语句: scanf(“a=%d,b=%d,c=%d”,&a,&b,&c); 为使变量 a 的值为 1,b 的值为3,c的值为2,则正确的数据输入方式是()。A. 132 B. 1,3,2 C.a=1 b=3 c=2 D.a=1,b=3,c=2 5. 若定义 x 为 double 型变量,则能正确输入 x 值的语句是()。A.scanf(“%f”,x); B. scanf(“%f”,&x);C.scanf(“%lf”,&x); D.scanf(“%5.1f”,&x); 6. 已知 i,j,k 为 int 型变量,若从键盘输入:1, 2, 3,以下选项中正确的输入语句是()。A.scanf(“%2d%2d%2d”,&i,&j,&k); B.scanf(“%d_%d_%d”,&i,&j,&k); C.scanf(“%d,%d,%d”,&i,&j,&k); D.scanf(“i=%d,j=%d,k=%d”,&i,&j,&k); 7. 若运行时输入:12345678 ,则下列程序运行结果为()。int a,b; scanf(“%2d%2d”,&a,&b); printf(“%dn”,a+b);A.46B. 579C.5690D.出错8. 以下说法正确的是()。A.输入项可以为一实型常量,如scanf(“%f”,3.5);B.只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”);C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f”,&f);D.当输入数据时,必须指明变量的地址,如scanf(“%f”,&f);9. 以下程序若输入:12,运行结果是()。#includeint main( ) char a,b;int n,m;a=getchar();b=getchar( ); n=a-0;m=n*10+(b-0);printf(“%dn”,m);return 0;A. 112 B.12C.120 D.出错10. 以下程序的运行结果是()。#includeint main( ) int x=102,y=012;printf(“%2d,%2d”,x,y);return 0;A. 10,01 B.002,12 C.102,10 D.02,1011. printf函数中用到格式符ms,其中数字m表示输出的字符串占的总列数。如果m为负整数,则输出方式为()。A. 从左起输出该字串,当指定列数大于实际列数时右补空格B. 按原字符长从左向右全部输出C. 右对齐输出该字串,当指定列数大于实际列数时左补空格D. 输出错误信息12. 设有如下程序段:int x=17,y=18,z=19;printf(“%dn”,(x,y,+z);则以下叙述正确的是()。A. 输出语句中格式说明的个数少于输出项的个数,不能正确输出B. 运行时产生出错信息C. 输出值为17,18,20D. 输出值为2013. 有以下程序#includeint main( ) char a1=M, a2=m;printf(“%cn”, (a1, a2) ); return 0;以下叙述中正确的是()。A. 程序输出大写字母MB. 程序输出小写字母mC. 格式说明符不足,编译出错D. 程序运行时出错14. putchar ( )函数可以向终端输出一个( )。A.整型变量表达式值B.实型变量值C.字符串D.字符或字符型变量值15. 以下程序若输入:12345678,则运行结果是()。#includeint main( )char a,b,c,d,e,f;scanf(“%c%c%c%c”,&a,&b,&c,&d);e=getchar( );f=getchar( );putchar(a);putchar(b);printf(“%c%cn”,e,f);return 0; A.1267 B.1256 C.1278 D.1245二、填空题1. 复合语句是用一对_大括号_界定的语句块。2. printf函数和scanf函数的格式说明都使用_%_字符开始。3. 在C语言中,输入操作是由库函数_scanf完成,输出操作是由库函数_printf完成。4. 在C语言中,字符输出是由库函数_putchar完成,字符输入是由库函数_getchar完成。5. 字符输出函数putchar每次输出_1_个字符。三、程序分析题1. 用下面的 scanf 函数输入数据,使 a=3,b=7,x=8.5,y=71.82,c1=A,c2=a,则在键盘输入格式为:a=3b=78.57.182e1Aa。#include int main( )int a,b; float x,y; char c1,c2; scanf(“a=%d b=%d”,&a,&b); scanf(“ %f %e”,&x,&y); scanf(“ %c %c”,&c1,&c2);printf(“%d,%d,%f,%f,%c,%c”,a,b,x,y,c1,c2);return 0;2. 以下程序的运行结果是a=12345,b=-1.98e+002,c= 6.50。#include int main( ) int a=12345; float b=-198.345, c=6.5; printf(“a=%4d,b=%-10.2e,c=%6.2fn”,a,b,c); return 0;3. 以下程序的运行结果是x=1 y=2 *sum*=3 10 Squared is:100。#include int main( )int x=1,y=2;printf(“x=%d y=%d *sum*=%dn”,x,y,x+y);printf(“10 Squared is:%dn”,10*10);(1)10 (2) 10(3)56.100000(4) 3.141600return 0;4. 以下程序运行结果是。#include int main( )int x=10; float pi=3.1416;printf(“(1) %dn”,x);printf(“(2) %6dn”,x);printf(“(3) %fn”,56.1);printf(“(4) %14fn”,pi);return 0;5. 以下程序若输入100,则运行结果是_yes_。#include int main( )int a ;scanf(“%d”,&a);printf(“%s”,(a%2!=0)?“No”:”Yes”);四、程序填空题1.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论