c语言实验报告册答案Word下载.docx

上传人:b****1 文档编号:13518217 上传时间:2022-10-11 格式:DOCX 页数:34 大小:41.39KB
下载 相关 举报
c语言实验报告册答案Word下载.docx_第1页
第1页 / 共34页
c语言实验报告册答案Word下载.docx_第2页
第2页 / 共34页
c语言实验报告册答案Word下载.docx_第3页
第3页 / 共34页
c语言实验报告册答案Word下载.docx_第4页
第4页 / 共34页
c语言实验报告册答案Word下载.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

c语言实验报告册答案Word下载.docx

《c语言实验报告册答案Word下载.docx》由会员分享,可在线阅读,更多相关《c语言实验报告册答案Word下载.docx(34页珍藏版)》请在冰豆网上搜索。

c语言实验报告册答案Word下载.docx

/*向字符变量赋以整数*/

c1=97;

c2=98;

printf("

%c%c\n"

c1,c2);

/*以字符形式输出*/

%d%d\n"

/*以整数形式输出*/

}

该程序的输出结果是ab(换行)9798。

思考:

可否改成intc1,c2;

输出结果是?

相同

(2)main()

{

inta=7,b=5;

%d\n"

b=b/a);

该程序的输出结果是0。

若将printf语句中%d变为%f,可否输出分式的值?

可以

(3)main()

inta=9;

a+=a-=a+a;

/*包含复合的赋值运算符的赋值表达式*/

a);

该程序的输出结果是-18。

赋值表达式a+=a-=a+a的求解步骤?

第一步:

a=a-(a+a)=-9第二步a=a+a=18

(4)main()

intk=-1;

%d,%u\n"

k,k);

该程序的输出结果是-1。

-1在内存中的存储形式?

取反加一(32个)

(5)main()

unsignedx1;

intb=-1;

x1=b;

/*有符号数据传送给无符号变量*/

%u"

x1);

该程序的输出结果是。

不同类型的整型数据相互赋值时,规则是什么?

(有符号赋值给无符号)

(6)main()

inta=3,b=4,c=5;

(!

(a<

b))&

&

(c=c+1));

%d"

c);

该程序的输出结果是0(换行)5。

若将第一个printf语句中&

变为||,结果将如何?

1(换行)6

(7)main()

{inta=1,b=2,c=3;

if(c=a);

elseprintf("

b);

该程序的输出结果是1。

2、编程序并上机调试运行(包括题目及要求、流程图、程序清单、测试数据及结果)

(1)将一个百分制成绩转换成等级制成绩,百分制与等级制的对应关系如下表:

百分制

90-100

80-89

70-79

60-69

<

60

等级制

具体要求如下:

1)用switch语句实现该功能;

2)用键盘输入百分制成绩,输入前要有提示信息,对于不合理的数据应输出错误信息;

3)输出结果应包含百分制成绩和成绩等级;

4)分别输入成绩-10,30,60,68,75,83,95,102,查看记录运行结果。

见下页

测试数据:

100,50,-20

输出结果:

优,劣,成绩输入错误

(2)银行整存整取存款不同期限的月息利率分别为:

输入存款的本金和年限,求到期时能从银行得到的利息与本金的合计。

(利息的计算公式为:

利息=本金×

月息利率×

12×

存款年限。

4,10004,-10

133.12本金金额不能为负!

(3)调试下面程序,使之具有如下功能:

输入a、b、c三个整数,求最小值。

main()

inta,b,c;

scanf("

%d%d%d"

a,b,c);

if((a>

b)&

(a>

c))

if(b<

c)

printf("

min=%d\n"

b);

else

c);

if((a<

a);

程序中包含有一些错误,按下述步骤进行调试。

1)设置断点。

2)通过单步执行,观测变量,发现程序中的错误。

程序调试记录

1、程序出现的错误及改正

第四行,abc前都加&

,在%d%d%d中两个%d之间加空格;

{}括住六到九行;

把第十行if改成elseif;

2、程序的改进

1.每个<

或>

后加一个=;

2.在程序末尾添加如下指令

elseif((a<

=b)&

=c)||(a>

=c))

