C语言实验报告第3章答案.docx

上传人:b****7 文档编号:9656883 上传时间:2023-02-05 格式:DOCX 页数:17 大小:22.61KB
下载 相关 举报
C语言实验报告第3章答案.docx_第1页
第1页 / 共17页
C语言实验报告第3章答案.docx_第2页
第2页 / 共17页
C语言实验报告第3章答案.docx_第3页
第3页 / 共17页
C语言实验报告第3章答案.docx_第4页
第4页 / 共17页
C语言实验报告第3章答案.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

C语言实验报告第3章答案.docx

《C语言实验报告第3章答案.docx》由会员分享,可在线阅读,更多相关《C语言实验报告第3章答案.docx(17页珍藏版)》请在冰豆网上搜索。

C语言实验报告第3章答案.docx

C语言实验报告第3章答案

3.2基础实验

一、程序分析

1.以下程序若输入’a’,则输入格式为:

__c1=a____;运行结果为:

___a,A↙_____。

#include

intmain()

{charc1,c2;

scanf(“c1=%c”,&c1);

c2=c1-32;

printf(“%c,%c\n”,c1,c2);

return0;

}

2.以下程序如果使得a的值为2、b的值为3,则输入格式为:

_a=2,b=3__;运行结果为:

_2,3↙_。

#include

intmain()

{inta,b;

scanf(“a=%d,b=%d”,&a,&b);

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

return0;

}

3.以下程序若输入12.3、7.6、1.1,则输入格式为:

_12.37.61.1__;运行结果为:

_aver=7.00___。

#include

intmain()

{floata,b,c,d;

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

d=(a+b+c)/3;

printf(“aver=%.2f”,d);

return0;

}

二、程序填空

1.输入一个四位整数,求各位数字之和(如1234,则结果为1+2+3+4=10)。

若输入3562,则运行结果为:

___3+5+6+2=16↙____________。

#include

intmain()

{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);

return0;

}

2.给定一个华氏法表示的温度值,将其转换为摄氏法表示的温度,转换公式为则运行结果为:

__f=64.00,c=17.78↙__。

#include

intmain()

{floatf,c;

f=64.0;

c=__(f-32)*5.0/9.0_________________;

printf(“f=%.2f,c=%5.2f\n”,f,c);

return0;

}

三、程序改错

1.分析以下程序段,找出错误并改正。

行号

源程序

1

2

3

4

5

6

7

8

#include

main()

{inti;floatk;

scanf(“i=%d”,i);

k=3.12*i;

printf(“%.2f\n”,k);

return0;

}

找错

错误在4行

 应改为:

scanf(“i=%d”,&i);

调试正确后的运行结果

输入数据:

i=17

运行结果:

53.04↙

2.分析以下程序段,找出错误并改正。

行号

源程序

1

2

3

4

5

6

7

8

#include

main()

{chara;intb;floatc;doubled;

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

putchar(a\n);

printf(“%d,%0.2f,%.2lf\n”,b,c,d);

return0;

}

找错

错误在5行

 应改为:

putchar(a);putchar(“\n”);

调试正确后的运行结果

输入数据:

A,19,12.3,10.98

运行结果:

A↙19,12.30,10.98

四、程序设计

1.对输入的字符进行加密,加密规则为“输入4个字符,将每个字符加4后转换成加密字符”,如输入“Ab2c”则加密后的字符序列为“Ef6g”。

1.#include

intmain()

{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);

return0;

}

 

3.3拓展实验

一、程序分析

1.⊙以下程序若输入3.4、12.0、8.9,则输入格式为:

3.4,12.0,8.9,运行结果为:

7.20↙。

#include

#include

intmain()

{floata,b,c;

floats,area;

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

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

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

printf(“%.2f\n”,area);

return0;

2.以下程序若输入C和2,则运行结果分别为:

__'F'和'5'_________。

#include

intmain()

{charc1;

intc2=0;

c1=getchar();

c2=c1+3;

putchar('\'');putchar(c2);putchar('\'');

return0;

}

二、程序填空

1.⊙以下程序实现按由大到小顺序输出任意两个整数。

若输入3562,则运行结果为:

__62,35↙__。

#include

intmain()

{intm,n;

scanf(“%d%d”,_&m,&n_______);

n>=m?

printf(“%d,%d\n”,n,m):

_printf(“%d,%d\n”,m,n)________;

return0;

}

2.以下程序实现输入任意两个整数,完成加、减、乘、除、求余操作并运行结果。

若输入29、18,则运行结果为:

_29+18=47,29-18=11,29*18=522,29/18=1,29%18=11_。

#include

intmain()

{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____);

return0;

}

三、程序改错

1.分析以下程序段,找出错误并改正。

行号

