C语言程序设计任务驱动式教程(第3版)全书教案单元设计_第1页
C语言程序设计任务驱动式教程(第3版)全书教案单元设计_第2页
C语言程序设计任务驱动式教程(第3版)全书教案单元设计_第3页
C语言程序设计任务驱动式教程(第3版)全书教案单元设计_第4页
C语言程序设计任务驱动式教程(第3版)全书教案单元设计_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C语言程序设计任务驱动式教程(第3版)全书教案单元设计第1单元 认识C语言程序授课内容:认识C语言程序学时:2学时(90分钟)教学目的和要求:了解C语言的发展和特征以及C语言的学习方法,掌握C语言的程序结构、运行过程及VC+6.0开发环境。教学重点:掌握C语言的程序结构、运行过程及VC+6.0开发环境。教学难点:C语言的程序结构。教学方法和手段:本节采用以教师为主导,学生为主体的案例教学,通过制作小名片讲解本节的教学内容,同时在教学过程中同时采用提问法、讨论法和互动式教学方法。思政元素:通过学习运行环境和简单编程,培养学生的严谨求实态度、工匠精神、创新精神,提高其创新能力以及规则意识授课内容提

2、纲:一、课程介绍1.介绍专业链路图,指出C语言在链路图中的课程地位2.学习方法和学习要求二、新课讲解(一)工作任务一:走进C语言世界C语言概述1.C的发展过程介绍里奇,引起学生兴趣2.C语言特点3.C语言的编译运行环境4.为什么要学习C?5.怎样学好C语言?6.遇到问题怎么办?当编程遇到问题,首先应该查看编译器提供的信息;能看懂别人的程序,但自己做就觉得无从下手。7.英语不行怎么办?工作任务二:制作一张自己的小名片C程序框架结构场景描述:刚刚走进大学校门的同学,为自己制作一张名片,让老师和同学们记住你的名字吧。相关知识1、C语言程序基本结构例1.1用C语言编程在屏幕上显示“Hello C Pr

3、ogram!”/* 输出“Hello C Program!”*/#include /预处理命令void main() /主函数 printf(Hello C Program!n); /输出语句1C语言程序的构成(1)一个源程序都有且只有一个main() 函数,即主函数,其前面的void代表函数没有返回值。main() 函数下面用 括起来的部分是一个程序模块。C语言的程序总是从主函数开始执行,并且回到主函数结束。(2)以“#”开始的语句属于预处理命令。源程序中可以有预处理命令,预处理命令通常放在源程序的最前面。(3)每一个语句都必须以分号结束,但预处理命令、函数头和花括号之后不加分号。(4)标识

4、符和关键字之间,至少要加一个空格。(5)源程序中需要解释和说明的部分,可以加以注释,以增加程序的可读性,编译系统会跳过注释行,不对其进行编译。 “/*.*/” 是多行注释,“/”是单行注释。2C语言程序的书写规则(1)在C语言中,虽然一行可以多个语句,一个语句也可占多行,但建议一行只写一个语句。(2)一般采用缩格式书写格式,以提高程序的可读性和清晰性。(3)C语言源代码一般用小写字母书写,除非另有约定。(4)在程序代码中,应加上必要的注释。3.编译和运行C语言应用程序(1)C语言应用程序的处理流程(2)C语言的运行环境的应用工作任务实施小名片程序代码如下:/*我的小名片*/#include v

5、oid main()printf(*n);printf(姓名:小强t性别:男n);printf(学校:河北工业职业技术学院n);printf(系别:计算机技术系n);printf(*n);四、教学总结与作业布置 【10分钟】 1.C程序的框架?2.C程序的书写规则?3.printf用法?4.C源程序、编译及目标程序的后缀?板书设计知识回顾新课讲解可擦写区域课程性质、地位学习方法及要求1. C概述2. C程序框架、构成(重点)#include /预处理命令void main() /主函数 printf(奋斗的青春最美n); /输出语句3.书写规则4.运行环境及运行过程讲解细节布置任务课后附记课程

6、介绍【约15分钟】教师自我介绍、公布自己的联系方式及邮箱,方便同学们有问题联系。第一次课介绍课程链路、课程地位、学习方法、学习要求新课讲解1:【约15分钟】任务总结分析:教师讲解C语言发展及特点,指出学习方法,介绍书籍资料及网络资源。新课讲解2【约30分钟】思路指导:(1)先讲解微小案例,教师现场编程,演示示例(2)再回顾关键代码,讲解C程序框架(3)引导学生总结C语言的构成和书写规则 完成工作任务【约20分钟】(1)引导学生课堂编写制作小名片程序(2)提示易错处(3)引导学生会看错误提示,及掌握简单的排错方法。(4)printf的应用“t”,“n”的使用(5)引导学生分析错误提示,从而学会根

7、据错误提示修正代码总结:采用教师引导学生回答的方式进行【约10分钟】第2单元 C语言程序设计基础授课内容:学时:2学时(90分钟)教学目的和要求:掌握标识符及命名规则掌握常量和变量掌握基本数据类型及其表示形式理解运算符的运算规则及优先级关系学会基本数据类型间的转换规则教学重点:标识符常量、变量基本数据类型及其表示形式运算符教学难点:常量和变量基本数据类型间的转换教学方法和手段:本节采用以教师为主导,学生为主体的案例教学,首先通过计算圆面积实例引出本节的教学内容,同时在教学过程中同时采用提问法、讨论法、现场编程法和互动式教学方法。思政元素:通过学习培养学生的规则意识和严谨求实的学习态度授课内容提

