内容正文:
教案用纸
第 3 周 总第 6 次 学时:2
教学班级: 课程:C语言程序设计 授课教师:
课题: 第2章 程序中的数据(上机练习)
2.5 程序案例
教学方法:启发、实例
教具:计算机
教学目标:使同学们掌握输入与输出函数的使用
教学重点:格式化输入输出函数的使用
教学难点:格式化输入输出函数和格式说明
主要教学内容:
第2章 程序中的数据(上机练习)
2.5 程序案例
2.5.1 典型案例——求直角三角形的周长和面积
2.5.2 典型案例——英文大小写字母的转换
课后回顾:
教案用纸
四个一:
提问:各种运算符号的优先级别及结合性
导入:上节课我们学习了数据运算以及数据的输入、输出,这节课我们通过上机来验证上节课我们所学习的内容。上货膨胀
正文:
2.5 程序案例
2.5.1 典型案例——求直角三角形的周长和面积
通过此案例了解求数学问题的方法,代数表达式在C语言中的表现形式,掌握数学函数开平方sqrt的使用方法。
【案例2-12】 已知一个直角三角形三条边为a、b和c。从键盘输入两条直角边a和b,求斜边c长度,最后输出三角形的周长和面积。
程序分析
因为三角形的两条直角边已经已知,利用公式,则可以求得斜边,然后再根据三角形面积公式求出三角形面积。注意:要在程序开头增加数学函数头文件,其内部包含开根号函数sqrt,求斜边c的表达式为c=sqrt(a*a+b*b),注意:在C语言中没有平方符号,所以a的平方要写成a*a。
编写程序代码
1
2
3
4
5
6
7
8
9
10
11
12
13
/*案例2-12 求三角形的周长和面积 */
#include "stdio.h"
#include "math.h" /*增加数学函数头文件,其内部包含开根号函数sqrt*/
void main()
{
double a,b,c,area,length;
printf("请输入直角三角形的两条直角边:");
scanf("%f%f",&a,&b);
c=sqrt(a*a+b*b); /*利用公式求斜边*/
area=a*b; /*利用公式求三角形面积*/
length=a+b+c; /*利用公式求三角形周长*/
printf("三角形的周长为%.2f,面积为:%.2f。",length,area);/*保留小数点后两位输出周长和面积*/}
程序运行结果
2.5.2 典型案例——英文大小写字母的转换
通过此案例了解字符类型数据在计算机中存储是以整数(ASCII码)形式存储的,所以将大写字母加上32转换成对应的小写字母;反之小写字母减去32可以转换成对应的大写字母。
【案例2-13】输入一个字母,判断它是否是小写字母,若是则转换成大写字母,否则不转换,并输出所得的结果。
程序分析
在输入一个字符时,先判断它的取值区间。大写字母A~Z的ASCII值是65~90,小写字母a~z的ASCII码值是97~122。大小写字母ASCII码的差值为32,因此把小写字母转换成大写字母只需将其ASCII码减去32即可,反之将大写字母转换成小写字母只需将其ASCII码加上32即可。
编写程序代码
1
2
3
4
5
6
7
8
9
10
/* 案例2-13 英文小写字母转换成大写字母 */
#include "stdio.h"
void main()
{
char c; /*定义变量c为字符数据类型*/
printf("请输入一个英文字母:");
scanf("%c",&c); /*输入字符c*/
c=(c>='a'&&c<='z')?c-32:c; /*若c在'a'~'z'范围内,转换成大写字母*/
printf("该大写字母为:%c
",c); /*输出转变后的结果c*/
}
程序运行结果
小结:
这节课我们通过上机验证了运算符与表达式、数据类型转换的内容,希望大家能够熟练掌握上机的操作过程,熟练掌握运算符与表达式、数据类型转换的上机操作。
备 注
注意:程序运行后是否与我们的预定相同。
学科网(北京)股份有限公司
$$