源程序

1

2

3

4

5

6

7

8

#include

main();

{chari;intj;

scanf(“i=%d,j=%d”,&i,&j);

j=i+j/2;

printf(“%c%c\n”,i,j);

return0;

}

找错

错误在2行

 应改为:

main()

调试正确后的运行结果

输入数据:

i=65,j=5

运行结果:

AC

2.分析以下程序段,找出错误并改正。

行号

源程序

1

2

3

4

5

6

7

8

9

#include

#include

#definepi=3.1416

main()

{floatr;

scanf(“r=%f”,&r);

printf(“%.2f,%.2lf\n”,pi*pow(r,2),2pi*r);

return0;

}

找错

错误在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位小数。

1.#include

intmain()

{floatr,s,area;

scanf(“%f”,&r);

s=2*3.14*r;

area=3.14*r*r;

printf(“周长为%.2f,面积为%.2f\n”,r,area);

return0;

}

2.#include

#include

intmain()

{floata,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=%.2f\n”,x1,x2);

return0;

}

 

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,&c1,&a2,&c2);

A.10A20B↙B.10A20B↙C.10A20B↙D.10A20B↙

4.有输入语句:

scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量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”,&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.⊙若运行时输入:

↙,则下列程序运行结果为()。

inta,b;

scanf(“%2d%2d”,&a,&b);

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”,&f);

9.⊙以下程序若输入:

12<回车>,运行结果是()。

#include

intmain()

{chara,b;intn,m;

a=getchar();b=getchar();

n=a-’0’;m=n*10+(b-’0’);

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

return0;

}

A.112 B.12 C.120D.出错

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

#include

intmain()

{intx=102,y=012;

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

return0;

}

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.有以下程序

#include

intmain()

{chara1='M',a2='m';

printf(“%c\n”,(a1,a2));

return0;

}以下叙述中正确的是()。

A.程序输出大写字母M  B.程序输出小写字母m

C.格式说明符不足,编译出错D.程序运行时出错

14.putchar()函数可以向终端输出一个()。

A.整型变量表达式值B.实型变量值

C.字符串D.字符或字符型变量值

15.⊙以下程序若输入:

123<回车>45678<回车>,则运行结果是()。

#include

intmain()

{chara,b,c,d,e,f;

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

e=getchar();

f=getchar();

putchar(a);

putchar(b);

printf(“%c%c\n”,e,f);

return0;

}

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。

#include

intmain()

{inta,b;

floatx,y;

charc1,c2;

scanf(“a=%db=%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);

return0;

}

2.以下程序的运行结果是a=12345,b=-1.98e+002,c=6.50↙。

#include

intmain()

{inta=12345;

floatb=-198.345,c=6.5;

printf(“a=%4d,b=%-10.2e,c=%6.2f\n”,a,b,c);

return0;

}

3.以下程序的运行结果是x=1y=2*sum*=3↙10Squaredis:

100↙。

#include

intmain()

{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.

return0;

}

4.以下程序运行结果是。

#include

intmain()

{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);

return0;

}

5.⊙以下程序若输入100↙,则运行结果是_____yes_________________。

#include

intmain()

{inta;

 scanf(“%d”,&a);

printf(“%s”,(a%2!

=0)?

“No”:

”Yes”);

}

四、程序填空题

1.以下程序实现的功能是输入一个字符,输出该字符的后4位,请将程序补充完整。

#include

intmain()

{intc1;

c1=getchar();

putchar(__c1+4_____);

return0;

}

2.以下程序的功能是输出s1,x,y的值,保留原小数位数,请将程序补充完整。

#include

intmain()

{floatx=655.35;

doubley=765.4271;

chars1='c';

printf(“__%c,%.2f,%.4lf___”,s1,x,y);

return0;

}

3.以下程序是使用“*”在屏幕上显示一个C,请将程序补充完整。

#include“stdio.h”

intmain()

{printf(“HelloC-world!

\n”);

printf(“__****\n____”);

printf(“*\n”);

printf(“*\n”);

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

}

4.要求按照以下形式输入3个整数并完成计算,请将程序补充完整。

从键盘输入:

a=13,b=14,c=25<回车>

#include

intmain()

{inta,b,c;

scanf(“_a=%d,b=%d,c=%d__________”,&a,&b,&c);

printf(“%d\n”,a+b*c);

}

五、程序设计题

1.编写程序,输入一个人三门课的成绩,输出其平均成绩。

1.#include

intmain()

{floatx1,x2,x3,avg;

scanf(“%f%f%f”,&x1,&x2,&x3);

avg=(x1+x2+x3)/3;printf(“avg=%f\n”,avg);

return0;

}

 

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

当前位置:首页 > 高等教育 > 文学

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

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