8、纲:一、复习旧课导出新课上一个单元,我们制作了小名片,学习了C程序的基本架构(提问:基本架构?)引出:如何用程序语言描述一个人的年龄、性别、身高、体重?在程序中,数据又是如何存储的?在本单元,将通过几个小任务介绍C语言中的标识符、常量、变量、简单数据类型、基本运算符号、表达式和数据类型转换等。新课讲解工作任务一:计算圆的面积整型与实型数据,常量与变量相关知识1、标识符(1)系统标识符(2)用户标识符【思考】以下标识符是合法吗? 3s,s*T,-3x,bowy-1 在使用标识符时还必须注意以下几点:(1)在标识符中,大小写是有区别的。例如BOOK和book 是两个不同的标识符。(2)标识符虽然可

9、由程序员随意定义,但标识符是用于标识某个量的符号。因此,命名应尽量有相应的意义,以便阅读理解,作到“见名知意”。(3)标识符不能和关键字相同。关键字是C语言预先定义的、有固定含义的标识符,不能重新定义,也不能用作他用。2、常量和变量常量在程序的运行过程中,其值不能被改变的量就是常量。常量声明格式一般为:#define 例2.1: 符号常量的使用/*符号常量的使用*/#include #define PRICE 10 /声明常量void main()int total,num; /声明变量num=5;total=num*PRICE; /应用常量printf(%d,total);程序中用#defi

10、ne 命令定义常量PRICE代表10,在本程序中出现的PRICE都代表10。变量(1)定义变量。在C语言中,变量的使用必须首先定义。变量的定义形式如下:类型说明符 变量名1 ,变量名2,;(2)初始化变量。变量的初始化是指在定义变量的同时就给它赋一个初值。初始化语句格式如下:类型说明符 变量名1=初值1 ,变量名2=初值2,;(3)给变量赋值。变量=表达式;3、C语言的数据类型(1)基本数据类型整型数据(2)基本数据类型实型数据工作任务实施:已知半径,求圆的面积,程序代码如下:/*求圆的面积*/#define PI 3.14 /声明常量main()int r;/圆半径rfloat s;/圆面积

11、sr=2;s=PI*r*r;printf(“s=%.2f”,s);特别提示:(1)允许在一个类型说明符后,说明多个相同类型的变量。各变量名之间用逗号间隔。类型说明符与变量名之间至少用一个空格间隔。(2)变量说明必须放在变量使用之前。一般放在函数体的开头部分。(二)工作任务2:编制密码器字符型数据编制一个密码器,实现给友军发送加密电报,报文是由小写字母an组成,在发报时每输入一个字母,输出与其相邻的下一个字母,如何来编制这个密码器呢?相关知识基本数据类型字符型数据(1)字符常量(2)字符串常量字符变量例2.2:字符型变量的输出main()char c1,c2;c1=a;c2=b;printf(“

12、%c,%cn”,c1,c2);printf(“%d,%d”,c1,c2);工作任务实施编制密码器程序代码如下:/*编制密码程序*/#include void main()char word,password;printf(请输入an的一个字母:);scanf(%c,&word); /输入字符password=word+1;printf(加密后的字母为%cn,password);特别提示:(1)字符型数据除转义字符外,其值是由单引号引起来的一个字符。(2)字符3和数字3是不同的。ASCII表规定3的值是51。(三)工作任务3:分离数字问题运算符与表达式编写一个程序,从键盘输入一个三位整数,将其逆

13、序输出。例如:输入123,输出321。相关知识:1、运算符与表达式算术表达式:+,-,*,/,% 几点说明:若“/” 两边都是整型,结果就是一个整型。 如:3/2的结果就是1. “/” 如果有一边是小数,那么结果就是小数。 3/2.0的结果就是1.5“%”符号是余数,%符号两边要求是整数。赋值运算符 =如:a=3 把赋值号右边的3赋值给赋值号左边的变量a复合赋值运算符+=,-=,*=,/= 算术运算符和赋值运算符复合使用赋值表达式注意:常量不可以赋值。赋值的左边只能是一个变量。复合运算符,例a*=2+3;运行完成后,a的值是12。首先要在2+3的上面打上括号。变成(2+3)再运算。赋值运算优先

14、级最低自加与自减运算符:+,-自加、自减表达式:如:a+ +a -b b等不管前缀+还是后缀+,对于变量的作用都是加一操作,但对于表达式来讲,+在前的表达式用的是变量加一以后的新值,+在后的表达式用的变量原来的值。-运算符同2、数据类型转换自动转换,char-int-float-double强制转换 (类型名) 表达式一定是 (int)a 不是 int(a),注意类型上一定有括号的。 注意:(int)(a+b) 和(int)a+b 的区别。 前是把a+b转型,后是把a转型再加b工作任务实施:三位整数逆序输出,程序清单如下:/*三位数逆序输出*/#include void main()int n

