C语言程序设计实验2教案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课题:实验二、顺序结构程序设计——2学时
主要教学内容:上机进一步熟悉TC3.0集成环境,学会编辑、连接、运行一个C程序的方法;学习使用单步命令调试运行程序;用顺序结构程序
设计方法完成3个设计题目。
教学目标:1. 学习使用F8单步运行程序,了解顺序结构程序的执行过程;
2. 进一步掌握数据的输入输出方法和赋值语句的格式、语义,进而
掌握顺序结构程序设计方法。。
重点:完成4个题目的分析或设计。
难点:第4题。
教学过程(组织与方法):首先,进行考勤并检查学生对实验的准备情况,做好记录,之后指导学生完成实验指导书中规定的实验内容,最后,逐
个验收,并记录验收结果。
作业:实验报告:将实验内容的第4题写入实验报告。
实验二、顺序结构程序设计——设计型
1. 编辑、编译、连接、运行如下程序,分析运行结果。不断地改变格式符,总结各种格式符控制输出格式的规律。对其他数据类型的输出也可进行研究。
#include
void main( )
{ int a = 3 , b = 5 ;
float x = 123.0 , y = 4567. 896 ;
printf("%3d%3d%5.0f%7.2f\n" , a , b , x , y );
printf("%-3d%-3d%8.1e%7.2e\n" , a , b , x , y );
}
运行结果:
ㄩㄩ3ㄩㄩ5ㄩㄩ1234567.90
3ㄩㄩ5ㄩㄩㄩ1.2e+024.57e+03
2. 编写一个程序,能够从键盘接收一门课5个学生成绩,然后求出总成绩,再计算出平均成绩,最后输出每个学生成绩、总成绩和平均成绩。要求画出程序框图和N-S图,再根据流程图编写程序,之后编辑、编译、连接、运行该程序,分析运行结果。要求输出的平均成绩保留2位小数。
解:
(1)设计算法的传统流程图如图1所示,算法N-S流程图如图2所示。
(2)程序如下:
#include
void main ( )
{ int s1 , s2 , s3 , s4 , s5 ;
float aver , total ;
printf ( "Please input 5 scores:\n" ) ;
scanf ( "%d%d%d%d%d" , &s1 , &s2 , &s3 , &s4 , &s5 ) ; total = s1 + s2 + s3 + s4 + s5 ;
aver = total / 5.0 ;
printf ("s1=%d,s2=%d,s3=%d,s4=%d,s5=%d\n",s1,s2,s3,s4,s5) ; printf ( "total = %.0f\n" , total ) ;
printf ( "average =%6.2f\n" , aver ) ;
}
运行结果:
Please ㄩinput ㄩ5ㄩscores:
67ㄩ73ㄩ88ㄩ91ㄩ100↙
s1=67,s2=73,s3=88,s4=91,s5=100
total ㄩ=ㄩ419
average ㄩ=ㄩ83.80
图1 传统流程图 图2 N-S 流程图
3. 编写一个程序,能够从键盘接收两个int 型数据并分别赋给变量a 和b ,接着输出a 、b 的值;然后将a 和b 中的数据交换,再输出a 、b 的值。
输入s1、s2、s3、s4、s5
total = s1 + s2 + s3 + s4 + s5 aver = total / 5
输出s1、s2、s3、s4、s5 输出total 输出aver
解:程序如下:
#include
void main ( )
{ int a , b , t ;
printf ( "Please input 2 intigers:\n" ) ;
scanf ( "%d%d" , &a , &b ) ;
printf ( "%d,%d\n" , a , b ) ;
t = a ;
a =
b ;
b = t ;
printf ( "%d,%d\n" , a , b ) ;
}
运行结果:
Pleaseㄩinputㄩ2ㄩintegers:
23ㄩ57↙
23 , 57
57 , 23
4. 编程求出r = 15cm,h = 30cm的圆柱体、圆锥体的表面积和体积。要求画出程序框图和N-S图,再根据流程图编写程序,之后编辑、编译、连接、运行该程序,分析运行结果。
解:
(1)首先建立数学模型并选择计算方法Array
①求圆柱体的表面积szhu:
szhu = 2 * π* r 2 + 2 *π* r * h
= 2 *π* r * ( r + h )
②求圆柱体的体积vzhu:
vzhu =π* r 2 * h =π* r * r * h
③求圆锥体的表面积szhui:
szhui = R * L / 2 +π* r 2
= ( r 2 + h 2 ) 1/2 * 2 *π* r / 2 +π* r 2
=π* r * [ ( r 2 + h 2 ) 1/2 + r ]
④求圆锥体的体积vzhui :
vzhui =π* r 2 * h / 3 = vzhu / 3
(2)算法流程图如图3所示,N-S 流程图如图4所示。
图3 图4
(3)程序如下:
#include
#include
#define PAI 3.14159
void main ( )
{ float h = 30 , r = 15 ;
float szhu , vzhu , szhui , vzhui ;
szhu = 2 * PAI * r * ( r + h ) ;
vzhu = PAI * r * r * h ;
szhui = PAI * r * ( sqrt( r * r + h * h ) + r ) ;
h = 30 , r = 15 szhu = 2 *π* r * ( r + h ) vzhu = π* r * r * h szhui =π* r * [ ( r 2 + h 2 ) 1/2 + r ] vzhui = vzhu / 3 输出szhu
输出vzhu
输出szhui
输出vzhui