C语言程序设计何欣铭颜晖后习题答案.docx
- 文档编号:2879359
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:22
- 大小:20.04KB
C语言程序设计何欣铭颜晖后习题答案.docx
《C语言程序设计何欣铭颜晖后习题答案.docx》由会员分享,可在线阅读,更多相关《C语言程序设计何欣铭颜晖后习题答案.docx(22页珍藏版)》请在冰豆网上搜索。
C语言程序设计何欣铭颜晖后习题答案
39
C语言程序的调试、运行步骤
修改程序,观察语法错误、逻辑错误及改
正方法。
✧语法错误:
可以删除一个分号,使编
开始
编辑
源程序
.c/.cpp
编译
目标程序
.obj
连接
可执行程序
.exe
运行
结果
译出现错误提示,改正之,再编译。
类比写文章有错别字。
✧逻辑错误:
将sum=sum+i改为
sum=sum-i,编译、连接、运行,发现
语法
错误
1.3习题参考答案
连接
错误
运行
错误
运行结果不符合题目要求。
找出错误
(调试),改正之,再编译、连接、运
行,看结果。
类比写文章词不达意。
1.对C语言来说,下列标识符中哪些是合法的,哪些是不合法的?
total_debugLarge&all,Conter1,begin_
解答:
Large&Tall不合法,其余都合法。
2.改写本章1.4节中的流程图1.2,求1~100中能被6整除的所有整数的和。
解答:
sum=0
i=1
假
i<=100?
真
真
sum=sum+i
i能被6整除?
i=i+1
打印sum
假
图1.1“求1~100中能被6整除的所有整数的和”的流程图
11
3.改写本章1.4节中的程序,求1~100中能被6整除的所有整数的和,并在编程环境中验证
该程序的运行结果。
解答:
#include
intmain(vid)
{
inti,sum=0;
for(i=1;i<=100i++)
if(i%6==0)sum=sum+i;
printf"%d",sum);
return0;
}
运行结果:
816
4.对于给定的整数n(n>1),请设计一个流程图判别n是否为一个素数(只能被1和自己整
除的整数),并分析该流程图中哪些是顺序结构、哪些是分支结构与循环结构。
解答:
在流程图中,分支结构和循环结构如图1.2所示,自上而下的2个实线框和2个虚线组
成了顺序结构。
输入n
i=2
假
i<=n/2?
真
真
真
打印n是素数
n能被i整除?
i=i+1
i>n/2?
假
假
打印n不是素数
循环结构
分支结构
#include
intmain(void)
{
printf("A\n");
printf("AA\n");
printf("A\n");
return0;
}
14
62
函数的概念
C语言中有两种类型函数
标准库函数
自定义函数
函数可以做到一次定义、多次调用
使用自定义函数的程序框架
doublefact(intn);/*声明自定义函数,以分号结束*/
intmain(void)
{……
result=fact(i);/*调用自定义函数fact(i)计算i!
*/
……
}
/*定义求n!
的函数*/
简单总结本节内容。
使学生了解自定义函数编程结构,能够模
仿编程即可。
2.3练习与习题参考答案
2.3.1练习参考答案
2-1编写程序,在屏幕上显示一个短句“ProgramminginCisfun!
”。
解答:
#include
intmain(void)
{
printf("ProgramminginCisfun!
\n");
return0;
}
2-2下列语句的运行结果是什么?
与例2-2的运行结果有何不同?
为什么?
printf("Programmingisfun.AndProgramminginCisevenmorefun!
\n");
解答:
运行结果:
Programmingisfun.AndProgramminginCisevenmorefun!
例2-2的运行结果分2行显示。
原因在于,例2-2中在每条输出语句的结尾都采用了‘\n’
换行。
2-3编写程序,在屏幕上显示如下图案。
****
***
**
*
解答:
intmain(void)
{
printf("****\n***\n**\n*\n");
return0;
}
18
2-4编写程序,求华氏温度150°F对应的摄氏温度(计算公式同例2-3)。
解答:
#include
intmain(void)
{
intcelsius,fahr;
fahr=150;
celsius=5*(fahr–32)/9;
printf("fahr=%d,celsius=%d\n",fahr,celsius);
return0;
}
2-5算术表达式5*(fahr-32)/9能改写成5(fahr-32)/9吗?
为什么?
如果将其改写为
5/9*(fahr-32),会影响运算结果吗?
解答:
5(fahr-32)/9不是合法的C表达式,因为不能省略运算符*;5/9*(fahr-32)的值为0。
2-6一个物体从100米的高空自由落下,编写程序,求它在前3秒内下落的垂直距离。
设重
力加速度为10m/s2。
解答:
#include
intmain(void)
{
doubleheight;
height=0.5*10*3*3;
printf("height=%.2f\n",height);
return0;
}
2-7输入提示和输入语句的顺序应该如何安排?
例2-5中,scanf("%d%d%lf",&money,&year,
&rate)能改写为scanf("%d%lf%d",&money,&year,&rate)吗?
为什么?
能改写为
scanf("%d%lf%d",&money,&rate,&year)吗?
如果可以,其对应的输入数据是什么?
解答:
输入提示在前,输入语句在后。
不能改写为scanf("%d%lf%d",&money,&year,&rate),因为%lf与整型变量money不匹
配,%d与浮点型变量rate不匹配。
与scanf("%d%lf%d",&money,&rate,&year)对应的输入数据为:
10000.0253
2-8编写程序,输入华氏温度,输出对应的摄氏温度,计算公式同例2-3。
解答:
#include
intmain(void)
{
intcelsius,fahr;
19
scanf("%d",&fahr);
celsius=5*(fahr-32)/9;
printf("celsius=%d\n",celsius);
return0;
}
2-9编写程序,输入3个整数,计算并输出它们的平均值。
解答:
#include
intmain(void)
{
inta,b,c;
doubleaverage;
scanf("%d%d%d",&a,&b,&c);
average=(a+b+c)*1.0/3;
printf("average=%.2f\n",average);
return0;
}
2-10编写程序,输入x,计算并输出下列分段函数f(x)的值(保留3位小数)。
⎧1
≠
⎪
y=fx()=⎨x
x
0
解答:
⎪0
x=0
#include
intmain(void)
{
doublex,y;
scanf("%lf",&x);
if(x!
=0)
y=1/x;
else
y=0;
printf("f(%.2f)=%.3f\n",x,y);
return0;
}
2-11编写程序,输入x,计算并输出下列分段函数f(x)的值(保留2位小数),请调用sqrt
函数求平方根,调用pow函数求幂。
⎧++51
x
<
xx
0
y=fx
()
=⎨⎪
⎪
2
x
x
x≥0
解答:
⎩
#include
20
#include
intmain(void)
{
doublex,y;
scanf("%lf",&x);
if(x>=0)
y=sqrt(x);
else
y=pow(x,5)+2*x+1/x;
printf("f(%.2f)=%.2f\n",x,y);
return0;
}
2-12编写程序,输入2个整数lower和upper,输出一张华氏-摄氏温度转换表,华氏温度
的取值范围是[lower,upper],每次增加2°F,计算公式同例2-7。
解答:
#include
intmain(void)
{
intlower,upper;
doublecelsius,fahr;
scanf("%d%d",&lower,&upper);
printf("fahrcelsius\n");
for(fahr=lower;fahr<=upper;fahr=fahr+2){
celsius=5*(fahr-32.0)/9;
printf("%3.0f%6.1f\n",fahr,celsius);
}
return0;
}
n1
2-13编写程序,输入一个正整数n,求i=1
解答:
#include
intmain(void)
{
inti,n;
doublesum;
scanf("%d",&n);
sum=0;
for(i=1;i<=n;i++)
sum=sum+1.0/i;
printf("sum=%.6f\n",sum);
∑i。
21
}
return0;
2-14编写程序,输入一个正整数n,计算1+++11.....的前n项之和。
35
解答:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 欣铭颜晖后 习题 答案