15、,a1,a2,a3;printf(请输入三位整数:);scanf(%d,&n);a1=n/100; /求百位a2=n/10%10; /求十位a3=n%10; /求各位printf(%d%d%dn,a3,a2,a1); /逆序输出特别提示:(1)分离数字是C语言的基础算法之一,请读者认真理解并学会。(2)“%”符号是余数,%符号两边要求是整数。教学总结与作业布置 1.常量,变量?2.数据类型及表示方式?3.各种运算符?板书设计知识回顾新课讲解可擦写区域1. C程序框架、构成2.书写规则3.运行过程1.标识符2.常量和变量3.整型、浮点型、字符型数据,变量的声明和赋值4.运算符、表达式布置任务教学

16、回顾:以提问方式,教师引导总结【约10分钟】新课讲解1:【约30分钟】小案例引入思路指导:每个小例题后,小结知识点,指出需注意的地方据任务一语句讲解知识点,并辅以微小案例,每各知识点小案例后,注意与学生互动,让学生回答,检验学习效果。 本任务知识点较多,注意15分钟左右有个小互动,课堂松弛一下。任务总结分析:教师带领学生分析数据的输入、结果的输出。再次强调标识符、常量、变量、各种数据类型等知识点。提示学生注意新课讲解2【约20分钟】思路指导:教师引导学生思考在编制密码的过程中需要输入哪些数据,保存在什么地方,如何处理,如何输出教师带领学生分析以上程序中数据的输入、存储和结果输出,特别是字符数据

17、类型的处理教师通过上述讲解提醒学生注意新课讲解3【约20分钟】思路指导:教师引导学生思考在逆序的过程如何处理,如何输出知识讲解任务总结分析:教师带领学生分析数据的处理、结果的输出。再次强调运算符和表达式的应用。通过讲解提示学生注意总结:采用教师引导学生回答的方式进行【约10分钟】课后附记第3单元 顺序结构程序设计授课内容:顺序结构程序设计学时:2学时(90分钟)教学目的和要求:通过顺序结构程序的学习,使学生了解程序的基本概念、掌握程序的基本结构、了解C语言中语句的种类、掌握输入输出函数的格式功能和使用方法。通过3个典型实例使学生体会顺序结构程序的设计思想,进一步加强学生逻辑思维能力和推理能力的

18、培养,同时帮助学生掌握更多的编程技巧。教学重点:掌握printf、scanf两个函数的格式、功能和用法。教学难点:scanf函数的理解和运用。教学方法和手段:本节采用以教师为主导,学生为主体的案例教学,首先通过设计一个菜单实例引出本节的教学内容,同时在教学过程中同时采用提问法、讨论法和互动式教学方法。思政元素:通过学习培养学生注重文化修养、道德修养的输入,为社会输出人生价值、为国家发展贡献力量授课内容提纲:一、复习旧课导出新课教师总结:在日常生活中,需要“按部就班、依次执行”处理和操作的问题随处可见,每年一度的迎新打会、年终总结大会等等都这样一种顺序结构。 二、新课讲解以同学们经常吃饭的川味酒

19、家的菜单为例引出第一个工作任务,引起同学们的学习兴趣。(一)工作任务一:菜单设计算法和程序的基本结构场景设计:小明和小康到饭馆就餐,刚刚落座,服务员拿出一本菜单,让两人点餐,小明和小康看看菜单,心想能否用C语言中的printf函数实现呢?相关知识:(教师讲解)算法的概念描述算法的工具流程图的介绍任务实现:(教师讲解)#include void main()printf(欢迎光临四川酒家n);printf( 油焖大虾 48元/份n );printf( 干煸豆角 20元/份n );printf( 水煮鱼 38元/份n );printf( 麻婆豆腐 15元/份n );拓展与提高:(教师讲解)程序设计

20、语言简介(高级语言、中级语言、低级语言)程序设计方法简介(建立数学模型、选定算法并用适当的工具描述、编写程序、测试与调试)结构化程序设计C语言中中的语句,再次特别强调赋值语句(二)工作任务二:小写字母转换成大写字母-字符输入输出函数场景设计:晓伟和明宽两个小朋友刚刚学习英文中26个英文字母,为了加强练习,晓伟写出大写字母,明宽写出与之对应的小写字母,请编写一个C语言程序,模拟上述过程。任务实现:(教师讲解)#include void main() char a; printf(请输入一个小写字母: ); a=getchar();/通过键盘输入一个小写字母 printf(该字母对应的大写字母是:

21、%c n, a-32); 相关知识:putchar 函数是字符输出函数, 其功能是在显示器上输出单个字符。一般形式为: putchar(字符变量)例如:putchar(A); 输出大写字母Aputchar(x); 输出字符变量x的值putchar(n); 换行 对控制字符则执行控制功能,不在屏幕上显示。 使用本函数前必须要用文件包含命令:#includegetchar函数的功能是从键盘上输入一个字符。其一般形式为:getchar();通常把输入的字符赋予一个字符变量,构成赋值语句。工作任务三: 输出学生个人信息-格式化输入输出函数场景设计:为了方便学生管理,班主任王老师安排学习委员张雪输出一张