{

if(b<

=c)

printf("

else

}

实验2循环结构及其应用

1、熟练掌握while,do—while,for语句实现循环的方法,包括如何正确地设定循环条件,如何控制循环的次数。

2、掌握break语句与continue语句的使用方法。

3、熟悉循环的嵌套以及从循环体内退出循环的处理。

4、理解什么是循环程序结构。

为了达到最佳的实验效果,以下提供几条适于模块化编程的指导意见,可供参考。

1、阅读程序题应先运用自己在课堂所学的知识,推导出结果,在上机时输入计算机,印证自己推导的结果,注意循环语句的一般使用方法,以及复合运算符的使用。

2、编程题必须首先画出流程图,并反复思考判断程序设计的正确性,以面向过程的、模块化设计方法完成程序设计。

【例题解析】

编写一个程序,输出半径为1到10的圆的面积,若面积在40到90之间则予以输出,否则,不予输出。

1)解题分析:

解决问题的关键算法为求圆的面积并按要求输出。

循环求圆的面积area,若area<

40,则用continue语句提前结束本次循环并开始新一轮循环,若area>

90,则用break语句跳出循环。

2)算法流程图如图2-1:

3)综合分析

需要从循环体中提前跳出循环,或者在满足某种条件下,不执行循环中剩下的语句而立即从头开始新的一轮循环,这时就要用到break和continue语句。

图2-1输出半径为1到10且面积在40到90之间的圆面积的流程图

4)程序代码

#include<

stdio.h>

main(void){

floatarea=0.0,pi=3.14;

intr;

for(r=1;

r<

11;

r++){

area=pi*r*r;

if(area<

40)

continue;

if(area>

90)

break;

area=%5.2f\n"

area);

1、阅读程序题。

#include<

main(){

intx=-1;

do{

x=x*x;

}while(!

x);

%x=\n"

x);

该程序的输出结果是1=。

main(){

intnum=0;

while(num<

=2){

num++;

num);

该程序的输出结果是1(换行)2(换行)3。

main(){

inta,b;

for(a=1,b=1;

a<

=100;

a++){

if(b>

=20)break;

if(b%3==1){b+=3;

continue;

b-=5;

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

该程序的输出结果是8。

inty=2,a=1;

while(y--!

=-1)

do{

a*=y;

a++;

}while(y--);

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

该程序的输出结果是1,-2。

(1)输入整数n,求n!

(1<

n<

20)。

(2)打印出所有“水仙花数”。

所谓“水仙花数”是指一个三位数,其各位数字的立方之和正好等于该数本身。

例如:

153是一个“水仙花数”,因为153=13+53+33

【提示】根据题目要求只要分别求出一个三位数的个位、十位、百位上的数字,然后判断是否满足(某一三位数a=a的百位的立方+a的十位的立方+a的个位的立方)这个公式,满足这个条件的三位数就是“水仙花数”。

(3)一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

【提示】在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。

3、程序选做题

(1)猴子吃桃问题。

猴子第一天摘下若干个桃子,当即吃掉了一半,还不过瘾,又多吃了一个。

第二天早上又将剩下的桃子吃掉一半,又多吃了一个。

以后每天早上都吃了前一天剩下的总数一半零一个。

到第10天早上想再吃时,见只剩一个桃子了。

求第一天共摘了多少桃子。

【提示】使用逆向推导的方式,设后一天的桃子为N个,则其前面一天的桃子为(N+1)*2个,以此类推。

(2)“百钱买百鸡”问题:

公鸡每只5元,母鸡每只3元,小鸡每3只1元;

用100元买100只鸡,问公鸡,母鸡,小鸡各买多少只?

【提示】设公鸡x只,母鸡y只,小鸡z只;

则有1<

=x<

=18,1<

=y<

=31,1<

=z<

=98,且同时满足5x+3y+z/3=100,x+y+z=100,z%3=0这三个条件。

通过数学运算可改变条件,从而可用不同的方法来解决此问题,请尝试不同的循环次数解决该问题。

五、程序调试记录

要求:

写出题号,并编写顺序号。

如四

(1)出现的错误

(1)·

·

(2)·

实验3模块化设计与应用

完成本实验需要4学时。

(1)掌握函数实参和形参的对应关系以及“值传递”的方式;

(2)理解函数调用的过程以及函数的返回值;

(3)弄清楚带参函数和带参的宏之间的异同。

(1)深刻理解模块化程序设计的思想及如何进行模块

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

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

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

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