C语言实验报告第3章答案Word文档格式.docx
- 文档编号:22834169
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:17
- 大小:22.61KB
C语言实验报告第3章答案Word文档格式.docx
《C语言实验报告第3章答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言实验报告第3章答案Word文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
#include<
{intn,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=%d\n”,d,c,b,a,m);
2.给定一个华氏法表示的温度值,将其转换为摄氏法表示的温度,转换公式为则运行结果为:
__f=64.00,c=17.78↙__。
intmain()
{floatf,c;
f=64.0;
c=__(f-32)*5.0/9.0_________________;
printf(“f=%.2f,c=%5.2f\n”,f,c);
}
三、程序改错
1.分析以下程序段,找出错误并改正。
行号
源程序
1
2
3
4
5
6
7
8
main()
{inti;
floatk;
scanf(“i=%d”,i);
k=3.12*i;
printf(“%.2f\n”,k);
找错
错误在4行
应改为:
scanf(“i=%d”,&
i);
调试正确后的运行结果
输入数据:
i=17
运行结果:
53.04↙
2.分析以下程序段,找出错误并改正。
main()
{chara;
intb;
floatc;
doubled;
scanf(“%c,%d,%f,%lf”,&
c,&
d);
putchar(a\n);
printf(“%d,%0.2f,%.2lf\n”,b,c,d);
错误在5行
putchar(a);
putchar(“\n”);
A,19,12.3,10.98
A↙19,12.30,10.98
四、程序设计
1.对输入的字符进行加密,加密规则为“输入4个字符,将每个字符加4后转换成加密字符”,如输入“Ab2c”则加密后的字符序列为“Ef6g”。
1.#include<
{charc1,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);
3.3拓展实验
1.⊙以下程序若输入3.4、12.0、8.9,则输入格式为:
3.4,12.0,8.9,运行结果为:
7.20↙。
math.h>
{floata,b,c;
floats,area;
scanf(“%f,%f,%f”,&
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf(“%.2f\n”,area);
}
2.以下程序若输入C和2,则运行结果分别为:
__'
F'
和'
5'
_________。
{charc1;
intc2=0;
c1=getchar();
c2=c1+3;
putchar('
\'
'
);
putchar(c2);
putchar('
1.⊙以下程序实现按由大到小顺序输出任意两个整数。
__62,35↙__。
intmain()
{intm,n;
scanf(“%d%d”,_&
m,&
n_______);
n>
=m?
printf(“%d,%d\n”,n,m):
_printf(“%d,%d\n”,m,n)________;
2.以下程序实现输入任意两个整数,完成加、减、乘、除、求余操作并运行结果。
若输入29、18,则运行结果为:
_29+18=47,29-18=11,29*18=522,29/18=1,29%18=11_。
{intx,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____);
1.分析以下程序段,找出错误并改正。
main();
{chari;
intj;
scanf(“i=%d,j=%d”,&
i,&
j);
j=i+j/2;
printf(“%c%c\n”,i,j);
错误在2行
i=65,j=5
AC
2.分析以下程序段,找出错误并改正。
9
#definepi=3.1416
{floatr;
scanf(“r=%f”,&
r);
printf(“%.2f,%.2lf\n”,pi*pow(r,2),2pi*r);
错误在3,7行
#definepi3.1416
printf(“%.2f,%.2lf\n”,pi*pow(r,2),2*pi*r);
r=2
r=3
12.57,12.57↙
28.27,18.85↙
1.输入圆的半径,输出该圆的周长和面积,结果保留2位小数。
2.⊙求ax2+bx+c的根,a、b、c从键盘输入,结果保留2位小数。
{floatr,s,area;
scanf(“%f”,&
s=2*3.14*r;
area=3.14*r*r;
printf(“周长为%.2f,面积为%.2f\n”,r,area);
2.#include<
{floata,b,c,x1,x2,disc,p,q;
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=%.2f\n”,x1,x2);
3.4习题
一、选择题
1.以下4个选项中,不能看作一条语句的是()。
A.{;
}B.a=0,b=0,c=0;
C.if(a>
0);
D.if(b==0)m=1;
n=2;
2.以下叙述中错误的是()。
A.C语句必须以分号结束
B.复合语句在语法上被看作一条语句
C.空语句出现在任何位置都不会影响程序运行
D.赋值表达式末尾加分号就构成赋值语句
3.⊙已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A,B,当从第一列开始输入数据时,正确的数据输入方式是()。
inta1,a2;
charc1,c2;
scanf(“%d%c%d%c”,&
a1,&
a2,&
c2);
A.10A20B↙B.10A20B↙C.10A20B↙D.10A20B↙
4.有输入语句:
scanf(“a=%d,b=%d,c=%d”,&
为使变量a的值为1,b的值为3,c的值为2,则正确的数据输入方式是()。
A.132↙B.1,3,2↙C.a=1b=3c=2↙D.a=1,b=3,c=2↙
5.若定义x为double型变量,则能正确输入x值的语句是()。
A.scanf(“%f”,x);
B.scanf(“%f”,&
x);
C.scanf(“%lf”,&
D.scanf(“%5.1f”,&
6.已知i,j,k为int型变量,若从键盘输入:
1,2,3<
回车>
,以下选项中正确的输入语句是()。
A.scanf(“%2d%2d%2d”,&
j,&
k);
B.scanf(“%d_%d_%d”,&
C.scanf(“%d,%d,%d”,&
D.scanf(“i=%d,j=%d,k=%d”,&
7.⊙若运行时输入:
↙,则下列程序运行结果为()。
inta,b;
scanf(“%2d%2d”,&
printf(“%d\n”,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”,&
9.⊙以下程序若输入:
12<
,运行结果是()。
{chara,b;
intn,m;
a=getchar();
b=getchar();
n=a-’0’;
m=n*10+(b-’0’);
printf(“%d\n”,m);
A.112
B.12
C.120D.出错
10.⊙以下程序的运行结果是()。
{intx=102,y=012;
printf(“%2d,%2d”,x,y);
A.10,01B.002,12C.102,10D.02,10
11.⊙printf函数中用到格式符%ms,其中数字m表示输出的字符串占的总列数。
如果m为负整数,则输出方式为()。
A.从左起输出该字串,当指定列数大于实际列数时右补空格
B.按原字符长从左向右全部输出
C.右对齐输出该字串,当指定列数大于实际列数时左补空格
D.输出错误信息
12.⊙设有如下程序段:
intx=17,y=18,z=19;
printf(“%d\n”,(x,y,++z));
则以下叙述正确的是()。
A.输出语句中格式说明的个数少于输出项的个数,不能正确输出
B.运行时产生出错信息C.输出值为17,18,20D.输出值为20
13.有以下程序
{chara1='
M'
a2='
m'
;
printf(“%c\n”,(a1,a2));
}以下叙述中正确的是()。
A.程序输出大写字母M B.程序输出小写字母m
C.格式说明符不足,编译出错D.程序运行时出错
14.putchar()函数可以向终端输出一个()。
A.整型变量表达式值B.实型变量值
C.字符串D.字符或字符型变量值
15.⊙以下程序若输入:
123<
45678<
,则运行结果是()。
{chara,b,c,d,e,f;
e=getchar();
f=getchar();
putchar(b);
printf(“%c%c\n”,e,f);
}
A.1267B.1256C.1278D.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。
{inta,b;
floatx,y;
charc1,c2;
scanf(“a=%db=%d”,&
scanf(“%f%e”,&
scanf(“%c%c”,&
printf(“%d,%d,%f,%f,%c,%c”,a,b,x,y,c1,c2);
2.以下程序的运行结果是a=12345,b=-1.98e+002,c=6.50↙。
{inta=12345;
floatb=-198.345,c=6.5;
printf(“a=%4d,b=%-10.2e,c=%6.2f\n”,a,b,c);
3.以下程序的运行结果是x=1y=2*sum*=3↙10Squaredis:
100↙。
{intx=1,y=2;
printf(“x=%dy=%d*sum*=%d\n”,x,y,x+y);
printf(“10Squaredis:
%d\n”,10*10);
(1)10
(2)10
(3)56.
(4)3.
4.以下程序运行结果是。
{intx=10;
floatpi=3.1416;
printf(“
(1)%d\n”,x);
printf(“
(2)%6d\n”,x);
printf(“(3)%f\n”,56.1);
printf(“(4)%14f\n”,pi);
5.⊙以下程序若输入100↙,则运行结果是_____yes_________________。
{inta;
a);
printf(“%s”,(a%2!
=0)?
“No”:
”Yes”);
四、程序填空题
1.以下程序实现的功能是输入一个字符,输出该字符的后4位,请将程序补充完整。
{intc1;
putchar(__c1+4_____);
2.以下程序的功能是输出s1,x,y的值,保留原小数位数,请将程序补充完整。
{floatx=655.35;
doubley=765.4271;
chars1='
c'
printf(“__%c,%.2f,%.4lf___”,s1,x,y);
3.以下程序是使用“*”在屏幕上显示一个C,请将程序补充完整。
#include“stdio.h”
{printf(“HelloC-world!
\n”);
printf(“__****\n____”);
printf(“*\n”);
printf(“*\n”);
printf(“****\n”);
4.要求按照以下形式输入3个整数并完成计算,请将程序补充完整。
从键盘输入:
a=13,b=14,c=25<
{inta,b,c;
scanf(“_a=%d,b=%d,c=%d__________”,&
printf(“%d\n”,a+b*c);
五、程序设计题
1.编写程序,输入一个人三门课的成绩,输出其平均成绩。
{floatx1,x2,x3,avg;
x1,&
x2,&
x3);
avg=(x1+x2+x3)/3;
printf(“avg=%f\n”,avg);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 实验 报告 答案