22、学生个人信息表,表的格式如下:姓名 性别 年龄 数学 英语 C语言张雪 女 18 89 87.5 67.5.思路指导:(教师引导学生思考)输入:对于数据的输入用输入函数scanf(“格式控制字符串”,地址表列),年龄存储到变量age 中,数学成绩存储到变量math中,英语成绩存储到变量english中,C语言成绩存储到变量c中。输出:1表头的输出用无格式的输出函数printf(“字符串”);2对具体内容的输出用带格式的printf(“格式控制字符串”,输出项表列)。相关知识:(教师讲解)格式化的输入输出指的是按照指定的格式对数据进行输入输出操作,数据的输出用到库函数printf(),数据的输入

23、用到库函数scanf(),使用这两个函数时,程序设计人员需要指定输入输出数据的格式。(一)格式化的输出函数printf1printf函数调用的一般形式printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用printf 函数之前必须包含stdio.h文件。printf函数调用的一般形式为: printf(“格式控制字符串”,输出项表列);2函数功能按照格式控制字符串所指定的格式,将“输出项列表“中各输出项输出到标准输出设备。3有关说明(1)格式控制字符串可以包括:“格式转换说明符”,用于规定相应输出项内容的输出格式,格式字符串是以%开头的字符串,

24、在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。如“%d”表示按十进制整型输出,“%ld”表示按十进制长整型输出,“%c”表示按字符型输出等(见表3-1);“转义字符”用于输出所代表的控制代码或特殊字符;“普通字符”,要求原样输出的字符,在显示中起提示作用。(2)“输出表列” 输出表列中给出了各个输出项,可以是变量和表达式,输出项之间用逗号分隔。 要求格式字符串和各输出项在数量和类型上应该一一对应。如例3.3所示。(二)数据输入函数scanf 1scanf函数调用的一般形式scanf函数称为格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。(1)sca

25、nf函数的一般形式 scanf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中,与printf函数相同,语言也允许在使用scanf函数之前不必包含stdio.h文件。scanf函数的一般形式为: scanf(“格式控制字符串”,地址表列); 其中,格式控制字符串的作用与printf函数相同,但不能显示非格式字符串,也就是不能显示提示字符串。地址表列中给出各变量的地址。 地址是由地址运算符“&”后跟变量名组成的。例如,&a,&b分别表示变量a和变量b的地址。这个地址就是编译系统在内存中给a,b变量分配的地址。在语言中,使用了地址这个概念,这是与其它语言不同的。 应该把变量的值和变量

26、的地址这两个不同的概念区别开来。变量的地址是C编译系统分配的,用户不必关心具体的地址是多少。变量的地址和变量值的关系如下:如在程序中有如下赋值语句:a=67,则a为变量名, 67是变量的值,&a是变量a的地址。注意在赋值表达式中给变量赋值,赋值号左边是变量名,不能写地址,而scanf函数在本质上也是给变量赋值,但要求写变量的地址,如&a。这两者在形式上是不同的。&是一个取地址运算符,&a是一个表达式,其功能是求变量的地址。如例3.4所示。任务实现:#include void main()int age;int math,english,c;printf(请输入学生基本信息:);scanf(%d

27、,&age);scanf(%d%d%d,&math,&english,&c);printf(姓名t性别t年龄t数学t英语tC语言n);printf(张雪t女t);printf(%dt,age);printf(%dt%dt%dn,math,english,c);特别提示:(教师讲解)1格式控制字符串要用双引号扩起来。2输入项和输出项的个数、顺序和类型要与格式控制符的个数,顺序和类型要严格一致,否则会出现异常。(四)教学总结和作业布置1.教学总结:本单元首先介绍了程序和算法的基本概念,然后重点讲解了C程序输入和输出操作是由函数printf() 、putchar()、scanf() 、getchar

28、()来实现的。C语言格式输入输出的规定比较麻烦,应用不对就得不到预期的结果,而输入输出又是最基本的操作,几乎每一个程序都包括输入输出。作业P54-55思考与训练五、板书设计知识回顾新课讲解可擦写区域程序和程序的基本特征2.表达式的书写规则1.无格式的输出(printf函数)2.字符的无格式的输入和输出3.有格式的输入和输出讲解细节布置任务六、课后附记教学回顾:以提问方式进行,教师引导总结问题1:什么是程序?问题2:程序的基本特征是什么?问题3:表达式的书写规则?【约10分钟】新课讲解1:【约30分钟】1.生活小案例引入,吸引学生学习兴趣2.思路指导:教师引导学生思考对于菜单的设计,应该考虑显示

29、的位置、界面整齐、美观自然、使用方便等、培养学生的审美和服务意识。任务总结分析:据任务一语句讲解,重点讲解无格式的输出函数的使用方法,注意事项。注意与学生互动,让学生回答,检验学习效果。教师提问:C中的赋值号与数学上的等号有什么区别?教师引导学生回答。新课讲解2【约10分钟】教师带领学生分析:输入的大写字母存储位置。大写字母和小写字母的ASCII码相差32,如:大写字母A的ASCII码为65,而小写字母a的ASCII码是97。因此,大写字母加32变为小写字母。输出:ch+32即为对应的字符,教师带领学生分析如上程序对字符输出函数、字符输入函数进行讲解教师用生活小案例引入,吸引学生学习兴趣【约3

