3.2C语言顺序结构程序设计(二) 教案(表格式)《C语言程序设计基础》同步教学(航空工业出版社)

资源下载
  1. 二一教育资源

3.2C语言顺序结构程序设计(二) 教案(表格式)《C语言程序设计基础》同步教学(航空工业出版社)

资源简介

教案首页 课程:C语言程序设计 授课教师: 学年 第 学期
周次 第 周 时间 年 月 日 专业班级:
授课 章节 单元三C语言顺序结构程序设计(二) 授课 方式 理论课□ 实验课□ 实训课□ 教学做一体化课程√ 教学 时数 2学时
教学 目的 1.理解顺序结构程序设计的定义及执行过程 2.掌握printf()、scanf()格式和程序应用
教 学 组 织 教学内容 教学过程设计及时间分配
1.输入和输出函数 (1)printf()格式和程序应用 (2)scanf()格式和程序应用 2.综合程序应用举例 (1)顺序结构的流程图及实现 复习、问题引入 启发、互动 5分 2. printf()格式和程序应用 实例讲授 25分 3.scanf()格式和程序应用 实例、讲授 25分 4.顺序结构程序设计流程图 讲授 10分 5.随堂练习和综合实例 20分 6.小结、作业及实验安排 讲授 5分
教学 重点 重点:printf()、scanf()格式和程序应用
教学 难点 难点:分析问题,按顺序写出相关的语句
教学 手段 启发式、理论讲授、环境实例演示、对比讲解、案例分析
双语 教学 函数(Function);语句(Statement);格式(Format);地址(Address);分隔符(Column Separator)
作业及 思考题 作业:单元总结与单元练习 知识拓展:通过网络查询并掌握C语言发展历史
参考 资料 谭浩强主编的《C语言程序设计》(清华大学出版社)。 丹尼斯·里奇《C语言程序设计》(第二版)。 3.NCRE考试用教程《C语言程序设计》(高等教育出版社)。 4.教学参考资料:《明解C语言》 柴田望洋 著 5.《乐在C语言》 蔡明志 著
本讲 内容 学法 指导 本讲讲述C语言中一对输入输出函数及顺序结构程序设计,重点理解输入输出函数的应用及顺序结构程序设计的步骤及分析问题的方法。上机验证简单的C程序。
单元三:C语言顺序结构程序设计(二)(教案)
教学内容及教学过程 说明
步骤一 问题引入 在实际生活中,要完成某项工作,首先根据工作的性质决定采取什么方法,然后根据所采取的方法设计具体步骤,最后,再按照步骤实施完成。编写程序的过程也是如此,要编写一个程序,首先要设计算法。算法是解决问题的方法及步骤。第一步做什么,第二步做什么,在编程中尤其重要。顺序结构就是按照顺序由上到下依次执行各条语句,直至结束。 总体上讲,通过编程解决问题需要三个步骤: 第一步:数据输入,准备好程序要处理的原始数据; 第二步:数据处理,对输入的原始数据进行处理; 第三步:数据输出,通过屏幕显示等方式输出结果数据。 这里所提到的数据输入、数据处理和数据输出就构成了顺序结构的三个基本环节。那么在数据的输入和输出环节,如何使用C语言进行描述呢? 【引例】根据三角形的三边,计算三角形的面积,其计算公式为: area= (其中a、b、c为三角形的三个边长,s=(a+b+c)/2) 试分析,通过编程解决该问题需要哪三个步骤: (1)输入 ;(2)计算 ; (3)输出 。 步骤二 讲授 3.2 格式化输入与输出 3.2.1格式化输出函数printf( ) 函数调用格式1:printf("字符串常量"); 函数调用格式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按照宽度为6,2个小数位的形式输出。 说明: ⑴“格式控制串” 是用双引号括起来的字符串,也称“转换控制字符串”。它包括“格式说明”和“普通字符”两种信息。 ①格式说明由“%”和格式字符组成,指定输出的数据按指定的格式输出。格式说明总是由“%”字符开始的。 ②普通字符,即按照原样输出的字符。 ⑵“输出列表” 是需要输出的一些数据,可以是表达式。 printf函数的一般形式可以表示为: printf(参数1,参数2,参数3……参敏n) printf函数的功能是将参数2…参数n 按参数1 给定的格式输出。 (3输出项的个数要与格式控制符的个数相同,否则会显示输出异常。 printf函数常用的格式字符: 格式字符说明%d以带符号的十进制整数形式输出%u以无符号十进制整数形式输出%f以小数形式输出,默认6位小数,输出双精度小数用%lf%c以字符形式输出%s以字符串形式输出%o以八进制无符号形式输出整数(不输出前导标志符号0)%x或%X以十六进制无符号形
输出整数(不输出前导标志符号0x),用%x则输出a~f时以小写形式输出,用%X则以大写形式输出%e或%E以指数形式输出浮点数,用%e则指数标志符号e以小写形式输出,用%E则以大写形式输出%p输出地址%%输出字符%
printf函数中用到的附加格式修饰字符: 格式字符说明l用于长整型和双精度浮点型,可加在d、o、x、u、f之前mm代表一个整数,用于限定输出数据的最小宽度,当m小于实际宽度时失效.nn代表一个整数,用于浮点数输出时,限定输出浮点数时的小数位数;用于字符串输出时,表示截取的字符个数-输出的数据左对齐+输出的数据右对齐(默认)0当限定输出数据宽度m时,如果输出数据的宽度不足m,则以前导0补足
【随堂练习3-2】 1. 输出提示语“请输入银行卡密码:”的语句可描述为 。 2. 分析下列程序输出结果。 #include 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); } 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),“普通字符”按原样输入。 (3)“输入项地址列表”由输入项变量地址组成,变量地址的表示方式为:&变量名,其中运算符&为取地址运算。 (4)输入项的个数要与格式控制符的个数相同,否则会异常。 表3-3 scanf函数中用到的格式字符 格式字符说明%d用来输入带符号的十进制整数%u以无符号十进制整数形式输出%f用来输入单精度浮点数小数,默认6位小数,输入双精度浮点数用%lf%c用来输入字符%s用来输入字符串
表3-4 scanf函数中用到的附加格式说明字符 格式字符说明l用于长整型和双精度浮点型,可加在d、u、f之前m代表一个正整数,用于指定输入数据所占宽度*表示本输入项在读入后不赋给相应的变量
【随堂练习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,则正确的输入方法是: 重点提示:输入数值时,在两个数值之间需要插入间隔符(空格、Tab键、回车),以使系统能区分两个数值。但用%c作为输入控制字符时,在输入字符数据之前不需要插入间隔符。 3.3综合应用案例 【例3-5】从键盘输入一个大写字母,然后转换成小写字母输出。 分析:这个实例面临的问题有两个,其一是输入输出方法,可采用字符输入输出函数getchar()、putchar(),也可以用标准的格式输入输出函数scanf()、printf(),后者中的格式控制使用%c;其二是大写字母如何转换成相应的小写字母。对应的大写和小写字母的差值为32,所以将大写字母加上32即可得到对应的小写字母,当然也可采用其他办法。 #include void main() {char ch1,ch2; printf("请输入一个大写字母:"); scanf("%c",&ch1); ch2=ch1+32; printf("对应的小写字母为:%c",ch2); } 【例3-6】简单模拟ATM机取款操作,仅要求输入取款金额,输出“正在出钞”提示。 分析:真实的ATM机为用户提供了良好的人机界面,在取款环节需要用户选择或输入取款金额,这里仅模拟由用户输入取款金额,然后显示输出“正在出钞”提示的功能。因为输入的金额是整型数值,所以在编程时应使用格式化输入输出函数完成。 #include void main() {int n; printf("请输入取款金额:"); scanf("%d",&n); printf("您的取款金额为%d元,正在出钞,请稍后……\n",n); } 【例3-7】鸡兔同笼是中国古代的数学名题之一。大约在1500年前,《孙子算经》中记载了这个有趣的问题。书中是这样叙述的:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”这四句话的意思是:有若干只鸡兔同在一个笼子里,从上面数,有35个头,从下面数,有94只脚。问笼中各有几只鸡和几只兔? (
x+y=head
2x+4y=foot
)分析:鸡两只脚,兔4只脚。设有x只鸡,y只兔子,head为头的总数,foot为脚的总数。很容易得出方程组: 若head和foot的值已知,则可以推导出:y=(foot-2*head)/2,x=head-y。 程序代码如下: #include void main( ) { int x,y,head,foot; //x只鸡,y只兔子,head为头的总数,foot为脚的总数 printf("请输入鸡兔总头数和总脚数:"); scanf("%d%d",&head,&foot); y=(foot-2*head)/2; x=head-y; printf("鸡与兔的数目分别为:%d,%d.\n",x,y); } 【例3-8】商业贷款是时下不少购房者的选择。在银行贷款时共有两种贷款方式,分别为等额本息法和等额本金法,目前采用最多的是等额本息法。等额本息法还款即是把按揭贷款的本金总额与利息总额相加,然后平均分摊到还款期限的每个月中。作为还款人,每个月还给银行固定金额,但每月还款额中的本金比重逐月递增、利息比重逐月递减。 每月还款金额的计算公式是: 其中: y——每月的还款金额(元); a——贷款总金额(元); n——贷款的总月数; r——月利率。 请输入计算贷款总金额a、贷款的总年数和贷款基准月利率,计算并输出每月的还款金额y。 分析:解答这个问题并不难,只需要将输入的贷款总金额a、贷款的总月数n和贷款基准月利率r代入上述公式即可。公式中有(1+r)的n次幂的运算,查阅附录D中的数学函数库可知,函数pow(x,y)的功能即是求幂运算的函数。 程序代码如下: #include #include void main( ) { double y,r; int a,n; printf("请输入贷款总金额:"); scanf("%d",&a); printf("请输入贷款总月数:"); 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)教材实例3-7 熟悉VC++6.0集成开发环境 理解顺序结构设计及其输入/输出函数的应用 培养初步的程序修改和调试能力。 (3)实训指导3、4 理解顺序结构程序设计的含义。 练习并掌握格式化输出函数printf()和输入函数scanf()的正确使用。 培养初步的程序修改和调试能力。 2.课后作业 (1)单元总结提升 重点理解第5题,掌握输入/输出函数的应用。 (2)单元练习 通过第一题的第3/5题,第二题的第4题,理解输出函数的应用。 (3)课外学习与指导 C语言程序代码编写规范 通过问题引入分析过程,提出编写程序的三个步骤 与实例结合引入课堂内容 讲解、演示 重点之一 举例说明 讲解、演示 重点之一 举例说明 说明:务必注意数据类型应与格式说明匹配,否则将会出现错误。 对比讲解,举例说明 对比讲解,举例说明 通过随堂练习巩固,老师给予必要的提示,指导学生完成 总结归纳 讲解、演示 重点之一 注:地址表列是变量的地址,而非变量名。 举例演示讲解 举例分析、对比、解 举例分析、对比、解 通过随堂练习巩固,老师给予必要的提示,指导学生完成 总结归纳 分析、演示讲解 注意小结过程中与学生的互动 分析、演示讲解 分析、演示讲解 分析讲解 自学完成 在实验中体会和理解 注意实验总结与积累 在总结中提升 在练习中强化
教 学 总 结

展开更多......

收起↑

资源预览