C语言程序设计实验2教案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档