30、0分钟】教师带领学生分析左侧程序,分析printf和scanf函数的使用方法并提请同学们注意教学总结:采用教师引导、学生回答的方式进行.顺序结构程序的特点是什么?格式化输入和输出和无格式化的输入和输出的区别是什么?最后教师总结本单元的重点和难点【约10分钟】第4单元 选择结构程序设计(第一讲)授课内容:单分支和双分支学时:2学时(90分钟)教学目的和要求:通过if语句的学习,理解选择结构程序的基本思想,掌握简单选择结构程序的设计方法;通过实例使学生体会算法的基本思想,加强学生逻辑思维能力和推理能力的培养,同时帮助学生掌握更多的编程技巧。教学重点:掌握if分支语句的概念、格式、功能和用法。教学难

31、点:if语句的理解和运用。教学方法和手段:本节采用以教师为主导,学生为主体的案例教学,首先通过预测身高实例引出本节的教学内容,同时在教学过程中同时采用提问法、讨论法和互动式教学方法。思政元素:感恩父母,感恩朋友,感恩我们这个伟大的时代;培养学生爱国主义情操。授课内容提纲:一、复习旧课导出新课问题1:输入输出函数的格式与功能?问题2:顺序结构程序的特点是什么?问题3:在人生的成长道路中你遇到了哪些选择?教师总结:从程序的流程角度看,程序可以分为顺序结构,选择结构,循环结构三种基本结构。在大多数程序中都包含选择结构,它的作用是:根据给定的条件是否满足,从给定的两组或多组操作用选择其一,在C语言中若

32、想表示条件,一般用关系表达式或逻辑表达式,要想实现选择结构用if语句或switch语句,本节课我们要学习if语句的使用 二、新课讲解从班里挑选一个175cm的男生和165cm左右的女生询问影响他们身高的因素是什么?(引导学生回答)教师总结:影响身高的因素有:遗传因素、饮食习惯、体育锻炼,从中教育学生从小要养成良好的生活习惯,从而引出第一个工作任务(一)工作任务一:身高预测简单if 语句的运用相关知识:(教师讲解)1.条件的描述:(1)关系运算符和关系表达式关系运算符(、=、b关系表达式的值:1或0;在C语言中非0即为真,0为假(2)逻辑运算符和逻辑表达式逻辑运算符(&、|、!)逻辑表达式:用逻

33、辑表达式连接起来的表达式,逻辑运算符的左右两边一般情况下是关系表达式,例如:(x%5=0)&x%(7=0)逻辑表达式的值:1或0;2.选择结构以及实现选择结构的方法(1)选择结构选择结构是三种结构之一,选择结构也称为分支结构,是对给定的条件进行判断,依据条件成立与否选择执行不同的操作的一种程序设计方法选择结构的表示方法:用流程图表示(2)实现选择结构的方法单分支选择语句语法:if(表达式)语句体功能:判断括号内表达式的值,若其值不为0,则执行语句体中的语句,否则,跳过语句体,执行语句体的后续语句流程图:典型例题编一个程序,若通过键盘输入的是大写字母,则把它转换成小写字母输出,若输入的是小写字母

34、,则不转换#include void main()char ch;printf(“请输入一个字母:”);scanf(“%c”,&ch);if(ch=a&ch=z)ch=ch-32;printf(“转换成的大写字母为:%c”,ch);工作任务的实施#include void main( ) char sex; /*孩子性别*/char sports; /*是否喜欢体育运动*/ char diet; /*是否有良好的饮食习惯*/ float myheight; /*孩子身高*/ float faheight; /*父亲身高*/ float moheight; /*母亲身高*/ printf(你是男

35、孩(b) 还是女孩(g)?); scanf(%1s, &sex); printf(你输入你爸爸的身高(cm):); scanf(%f, &faheight); printf(你输入你妈妈的身高(cm):);scanf(%f, &moheight);printf(你是否喜欢体育锻炼(Y/N)?); scanf(%1s, &sports); printf(是否有良好的饮食习惯等条件(Y/N)?); scanf(%1s, &diet); if (sex=b| sex=B) myheight=(faheight+moheight)*0.54; if (sex=g| sex=G) myheight=(f

36、aheight*0.923+moheight)/2.0; if(sports=Y| sports=y) myheight=myheight*(1+0.023); if(diet=Y|diet=y) myheight=myheight*(1+0.015); printf(Your future height will be % 6.2f (cm)n, myheight);特别提示:由上边的分析得出:(1)if后面的(表达式)一定要有圆括号;(2)表达式一般情况下是关系表达式和逻辑表达式,也可以是任意类型的C语言的合法的表达式,但计算结果必须为整型、字符型或浮点型之一。(3)语句序列如果为单条语句

37、,可以不加大括号,如果是多条语句,一定要加大括号,构成复合语句。(二)工作任务二:闰年判断- ifelse 语句的运用【约35分钟】相关知识(双分支选择语句): 1.语法: if(表达式)语句组1else语句组22.执行过程及功能:判断括号内表达式的值,若其值不为0,则执行语句组1中的语句,否则,执行语句体组中语句任务实施#include void main() int y,leap; printf(请输入一个年份:); scanf(%d,&y); if(y%4=0)&(y%100!=0)|(y%400=0) /闰年条件,经典 leap=1; else leap=0; if(leap=1) p

