1、单元三:C语言顺序结构程序设计(二)(教案) 教学内容及教学过程 说明 步骤一 问题引入 在实际生活中,要完成某项工作,首先根据工作的性质决定采取什么方法,然后根据所采取的方法设计具体步骤,最后,再按照步骤实施完成。编写程序的过程也是如此,要编写一个程序,首先要设计算法。算法是解决问题的方法及步骤。第一步做什么,第二步做什么,在编程中尤其重要。顺序结构就是按照顺序由上到下依次执行各条语句,直至结束。 总体上讲,通过编程解决问题需要三个步骤: 第一步:数据输入,准备好程序要处理的原始数据; 第二步:数据处理,对输入的原始数据进行处理; 第三步:数据输出,通过屏幕显示等方式输出结果
2、数据。 这里所提到的数据输入、数据处理和数据输出就构成了顺序结构的三个基本环节。那么在数据的输入和输出环节,如何使用C语言进行描述呢? 【引例】根据三角形的三边,计算三角形的面积,其计算公式为: area= (其中a、b、c为三角形的三个边长,s=(a+b+c)/2) 试分析,通过编程解决该问题需要哪三个步骤: (1)输入 ;(2)计算 ; (3)输出 。 步骤二 讲授 3.2 格式化输入与输出 3.2.1格式化输出函数printf( ) 函数调用格式1:printf("字符串常量
3、"); 函数调用格式2:printf("格式控制字符串",输出项列表); 函数功能:格式1的功能是将“字符串常量”显示输出;格式2的功能是按“格式控制字符串”所规定的格式,将“输出项列表”中各输出项的值输出到标准输出设备。 【例3-3】 1.【例1-2】中的输出语句:printf("请输入矩形的长和宽:"); 2.【例1-2】中的输出语句:printf("该矩形周长为:%d.\n",c); 3.【例2-6】中的输出语句:printf("%d,%d,%d,%d\n",a,b,i,j); 4. printf("圆的面积为:%6.2f",area); //area
4、按照宽度为6,2个小数位的形式输出。 说明: ⑴“格式控制串” 是用双引号括起来的字符串,也称“转换控制字符串”。它包括“格式说明”和“普通字符”两种信息。 ①格式说明由“%”和格式字符组成,指定输出的数据按指定的格式输出。格式说明总是由“%”字符开始的。 ②普通字符,即按照原样输出的字符。 ⑵“输出列表” 是需要输出的一些数据,可以是表达式。 printf函数的一般形式可以表示为: printf(参数1,参数2,参数3……参敏n) printf函数的功能是将参数2…参数n 按参数1 给定的格式输出。 (3输出项的个数要与格式控制符的个数相同,否则会显示输出异常。 prin
5、tf函数常用的格式字符: 格式字符 说明 %d 以带符号的十进制整数形式输出 %u 以无符号十进制整数形式输出 %f 以小数形式输出,默认6位小数,输出双精度小数用%lf %c 以字符形式输出 %s 以字符串形式输出 %o 以八进制无符号形式输出整数(不输出前导标志符号0) %x或%X 以十六进制无符号形式输出整数(不输出前导标志符号0x),用%x则输出a~f时以小写形式输出,用%X则以大写形式输出 %e或%E 以指数形式输出浮点数,用%e则指数标志符号e以小写形式输出,用%E则以大写形式输出 %p 输出地址 %% 输出字符% printf函数中用
6、到的附加格式修饰字符:
格式字符
说明
l
用于长整型和双精度浮点型,可加在d、o、x、u、f之前
m
m代表一个整数,用于限定输出数据的最小宽度,当m小于实际宽度时失效
.n
n代表一个整数,用于浮点数输出时,限定输出浮点数时的小数位数;用于字符串输出时,表示截取的字符个数
-
输出的数据左对齐
+
输出的数据右对齐(默认)
0
当限定输出数据宽度m时,如果输出数据的宽度不足m,则以前导0补足
【随堂练习3-2】
1. 输出提示语“请输入银行卡密码:”的语句可描述为 。
2. 分析下列程序输出结果。
#include 7、>
void main( )
{ int a=65,b=97;
double m=3.14159;
printf("%c-%d\n%c-%d\n",a,a,b,b);
printf("a=%06d,b=%-6d.\n",a,b);
printf("a=%d,a=%o,a=%x\n",a,a,a);
printf("m=%lf.\n",m);
printf("m=%4.3lf.\n",m);
printf("m=%06.3lf.\n",m);
8、
}
3.2.2格式化输入函数scanf( )
函数调用格式:scanf("格式控制字符串",输入项地址列表);
函数功能:按“格式控制字符串”所规定的格式,给“输入项地址列表”所对应的存储单元输入数据。
【例3-4】
1.【例1-2】中scanf("%d%d",&a,&b);
2.【例2-1】中scanf("%f",&r);
3. scanf("%d,%d",&a,&b);
说明:
(1)“格式控制字符串”要用双撇括号括起来,可包括“格式控制符”和“普通字符”,其中“格式控制符”由%开头,后跟格式控制符(见表3-3)和附加格式说明符(见表3-4),“普通字符” 9、按原样输入。
(3)“输入项地址列表”由输入项变量地址组成,变量地址的表示方式为:&变量名,其中运算符&为取地址运算。
(4)输入项的个数要与格式控制符的个数相同,否则会异常。
表3-3 scanf函数中用到的格式字符
格式字符
说明
%d
用来输入带符号的十进制整数
%u
以无符号十进制整数形式输出
%f
用来输入单精度浮点数小数,默认6位小数,输入双精度浮点数用%lf
%c
用来输入字符
%s
用来输入字符串
表3-4 scanf函数中用到的附加格式说明字符
格式字符
说明
l
用于长整型和双精度浮点型,可加在d、u、f之前
m
m代表一个正整 10、数,用于指定输入数据所占宽度
*
表示本输入项在读入后不赋给相应的变量
【随堂练习3-3】
1.分别按照int、double和char类型给变量a,b,c输入数值的语句可描述为:
2.根据要求给出数据输入方法。
(1)有语句scanf("a=%d,b=%d",&a,&b);,要使a值为2,b值为3,则正确的输入方法是:
(2)有输入语句scanf("%d%c",&m,&n);,为使m值为6,n值为字母y,则正确的输入方法是:
11、
重点提示:输入数值时,在两个数值之间需要插入间隔符(空格、Tab键、回车),以使系统能区分两个数值。但用%c作为输入控制字符时,在输入字符数据之前不需要插入间隔符。
3.3综合应用案例
【例3-5】从键盘输入一个大写字母,然后转换成小写字母输出。
分析:这个实例面临的问题有两个,其一是输入输出方法,可采用字符输入输出函数getchar()、putchar(),也可以用标准的格式输入输出函数scanf()、printf(),后者中的格式控制使用%c;其二是大写字母如何转换成相应的小写字母。对应的大写和小写字母的差值为32,所以将大写字母加上3 12、2即可得到对应的小写字母,当然也可采用其他办法。
#include 13、在编程时应使用格式化输入输出函数完成。
#include 14、ead
2x+4y=foot
分析:鸡两只脚,兔4只脚。设有x只鸡,y只兔子,head为头的总数,foot为脚的总数。很容易得出方程组:
若head和foot的值已知,则可以推导出:y=(foot-2*head)/2,x=head-y。
程序代码如下:
#include 15、y;
printf("鸡与兔的数目分别为:%d,%d.\n",x,y);
}
【例3-8】商业贷款是时下不少购房者的选择。在银行贷款时共有两种贷款方式,分别为等额本息法和等额本金法,目前采用最多的是等额本息法。等额本息法还款即是把按揭贷款的本金总额与利息总额相加,然后平均分摊到还款期限的每个月中。作为还款人,每个月还给银行固定金额,但每月还款额中的本金比重逐月递增、利息比重逐月递减。
每月还款金额的计算公式是:
其中:
y——每月的还款金额(元);
a——贷款总金额(元);
n——贷款的总月数;
r——月利率。
请输入计算贷款总金额a、贷款的总年数和贷款基准月利率,计 16、算并输出每月的还款金额y。
分析:解答这个问题并不难,只需要将输入的贷款总金额a、贷款的总月数n和贷款基准月利率r代入上述公式即可。公式中有(1+r)的n次幂的运算,查阅附录D中的数学函数库可知,函数pow(x,y)的功能即是求幂运算的函数。
程序代码如下:
#include 17、 scanf("%d",&n);
printf("请输入月利率:");
scanf("%lf",&r);
y=a*r*pow(1+r,n)/(pow(1+r,n)-1);
printf("每月的还款金额为:%.2lf。\n",y);
}
注:调试运行时,以贷款总金额20万元,贷款10年,贷款基准月利率0.58%为例。
步骤三 课堂小结
1.C程序是通过函数实现数据的输入和输出的。
2.输入与输出
输出函数printf();
输入函数scanf()
3.顺序结构程序设计的定义及执行过程
步骤四 实验与作业
1. 实验内容
(1)教 18、材实例3-7
熟悉VC++6.0集成开发环境
理解顺序结构设计及其输入/输出函数的应用
培养初步的程序修改和调试能力。
(3)实训指导3、4
理解顺序结构程序设计的含义。
练习并掌握格式化输出函数printf()和输入函数scanf()的正确使用。
培养初步的程序修改和调试能力。
2.课后作业
(1)单元总结提升
重点理解第5题,掌握输入/输出函数的应用。
(2)单元练习
通过第一题的第3/5题,第二题的第4题,理解输出函数的应用。
(3)课外学习与指导
C语言程序代码编写规范
通过问题引入分析过程,提出编写程序的三个步骤
19、
与实例结合引入课堂内容
讲解、演示
重点之一
举例说明
讲解、演示
重点之一
举例说明
说明:务必注意数据类型应与格式说明匹配,否则将会出现错误。
对比讲解,举例说明
对比讲解,举例说明
通过随堂练习巩固,老师给予必要的提示,指导学生完成
总结归纳
讲解、演示
重点之一
注:地址表列是变量 20、的地址,而非变量名。
举例演示讲解
举例分析、对比、解
举例分析、对比、解
通过随堂练习巩固,老师给予必要的提示,指导学生完成
总结归纳
分析、演示讲解
注意小结过程中与学生的互动
分析、演示讲解
分析、演示讲解
分析讲解
自学完成
在实验中体会和理解
注意实验总结与积累
在总结中提升
在练习中强化
教
学
总
结