38、rintf(%d年是一个闰年,y); else printf(%d年不是一个闰年,y);特别提示(1)if和else同属于一个if语句,else不能作为语句单独使用,它只是if语句的一部分,与if配对使用,因此程序中不可以没有if而只有else;(2)只能执行与if有关的语句或者执行与else有关的语句,而不可能同时执行两者;(3)如果和是非复合语句,那么该语句一定要以分号结束。3.教学补充:条件表达式实现选择结构条件运算符:? : 典型例题编写一个程序,找出两方数据中的最大数#include void main()int a,b,max;printf(“请输入两个数据:”);scanf(“%

39、d%d”,&a,&b);man=(ab)?a:b;printf(“两个数据中的最大数为:%d”,max);四.教学总结与作业布置 五、板书设计知识回顾新课讲解可擦写区域1.程序的基本结构2.语句的分类3.输入输出函数1.关系运算符和关系表达式书写规则2.逻辑运算符和逻辑表达式书写规则3.选择结构程序的基本概念4.if选择结构5.if-else选择结构讲解细节布置任务六、课后附记教学回顾:以提问方式进行,教师引导总结【约10分钟】新课讲解1:【约35分钟】1.生活小案例引入,吸引学生学习兴趣2.思路指导:教师引导学生思考在预测身高的过程中需要输入哪些数据,保存在什么地方,判断条件是什么,需要怎样

40、的处理,最后需要输出什么结果。教师引导学生总结回答并问题:条件的描述方法选择结构的实现方法。此处补充一个小写字母转换成大写字母的小例题任务总结分析:教师带领学生分析数据的输入、条件判断、if语句的格式和使用、结果的输出。特别要分析程序中红题字部分,再次强调if语句的格式和使用。新课讲解2【约35分钟】提问学生:双分支和单分支有什么区别?教师介绍双分支语句的执行过程教师带领学生分析左侧程序中数据的输入、条件判断和结果输出,特别是双分支语句的执行过程和实现方法教师通过上述讲解提醒学生注意教师带领学生分析上述程序,分析与双分支语句的相同之处教学总结:采用教师引导、学生回答的方式进行.1.程序有哪些基

41、本结构?2.实现选择结构的方法?3.单分支和双分支的书写规格和执行过程?4.画流程图方法?【约10分钟】第4单元 选择结构程序设计(第二讲)授课内容:多路分支学时:2学时(90分钟)教学目的和要求:通过多路选择结构程序的学习,理解多路选择结构程序的基本思想,掌握它的执行过程;通过几个典型实例使学生体会多路分支的设计思想,进一步加强学生逻辑思维能力和推理能力的培养,同时帮助学生掌握更多的编程技巧。教学重点:掌握switch语句的概念、格式、功能和用法。教学难点:switch语句的理解和运用。教学方法和手段:本节采用以教师为主导,学生为主体的案例教学,首先通过划分考试成绩等级实例引出本节的教学内容

42、,同时在教学过程中同时采用提问法、讨论法和互动式教学方法。思政元素:努力学习,不负韶华;文明出行;培养学生爱国主义情操;编码规范意识。面临个人利益与国家利益相冲突的时候、勇于战胜自我、以国家利益为重授课内容提纲:一、复习旧课导出新课问题1:选择结构程序与顺序结构程序存在哪些区别?问题2:选择结构程序的特点是什么?问题3:实现选择结构程序的方法?问题4:选择结构程序中的条件如何设定?教师总结:在程序执行的过程中,根据给定的条件去分析、比较、判断,根据判断后的不同情况,转去执行不同的处理,这就是选择结构程序。实现选择结构的方法很多,如单分支、双分支语句和今天将要讲到的多分支语句,不管哪种语句,里边

43、的条件是必不可少的。一般情况下,条件应该使用关系表达式或逻辑表达式来表示。 二、新课讲解以河北工业职业技术学院考试成绩等级划分的规则为例引出第一个工作任务。(一)工作任务一:划分考试成绩等级多重if 语句的运用相关知识:(教师讲解)1.多重ifelse 语句的语法规则语法:if(表达式1) 语句体1else if(表达式2) 语句体2else if(表达式3) 语句体3 else if(表达式n) 语句体nelse 语句体n+12.执行过程工作任务的实施编写一个程序,要求输入一个学生的考试成绩,输出其分数和对应的等级。学生成绩分为5个等级:小于60分的为不及格;60-70之间的为及格;70-8

44、0之间的为中等;80-90分之间的良好;90分以上的为优秀。#include void main()int f;printf(“请输入一个学生的成绩:”);scanf(“%d”,&f);if(f60) printf(“不及格”);else if(f70) printf(“及格”);else if(f80) printf(“中等”);else if(f90) printf(“良好”);else if(f=100) printf(“优秀”);特别提示:由上边的分析得出:(二)工作任务二:旅游景点门票打折-嵌套if语句的运用语句的运用相关知识: 嵌套if语句(教师讲解)基本概念:if语句体中有出现了

45、if语句,称为if语句的嵌套任务实施#include void main()int month,age;float price=200,money;printf(请输入游览月份:);scanf(%d,&month); /输入月份printf(请输入游客年龄:); scanf(%d,&age); /输入游客的年龄if(month=5&month=65) money=0; /年龄是65岁以上吗?else if(age=65) money=0;else if(age14) money=price*0.8/2;else money=price*0.8;printf(该游客应购买门票价格为%.2f元,m

46、oney);特别提示(1)if和else同属于一个if语句,else不能作为语句单独使用,它只是if语句的一部分,与if配对使用,因此程序中不可以没有if而只有else;(2)只能执行与if有关的语句或者执行与else有关的语句,而不可能同时执行两者;(3)如果和是非复合语句,那么该语句一定要以分号结束。(三)工作任务三:一个小型计算器的设计-switch语句的运用相关知识1. switch语句switch语句属于多分支选择结构,和多分支if语句的功能基本相同,也用来处理程序中出现的多分支情况。switch语句通常适用于条件表达式的取值为多个离散而不连续的整型值(或字符型值)时实现多分支选择结

47、构。2. switch语句语法格式switch() case : break; case : break; case : break; default: 3.执行过程switch结构中没有break的执行过程:首先计算的值,当表达式的值与某一个case后面的常量表达式的值相等(匹配)时,则执行此case后的语句序列,执行完后,转到下一个case继续执行,直到switch语句体结束。如果表达式的值与case后面的常量表达式的值都不匹配,并且存在default标号,则执行default后的语句,直到switch语句体结束。在switch语句中使用break语句:break语句也称间断语句。可以在各

48、个case之后的语句最后加上break语句,每当执行到break语句时,立即跳出switch语句体。switch语句通常总是和break语句联合使用,使得switch语句真正起到多个分支的作用。任务实施#include void main() int a,b, n; printf(*n); printf( 欢迎使用小型计算器 n); printf( 设计人:李丽红 n); printf(*n); printf( 1.加法运算 n); printf( 2.减法运算 n); printf( 3.乘法运算 n); printf( 4.除法运算 n); printf( 5.退出 n); printf(

49、*n); printf(n); printf(请选择:); scanf(%d,&n); switch(n) case 1:printf(请输入两个数:);scanf(%d%d,&a,&b);printf(两数相加是:%d,a+b);break; case 2: printf(请输入两个数:);scanf(%d%d,&a,&b);printf(两数相减是:%d,a-b);break; case 3: printf(请输入两个数:);scanf(%d%d,&a,&b);printf(两数相乘是:%d,a*b);break; case 4: printf(请输入两个数:);scanf(%d%d,&a

50、,&b);printf(两数相除是:%6.2f,(float)a/b);break; case 5:exit(0); 特别提示(1)switch语句是关键字,其后面大括号里括起来的部分称为 switch语句体。要特别注意必须写这一对大括号。(2)switch后(表达式)的运算结果可以是整型、字符型或枚举型表达式等,两边的括号不能省略。(3)每一个case后的常量表达式的值必须互不相同。(4)default部分是可选的,且可以写在switch语句体中的任意位置,但可能会影响程序的运行结果。四.教学总结与作业布置 1.本单元重点讨论了选择结构的用法,选择结构用以实现条件判断,是在两个或多个情况中做

51、出选择。简单if结构、if-else结构、多重if结构和switch结构是C语言的选择结构语句,本单元结合了有代表性的实例介绍和分析了选择结构语句的用法。通过本单元的学习,读者能够了解选择结构程序设计的特点和一般规律,编写程序时应从可读性和程序效率多方面进行综合考虑,使用合适的语句结构,以提高代码质量。2.作业P78-80思考与训练五、板书设计知识回顾新课讲解可擦写区域1.简单if和if-else语句的格式与使用方法2.条件的描述3.实现选择结构的方法1.多重if语句的格式与运用2.嵌套if语句的格式与运用3.switch语句的格式与运用讲解细节布置任务六、课后附记教学回顾:以提问方式进行,教

52、师引导总结【约10分钟】新课讲解1:【约20分钟】1.生活小案例引入,吸引学生学习兴趣教师介绍多路分支语句的执行过程2.思路指导:教师引导学生思考在等级划分的过程中需要输入哪些数据,保存在什么地方,判断条件是什么,需要怎样的处理,最后需要输出什么结果。教师再次强调条件的描述方法备注:此部分内容只是普招班级讲解任务总结分析:教师带领学生分析数据的输入、条件判断、多重if语句的格式和使用、结果的输出。注意:多重if语句更适用于区间判断。如果if后的表达式只写了半幅,如上题f70&f=a&ch=A&ch=”Z)ch+=32; Putchar(ch);三、任务二:翻牌游戏do-while语句的运用【3

53、5分钟】讲解步骤:(1)演示示例(2)讲解语法,辅以流程图(3)微小案例,学会do-while循环(3)指导学生能够编写任务程序。直到型循环Do-while语句格式 do 循环语句组 while(表达式);典型例题:求1-100奇数之和、偶数之和(固定次数的循环)#include void main ( ) int i,s1=0,s2=0; do if (i%2=0) s1+=i; else s2+=I; i+; while (i=a&ch=A&ch=”Z)ch+=32;printf(“请输入字符:”); putchar(ch); while(getchar(ch)!=n);五、总结与答疑【1

54、0分钟】 1.如何设计一个循环?2.while循环的语法和流程图?3.do-while循环的语法和流程图?板书设计板书设计知识回顾新课讲解可擦写区域条件结构1.循环结构设计方法2.当型循环while语句3.直到型循环do-while语句讲解细节布置任务作业提交方式:上传服务器课后附记第5单元 循环结构程序设计(第二讲)授课内容:for循环和break语句和continue语句学时:2学时(90分钟)教学目的和要求:通过for 循环语句的学习,理解循环结构程序的基本思想,掌握循环结构程序的设计方法;通过实例使学生体会算法的基本思想,加强学生逻辑思维能力和推理能力的培养,同时帮助学生掌握更多的编程

55、技巧。教学重点:掌握for循环语句的概念、格式、功能和用法。教学难点:break语句和continue语句语句的理解和运用。教学方法和手段:本节采用以教师为主导,学生为主体的案例教学,首先通过歌唱比赛平均分实例引出本节的教学内容,同时在教学过程中同时采用提问法、讨论法和互动式教学方法。思政元素:软件信息安全、编码规则、规范意识。培养学生持之以恒、百折不挠、不断打磨专业能力的品质和工匠精神。授课内容提纲:一、回顾、任务、目标部分【10分钟】1.回顾2.简单介绍4个小任务(演示任务)3.学习目标能够运用for语句进行循环结构程序设计 能够运用break和continue语句控制循环 综合运用三种循

56、环语句进行嵌套循环结构程序设计 二、任务一:模拟中奖机for语句的运用【25分钟】讲解步骤:先演示任务一,引入,引起学生兴趣。再讲解语法及注意事项,最后指导学生能够编写任务程序。格式for (表达式1;表达式2;表达式3) 循环语句组任务二:经典九九乘法表循环嵌套的运用【15分钟】讲解步骤:(1)演示示例(2)分析循环嵌套中内层循环和外层循环运行效果(3)指导学生能够编写任务程序。任务三:找朋友break语句的运用【15分钟】讲解步骤:(1)提出问题,演示示例(2)分析break在循环中运行效果(3)指导学生能够编写任务程序。break语句格式:break;典型例题:从键盘输入若干字符,输出其

57、中的字母,直到输入回车结束。#include void main( ) char ch; while(1) ch=getchar(); if(ch=n) break; else if(ch=a&ch=A&ch=Z) putchar(ch); 任务四:猜数游戏continue语句的运用【15分钟】讲解步骤:(1)提出问题,演示示例(2)分析continue在循环中运行效果(3)指导学生能够编写任务程序。continue语句格式:continue;典型例题:打印出数字010,但跳过(即不输出)数字7。 main ( ) int i; for (i=0;i=10;i+) if (i= =7) con

58、tinue; printf (%5d,i); continue语句和break语句的区别是:continue语句只是结束本次循环,而不终止整个循环的执行;而break语句则是强制终止整个循环过程。六、总结与答疑【10分钟】 1.for循环的语法?2.continue、break的用法?七、作业提交方式:上传服务器 八、板书设计知识回顾新课讲解可擦写区域1.for语句2.break、continue语句1. 循环for语句2. 控制循环break和continue语句3.循环嵌套程序结构讲解细节布置任务课后附记第6单元 数组(第一讲)授课思路依次讲解:(1)通过生活实例引入,讲解为什么应用数组,

59、什么是数组(2)通过任务学习数组的声明与赋值,理解数组的下标,让学生理解并学会通过循环给数组赋值(3)通过任务学习数组的简单应用思政元素:鼓励学生与正能量的人交往,树立正确的交友观和价值观一、回顾、任务、目标部分【10分钟】1.回顾2.简单介绍4个小任务(演示任务)3.学习目标理解数组的概念掌握数组声明 掌握数组赋值 掌握数组简单应用 二、任务一:学生成绩存储一维数组的定义与输入输出【25分钟】讲解步骤:(1)先以生活中的实例引入数组概念及为什么要使用数组(2)演示任务一。再讲解语法及注意事项(3)最后指导学生能够编写任务程序。(4)小结一维数组的输入输出数组的概念一维数组的定义定义:类型说明

60、符 数组名常量表达式; 一维数组的初始化格式:类型说明符 数组名常量表达式=常量列表;例如 int a5=2,4,6,8,10;定义数组时不进行初始化,则该数组元素的值是不确定的。如果欲将数组所有元素的初值置为0,可以采用如下方式: static int a10;任务二:学生成绩计算与查找最值数组元素的引用【20分钟】讲解步骤:(1)演示示例(2)分析如何通过下标引用数组元素(3)指导学生能够编写任务程序。一维数组元素的引用C语言规定数组不能以整体形式参与数据处理,只能逐个引用数组元素。格式: 数组名下标;任务三:学生成绩排序数组的应用【25分钟】讲解步骤:(1)提出问题,演示示例(2)用打擂

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论