版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
教案
2020~2021学年第一学期课程名称:程序设计基础课程类别:专业基础课所属部门:计算机与通信学院主讲教师:李刚职称:副教授授课班级:320201使用教材:C语言程序设计第2版|微课版李刚主编
教务处制二○二○年九月使用说明(打印在封面反页)理论、实验、理实一体、实训和实习课程的教案模版一致。新入职我校的教师(副高职称以上、曾讲授过本课程的教师除外)在担任教学工作的前两年、其他教师上新课的第一轮,教案须手写。除此以外,教案可手写,可为电子文档。理论、实验、理实一体课程的节次以2节为单位进行填写;实习、实训课程的节次根据教学内容选取,一般为2~4节,最大节次单元不超过6节。每一轮课程教案,要体现出内容的更新。教案须以纸质形式带入课堂。教案章节或项目名称第一章C语言概述1.1-1.2本次授课类型理论□实验□理实一体□实训□实习班级地点周次星期节次授课进度320201尚学楼508十一31、2符合□超前□滞后教学目标1、了解C语言课程的专业地位和考核办法2、了解C语言的发展史及特点3、掌握C语言程序的基本构成教学重点1、C语言的发展史及特点2、C语言程序的基本构成教学难点C语言程序的基本构成教学设计教学环节内容要点与手段时间分配课程介绍课程地位、专业介绍及课程考核知识讲授15分钟新课引入手机、机器人、大数据、物联网、VR案例法5分钟新课介绍C语言的发展史知识讲授引导启发15分钟C语言的特点知识讲授引导启发20分钟C语言程序的基本构成操作演示知识讲授30分钟总结归纳了解C语言的发展史及特点,重点掌握C语言程序的基本构成归纳法5分钟作业布置教学效果及改进思路教案一、课程介绍本课程是计算机专业的一门专业基础课程,也是其它相关专业研究计算机控制以及嵌入式技术等的一门基础和工具课程。在软件技术、移动互联、网页制作专业课程体系中占据重要地位,作为专业基础课与java、android、jsp、php衔接。基本考核方法:通过考勤、作业、测验、实验等评定学生平时成绩(占60%),建议考勤占10%,作业占10%,测验占20%,实验占20%,通过闭卷考试评定学生理论成绩(期末考试占40%)情况综合评价学生成绩。二、新课引入三、C语言的发展史1963年,剑桥大学将ALGOL60语言发展成为CPL(CombinedProgrammingLanguage)语言。1967年,剑桥大学的MartinRichards对CPL语言进行了简化,于是产生了BCPL语言。1970年,美国贝尔实验室的KenThompson将BCPL进行了修改,并为它起了一个有趣的名字“B语言”。1973年,美国贝尔实验室的DennisM.Ritchie在B语言的基础上最终设计出了一种新的语言,他用BCPL的第二个字母作为这种语言的名字,即C语言。1977年DennisM.Ritchie发表了不依赖于具体机器系统的C语言编译文本——《可移植的C语言编译程序》。1978年,BrianW.Kernighian和DennisM.Ritchie出版了名著TheCProgrammingLanguage,使C语言成为目前世界上流行最广泛的程序设计语言。ANSIC标准于1989年被采用。四、C语言的特点(1)C语言具有结构语言的特点,程序之间很容易实现段的共享。(2)C语言的主要结构成分是函数。(3)运算符丰富。有34种运算符。(4)数据类型丰富。数据类型有整型、实型、字符型、数组类型、指针类型、结构体类型及枚举类型。(5)比较接近硬件。直接访问物理地址,进行位操作。printf("\007");(6)语法限制少和程序设计自由度大。(7)生成目标代码质量高、程序执行效率高。只比汇编程序生成的目标代码效率低10%~20%。(8)可移植性好。五、C语言程序的基本构成(1)第一个C程序首先通过C程序的简单实例来说明C语言源程序结构的特点和书写方式。【例1.1】输出某位同学的学号、姓名、性别、联系方式。main(){ printf("学号:35013101\n"); printf("姓名:王迪\n"); printf("性别:女\n"); printf("联系方式n");}程序说明://每一个C源程序都必须有,且只能有一个主函数(main函数)。//一个函数由两部分组成:函数的首部和函数体。//函数体由大括号“{}”括起来。//printf函数的功能是将要输出的内容送到显示器去显示。//双引号内的字符串按原样输出,但“\n”是转义字符,代表换行。下面再来看一个相对复杂的C程序。【例1.2】已知两个整数,求它们的和,并输出。#include"stdio.h"//include为文件包含命令main()//主函数{intx,y,sum;//定义三个变量x=2;y=3;//变量赋值sum=x+y;//计算和printf("sum=%d\n",sum);//输出结果}程序说明://#include称为文件包含命令,扩展名为.h的文件称为头文件,利用<>或者双引号""括起来,表明将该文件包含到程序中来,成为程序的一部分。////表明注释部分,也可以写成/*……*/,区别是//只能用在一行,/*……*/可用于多行同时注释,注释只起说明作用,在编译时不进行编译,当然也不被执行。注释可以放在程序的任何位置,内容也可以是任意字符。//每一个说明、每一条语句都必须以分号结尾。但预处理命令、函数头和花括号“}”之后不能加分号。//一行内可以书写一条或多条语句。例如:x=2;y=3;六、总结归纳所学知识为:C语言的发展史及特点、C语言程序的基本构成。其中重点知识为C语言的发展史及特点和C语言程序的基本构成。难点知识为C语言程序的基本构成。
章节或项目名称第一章C语言概述1.3-1.4本次授课类型理论□实验□理实一体□实训□实习班级地点周次星期节次授课进度320201尚学楼508十二15、6符合□超前□滞后教学目标1、掌握VisualC++6.0开发环境及应用2、掌握C语言程序的开发过程教学重点1、VisualC++6.0开发环境及应用2、C语言程序的开发过程教学难点VisualC++6.0开发环境及应用教学设计教学环节内容要点与手段时间分配新课引入QQ、微信、word软件使用案例法5分钟新课介绍C语言程序的开发过程知识讲授引导启发25分钟VisualC++6.0开发环境知识讲授引导启发30分钟常见的编译错误与调试操作演示知识讲授20分钟总结归纳掌握C语言程序的开发过程,重点掌握VisualC++6.0开发环境,了解常见的编译错误与调试归纳法5分钟作业布置P13:一(1、5)、二(2、3、5)、三(2)知识讲授5分钟教学效果及改进思路教案一、新课引入图1.1生活中常用软件二、C程序的开发过程一般C程序开发要经历四个基本步骤:编辑、编译、连接和运行,其操作过程如图1.2所示。编辑编辑.c文件编译.obj文件连接.exe文件运行程序结果图1.2C程序的编辑、编译、连接和运行过程图三、VisualC++6.0开发环境1.启动VisualC++6.0选择“开始”菜单“程序”项或者桌面上快捷方式中的MicrosoftVisualC++6.0(),启动VisualC++6.0编译系统。2.新建项目选择“File”菜单中的“New”项,在出现的窗口中选择“Projects”选项卡中的Win32ConsoleApplication,输入工程名,设定保存位置,单击确定后弹出新窗口,选择默认选项,单击“Finish”按钮。3.新建文件选择“File”菜单中的“New”项,在出现的窗口中选择“Files”选项卡中的C++SourceFile,在“File”下面的文本框中输入文件名test.c。注意必须写扩展名“.c”,否则是C++程序。单击“ok”按钮。4.编辑源程序按照C语言程序设计要求,在编辑窗口中输入C语言源程序,编写代码时,要适当保存文件,防止突然关机时,代码丢失,请点击工具栏上的按钮。5.编译源程序选择“Build”菜单中的“Compiletest.c”项或单击工具栏上的按钮进行编译。如果程序未存盘,系统在编译前自动打开保存对话框,提示用户保存程序。在编译过程中如果出现错误,将在下方窗口中列出所有错误和警告。双击显示错误或警告的当前行,则光标定位在有错误的代码行,修改错误后重新编译,反复修改至无错误为止。没有任何错误时,显示错误和警告数都为0。6.连接目标程序编译没有错误之后需要构建.EXE文件,选择“Build”菜单中的“Buildtest.exe”项或单击连接按钮,与编译时一样,如果系统在连接过程中发现错误,将在窗口中列出所有错误与警告。修改错误重新编译和连接,直到编译和连接都没有错误为止。7.运行可执行文件选择“Build”菜单中的“Executetest.exe”项或单击运行按钮,在出现的黑屏中显示运行结果。需返回编辑窗口时按任意键即可。如果退出VC++环境后需要重新打开以前建立的文件test.c,则打开VC++环境后通过“File中的“Open”打开“test.c”。四、常见的编译错误与调试1.没有加入头文件stdio.h。main(){ printf("welcometoc_program!\n");}警告显示:解决办法:在主函数的上面加上代码#include"stdio.h"。2.主函数第一个字母大写了。#include"stdio.h"Main(){ printf("welcometoc_program!\n");}错误显示:解决办法:将Main修改为main。3.语句结束后忘记加分号“;”。#include"stdio.h"main(){ printf("welcometoc_program!\n")}错误显示:解决办法:在语句printf("welcometoc_program!\n")后面加上分号“;”。4.将英文状态下的双引号""写成中文状态下的双引号“”。#include"stdio.h"main(){ printf(“welcometoc_program!\n”);}错误显示:解决办法:将中文状态下的双引号“”修改为英文状态下的双引号""。六、总结归纳所学知识为:C语言程序的开发过程,VisualC++6.0开发环境,常见的编译错误。其中重点知识为C语言程序的开发过程、VisualC++6.0开发环境和常见的编译错误。难点知识为VisualC++6.0开发环境。七、作业布置P12:一(1、5、6)、二(2、3)、三(2)
章节或项目名称实验一熟悉C语言本次授课类型□理论实验□理实一体□实训□实习班级地点周次星期节次授课进度320201尚学楼508十二25、6符合□超前□滞后教学目标1、掌握VC++6.0编译环境使用2、掌握C语言源程序编辑、编译、连接、运行与调试的基本方法3、了解C语言程序的基本结构教学重点1、VisualC++6.0开发环境使用2、C语言程序的开发过程教学难点C语言程序的基本结构教学设计教学环节内容要点与手段时间分配任务介绍实验内容和实验要求讲解知识讲授5分钟任务讲解学生练习printf打印功能知识讲授引导启发20分钟简单数学运算知识讲授引导启发20分钟简单的C语言程序操作演示知识讲授35分钟总结归纳熟悉VC++6.0开发环境,了解C程序开发过程,能够编写简单的程序。归纳法5分钟作业布置书写实验报告、实验报告要求知识讲授5分钟教学效果及改进思路教案一、任务介绍实验任务:完成printf函数的使用、简单的数学运算、简单的C语言程序设计。实验要求:通过独立的分析、小组合作、教师指导,完成相应函数的编写。二、任务讲解1、查看下面程序的输出结果。#include<stdio.h>main(){ printf(“Howareyou!”);}运行结果:Howareyou!思考:(1)如果去掉printf(“Howareyou!”);中的分号;后结果如何?运行结果:missing';'before'}'(2)如果把printf(“Howareyou!”);改为printf(“How\tare\tyou!”);结果如何?运行结果:Howareyou!(3)如果把printf(“Howareyou!”);改为printf(“How\nare\nyou!”);结果如何?运行结果:Howareyou!2、查看一下下面程序的输出结果。#include<stdio.h>main(){inta,b,sum;//定义变量a=123;//初始化b=456;sum=a+b;//求和printf(“sumis%d\n”,sum);//打印结果}运行结果:sumis5793、编写一个简单的程序,实现如下输出结果:Joan:Hello!Mary:Hello!Joan:Howoldareyou?Mary:I’meighteen.程序:main(){printf("Joan:Hello!\n");printf("Mary:Hello!\n");printf("Joan:Howoldareyou?\n");printf("Mary:I'meighteen.");}4、编写一个简单的程序,输出三行信息:第一行输出自己的学号;第二行输出自己的姓名;第三行输出自己手机号码。main(){printf("35016125\n");printf("吴亦凡\n");printf(n");}三、总结归纳所学知识为:熟悉VC++6.0开发环境,了解C程序开发过程,能够编写简单的C程序。重点知识为VC++6.0开发环境和C程序开发过程。难点知识为能够编写简单的C程序。四、作业布置要求:代码调试准确,运行结果正确,报告书写清晰。内容:实验一代码填写。
章节或项目名称第二章C语言数据与运算2.1-2.3本次授课类型理论□实验□理实一体□实训□实习班级地点周次星期节次授课进度320201尚学楼508十二31、2符合□超前□滞后教学目标1、掌握C语言的基本数据类型2、掌握C语言中的常量概念及其基本类型3、掌握C语言中的变量概念及其基本类型4、掌握数据类型转换教学重点1、C语言中的常量概念及其基本类型2、C语言中的变量概念及其基本类型3、数据类型转换教学难点符号常量使用、数据类型转换教学设计教学环节内容要点与手段时间分配新课引入生活实例讲解,数据存在的三种类型案例法5分钟新课介绍C语言的基本数据类型知识讲授引导启发10分钟C语言中的常量概念及其基本类型知识讲授引导启发30分钟C语言中的变量概念及其基本类型知识讲授引导启发25分钟数据类型转换知识讲授引导启发15分钟总结归纳掌握基本数据类型、常量和变量、数据类型转换,重点掌握常量和变量、数据类型转换归纳法5分钟教学效果及改进思路教案一、新课引入整数:0、1、2、....9圆周率π:3.14字母:A、B、....Z二、C语言的基本数据类型整型:int实型:double(双精度)float(单精度)字符型:char三、C语言中的常量概念及其基本类型1.常量:在程序执行过程中,其值不发生改变的量称为常量。整型常量:12、0、-3;实型常量:4.6、-1.23;字符常量:‘a’、‘b’。字符形式功能\n换行\\反斜杠字符'\'\'单撇号字符\"双撇号字符\a报警,相当于’\007’符号常量:符号常量采用宏定义,其一般形式为:#define标识符常量四、C语言中的变量概念及其基本类型1.标识符和关键字(1)标识符是对变量名、函数名和其他各种用户定义的对象命名。命名规则:标识符由字母、数字或者下划线组成,且第一个字符必须是字母或下划线。注意:标识符区分大小写;标识符的有效长度取决于具体的C编译系统;标识符的书写一般采用具有一定实际含义的单词,这样可提高程序的可读性;标识符不能与C语言的关键字同名,也不能与自定义函数或C语言库函数同名。(2)关键字是具有固定名字和特定含义的特殊标识符,也称保留字,不允许程序设计者将它们另作别用。2.变量:在程序执行过程中,其值可变的量称为变量。图2.1生活实例变量在使用之前必须先定义,变量在内存中占据一定的存储单元。例如定义一个变量r,那么内存中就应该开辟一个空间,可以存储数据,如图2.2所示。rr1.5变量名变量值存储单元图2.2变量存储结构图(1)变量分类整型变量、实型变量、字符型变量(2)定义格式变量定义的一般形式为:类型说明符变量1,变量2,…;例如:inta,b;//a,b为整型变量floatm,n,q;//m,n,q为单精度实型变量doublex,y,z;//x,y,z为双精度实型变量charch1,ch2;//ch1,ch2为字符变量(3)举例#include"stdio.h"main(){intx,y,z;x=2;y=3;z=x+y;printf("%d",z);}五、数据类型转换1.自动类型转换自动类型转换发生在不同数据类型的量混合运算时,由编译系统自动完成。自动转换遵循以下规则:若参与运算量的类型不同,则先转换成同一类型,然后进行运算。转换按数据长度增加的方向进行,以保证精度不降低。如int型和float型运算时,先把int量转成float型后再进行运算。所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。如图2.3所示,表示了自动类型转换的规则。char,shortchar,shortintunsignedlongdoublefloat低高图2.3自动类型转换级别描述图2.强制类型转换其一般形式为:(类型说明符)(表达式)其功能是把表达式的运算结果强制转换成类型说明符所表示的类型。例如:(double)a将变量a强制转换为double类型(int)(x+y) 将x+y的值强制转换为int类型(float)(5%3)将5%3的值强制转换为float类型(float)x/y 将x强制转换成float类型后,再与y进行除法运算注意:表达式应该用括号括起来。进行强制类型转换时,得到的是一个所需类型的中间变量,原来变量的类型并未发生改变。六、总结归纳所学知识为:基本数据类型、常量和变量、数据类型转换。其中重点知识为常量和变量、数据类型转换。难点知识为符号常量使用、数据类型转换。
章节或项目名称第二章C语言数据与运算2.4本次授课类型理论□实验□理实一体□实训□实习班级地点周次星期节次授课进度320201尚学楼508十三15、6符合□超前□滞后教学目标1、掌握算术运算符与算术表达式2、掌握赋值运算符与赋值表达式3、了解逗号运算符与逗号表达式教学重点1、算术运算符与算术表达式2、赋值运算符与赋值表达式教学难点自加自减运算、复合运算教学设计教学环节内容要点与手段时间分配新课引入数学课程中运算符种类案例法5分钟新课介绍算术运算符与算术表达式知识讲授引导启发30分钟赋值运算符与赋值表达式知识讲授引导启发25分钟逗号运算符与逗号表达式知识讲授引导启发20分钟总结归纳重点掌握算术运算符与算术表达式、赋值运算符与赋值表达式,尽量了解逗号运算符与逗号表达式。归纳法5分钟作业布置P31:一(3、6、9、10)、二(1、2、3、6)、三(1)知识讲授5分钟教学效果及改进思路教案一、新课引入算术运算符:+、-、×、÷关系运算符:=、≠、≥、≤逻辑运算符:并且、或者、相反二、算术运算符与算术表达式1.基本算术运算符(1)加法运算符“+”,或正值运算符,如2+9=11,+6。(2)减法运算符“–”,或负值运算符,如9-5=4,-5。(3)乘法运算符“*”,如4*8=32。(4)除法运算符“/”,如7/2=3,两个整数相除结果为整数,舍去小数,只取商。(5)求模运算符“%”,或称求余运算符,要求两侧均为整数,如9%2=1。优先级别:()>*、/、%>+,–2.自加自减运算符(1)作用:自增运算使单个变量的值增1,自减运算使单个变量的值减1。(2)用法与运算规则:自增、自减运算符都有两种用法:前置运算──运算符放在变量之前:++a、--a,先使变量的值增(或减)1,然后再以变化后的值参与其它运算,即先增减、后运算。后置运算──运算符放在变量之后:a++、a--,变量先参与其它运算,然后再使变量的值增(或减)1,即先运算、后增减。3.算术表达式算术表达式是用算术运算符和括号将运算对象(也称操作数)连接起来的、符合C语法规则的式子,其中运算对象可以是常量、变量、函数等。例如:a*b/c-1.5+’a’是一个合法的算术表达式。(1)C语言算术表达式的书写形式与数学表达式的书写形式有一定的区别。(2)C语言规定了求值过程中,各运算符的“优先级”和“结合性”。三、赋值运算符与赋值表达式1.赋值运算符符号“=”为赋值运算符,作用是将赋值运算符右边的表达式的值赋给其左边的变量。例如:x=12;作用是执行一次赋值操作,将12赋给变量x。a=5+x;作用是将表达式5+x的值赋给变量a。注意:在赋值号“=”的左边只能是变量,而不能是常量或表达式,如不能写成:2=x;或x+y=a+b;2.复合赋值运算符在赋值符“=”之前加上其它二目运算符可构成复合赋值符。如+=,-=,*=,/=,%=。构成复合赋值表达式的一般形式为:变量复合赋值符表达式它等效于变量=变量运算符表达式例如:a+=5等价于a=a+5x*=y+7等价于x=x*(y+7)r%=p等价于r=r%p3.赋值表达式由赋值运算符组成的表达式称为赋值表达式。一般形式:变量=表达式例如:x=5赋值表达式x=5的值为5,x的值也为5。x=7%2+(y=5)赋值表达式的值为6,x的值也为6,y的值为5。a+=a*(a=5) 相当于a=5+5*5,赋值表达式的值为30。赋值表达式的功能是计算表达式的值再赋予左边的变量。赋值运算符具有右结合性,因此a=b=c=5可理解为a=(b=(c=5))。四、逗号运算符与逗号表达式C语言提供一种用逗号“,”运算符,逗号运算符又称顺序求值运算符。连接起来的式子,称为逗号表达式。一般形式表达式1,表达式2,……,表达式n说明:逗号表达式的求解过程为:先求解表达式1,再求解表达式2,依次类推。结合性自左向右。表达式n的值就是整个逗号表达式的值。逗号运算符的优先级是所有运算符中最低的。五、总结归纳所学知识为:算术运算符与算术表达式、赋值运算符与赋值表达式及逗号运算符与逗号表达式。其中重点知识为算术运算符与算术表达式、赋值运算符与赋值表达式。难点知识为自加自减运算、复合运算。六、作业布置P31:一(3、6、9、10)、二(1、2、3、6)、三(1)
章节或项目名称习题一本次授课类型理论□实验□理实一体□实训□实习班级地点周次星期节次授课进度320201尚学楼508十三25、6符合□超前□滞后教学目标1、巩固VC++6.0编译环境使用、C程序开发过程、简单C程序结构2、巩固基本数据类型、常量、变量、各种运算符和表达式教学重点1、简单C程序结构2、变量的定义、命名规则及简单应用3、各种运算符和表达式教学难点C程序结构注意说明、自加自减运算、复合运算教学设计教学环节内容要点与手段时间分配习题要求习题内容介绍及要求知识讲授5分钟习题讲解学生练习判断题知识讲授引导启发20分钟选择题知识讲授引导启发20分钟填空题知识讲授引导启发20分钟编程题知识讲授引导启发20分钟总结归纳要求所有学生掌握本次习题,期末考试占70%。归纳法5分钟教学效果及改进思路教案一、习题要求习题题型:判断题、选择题、填空题、编程题。习题要求:通过独立的分析、小组合作、教师指导,要求所有学生掌握本次习题,期末考试占70%。二、习题讲解(1)判断题1、C语言源程序文件的扩展名均为.S。()2、一个C语言程序总是从main函数开始执行。()3、C语言程序不区分大小写。()4、所谓常量,就是在程序运行过程中其值可以改变的量。()5、算术运算符中‘%’的优先级高于‘*’。()6、若intx=100,y=200;则语句printf("%d",(x,y));输出结果为100。()(2)选择题1、C语言源程序的基本单位是()。A、过程B、函数C、子程序D、标识符2、在C语言程序中,main函数的位置是()。A、必须作为第一个函数B、必须作为最后一个函数C、可以任意D、必须放在它所调用的函数之后3、以下定义字符常量PI语句正确的为()。A、definePI3.14B、definePI=3.14C、#definePI=3.14D、#definePI3.144、C语言中基本数据类型包括()。A、整型、实型、逻辑型 B、整型、实型、字符型C、整型、字符型、逻辑型 D、字符型、实型、逻辑型5、在C语言中,要求运算量必须是整型的运算符是()。A、! B、++C、!= D、%6、下列可用于C语言用户标识符的一组是()。A、a_5B、3yC、-abc D、while7、下列四个选项中,均是不合法的用户标识符是()。A、AP_0doB、floatlao_AC、b-aifint D、_123tempINT8、设floatm=4.0,n=4.0;使m为10.0的表达式是()。A、m+=n+2B、m-=n*2.5C、m*=n-6D、m/=n+99、表达式17%4/8的值为()。A、0 B、1 C、2 D、310、已知inta=6;则执行a+=a-=a*a;语句后,a的值为()。A、36B、0C、-24D、-6011、运行如下程序,其结果为()。main(){inti=4;printf(“%d\n”,i++);}A、4 B、3 C、2 D、512、设变量a是int型,f是float型,i是double型,则表达式10+′a′+i*f值的数据类型为()。A、intB、floatC、doubleD)不确定(3)填空题1、C程序的开发过程包括编辑源程序、、连接目标程序和四个步骤。2、当C语言源程序由多个函数组成时,程序总是从开始执行,且总是在中结束执行的。3、C语言的标识符只能由大小写字母,数字和下划线三种字符组成,而且第一个字符必须为。4、整型的标示符关键字为,单精度实型标示符关键字为。5、在C语言中,要求参加运算的数必须是整数的运算符是。6、与代数式等价的C语言表达式是。7、设x=2.5,a=7,y=4.7,则x+a%3*(int)(x+y)%2/4为。8、若有定义inta=3;则表达式a*=a+8的值为。(4)编程题1、编写程序实现,输出以下图形:********************三、习题答案(1)判断题:1、ⅹ2、√3、ⅹ4、ⅹ5、ⅹ6、ⅹ(2)选择题:1、B2、C3、D4、B5、D6、A7、C8、A9、A10、D11、A12、C(3)填空题:1、编译源程序运行2、mainmain3、字母或者下划线4、intfloat5、%6、(x*y)/(u*v)7、2.58、33(4)编程题1、#include"stdio.h"main(){ printf("*****\n"); printf("*****\n"); printf("*****\n"); printf("*****\n");}
章节或项目名称实验二数据类型及运算本次授课类型□理论实验□理实一体□实训□实习班级地点周次星期节次授课进度320201图书馆312十三31、2符合□超前□滞后教学目标1、进一步掌握调试程序的方法。2、掌握用户标识符的命名规则。3、掌握有关运算符与表达式的运用。4、熟悉运算符的运算优先级及强制类型转换。教学重点1、变量的定义和使用2、基本数学运算和自加自减运算3、强制类型转换教学难点自加自减运算教学设计教学环节内容要点与手段时间分配任务介绍实验内容和实验要求讲解知识讲授5分钟任务讲解学生练习基本数学运算符操作演示知识讲授20分钟整型和字符型通用操作演示知识讲授20分钟自加自减运算操作演示知识讲授20分钟强制类型转换操作演示知识讲授15分钟总结归纳重点掌握变量的定义、基本数学运算符、自加自减运算和强制类型转换。归纳法5分钟作业布置书写实验报告、实验报告要求知识讲授5分钟教学效果及改进思路教案一、任务介绍实验任务:完成基本数学运算符、整型和字符型通用、自加自减运算和强制类型转换实验题目。实验要求:通过独立的分析、小组合作、教师指导,完成相应程序的编写。二、任务讲解1、写出下面程序的输出结果(掌握运算符/、%的应用)#include<stdio.h>main(){ inti=15,j=4
;printf(“%d\n”,i/j)
;printf(“%d\n”,i%j);printf(“%d,%d\n”,i/10,i%10);}运行结果:331,52、写出下面程序的输出结果(整型和字符型通用)#include<stdio.h>main(){intc1,c2;c1=97;c2=98;printf(“c1=%c,c2=%c\n”,c1,c2);printf(“c1=%d,c2=%d\n”,c1,c2);}运行结果:c1=a,c2=bc1=97,c2=983、写出下面程序的输出结果(自增自减运算符的应用)#include<stdio.h>main(){ inti
;i=3;printf(“i=%d\n”,++i)
;}运行结果:i=4如果改为下面一条输出语句查看输出结果printf(“i=%d\n”,i++)
;运行结果:i=34、写出下面程序的输出结果(强制类型转换运算符)#include<stdio.h>main(){ floati=3.6
;intj;j=(int)i;printf(“i=%f,j=%d\n”,i,j)
;}运行结果:i=3.6,j=3三、总结归纳所学知识为:变量的定义和使用、基本数学运算符、整型和字符型通用、自加自减运算和强制类型转换。重点知识为变量的定义和使用、基本数学运算符、自加自减运算和强制类型转换。难点知识为自加自减运算。四、作业布置要求:代码调试准确,运行结果正确,报告书写清晰。内容:实验二运行结果及代码填写。
章节或项目名称第三章算法与流程图本次授课类型理论□实验□理实一体□实训□实习班级地点周次星期节次授课进度320201尚学楼508十七15、6符合□超前□滞后教学目标1、掌握算法的基本概念及主要特征2、掌握利用流程图描述算法的方法3、掌握C语言程序设计的三种结构教学重点1、算法的基本概念及主要特征2、利用流程图描述算法的方法3、C语言程序设计的三种结构教学难点C语言程序设计的三种结构教学设计教学环节内容要点与手段时间分配新课引入充话费实例演示案例法5分钟新课介绍算法的基本概念及主要特征知识讲授引导启发20分钟流程图表示法知识讲授引导启发25分钟程序设计三种结构知识讲授引导启发30分钟总结归纳重点掌握算法的基本概念及主要特征、流程图表示法和程序设计三种结构归纳法5分钟作业布置P40:一(1、2)、二(1、3)、三(3)知识讲授5分钟教学效果及改进思路教案一、新课引入图1-1充话费实例演示二、算法的基本概念及主要特征1.算法的定义现实生活中解决问题时,一般都要制订一个针对具体问题的步骤和方法,以此为据去实现目标。将为了解决问题所制订的步骤、方法称为算法(Algorithm)。【例3.1】计算下面的分段函数。算法描述:eq\o\ac(○,1)输入x的值;eq\o\ac(○,2)判断x是否大于0,若大于0,则y为2x-1,然后转第eq\o\ac(○,5)步;否则进行第eq\o\ac(○,3)步;eq\o\ac(○,3)判断x是否等于0,若等于0,则y为0,然后转第eq\o\ac(○,5)步;否则进行第eq\o\ac(○,4)步;eq\o\ac(○,4)y为3x+1(因为eq\o\ac(○,2)、eq\o\ac(○,3)步条件不成立,则肯定第eq\o\ac(○,4)步条件成立);eq\o\ac(○,5)输出y的值后结束。2.算法的特征(1)有穷性:算法中所包含的步骤必须是有限的,不能无穷无止,应该在一个人所能接受的合理时间段内产生结果;(2)确定性:算法中的每一步所要实现的目标必须是明确无误的,不能有二义性;(3)有效性:算法中的每一步如果被执行了,就必须被有效地执行。例如,有一步是计算X除以Y的结果,如果Y为非0值,则这一步可有效执行,但如果Y为0值,则这一步就无法得到有效执行;(4)有零或多个输入:根据算法的不同,有的在实现过程中需要输入一些原始数据,而有些算法可能不需要输入原始数据;(5)有一个或多个输出:设计算法的最终目的是为了解决问题,为此,每个算法至少应有一个输出结果,来反应问题的最终结果。三、流程图表示法1.流程图常用的图框符号起止框起止框输入/输出框处理框判断框判断框流程线连接符2.流程图表示法一个流程图包括以下几部分:(1)表示相应操作的框;(2)带箭头的流程线;(3)框内外必要的文字说明。对例3.1用流程图进行表示的结果如图1-2所示。图1-2例3.1算法的流程图表示法四、程序设计三种结构1.顺序结构流程图如图1-3所示。执行过程:先执行A,再执行B。BABAy=|x|输入x输出y图1-3顺序结构流程图图1-4例3.2算法流程图【例3.2】求x的绝对值,请画出该算法的流程图,结果如图1-4所示。2.选择结构流程图如图1-5所示。执行过程:先判断条件,如果条件成立,执行A,否则,执行B。条件?条件?B不成立成立A图1-5选择结构流程图3.循环结构流程图如图1-6所示。执行过程:先判断条件,如果条件成立,执行A,再循环判断条件,否则,跳出循环。成立不成立条件?成立不成立条件?A成立不成立圈数≤4?跨障碍图1-6循环结构流程图图1-7例3.3算法流程图【例3.3】某学生在操场上跑步,一共要跑四圈,每一圈都要跨过障碍,请画出该算法的流程图,结果如图1-7所示。五、总结归纳所学知识为:算法的基本概念及主要特征、流程图表示法和程序设计三种结构。其中重点知识为算法的基本概念及主要特征、流程图表示法和程序设计三种结构。难点知识为程序设计三种结构流程图画法。六、作业布置P40:一(1、2)、二(1、3)、三(3)
章节或项目名称第四章顺序结构程序设计本次授课类型理论□实验□理实一体□实训□实习班级地点周次星期节次授课进度320201尚学楼508十七25、6符合□超前□滞后教学目标1、理解C语言中具体算法设计和语句编写方法。2、掌握格式化输入scanf与输出printf函数。3、了解字符输入getchar与输出putchar函数。教学重点1、C语言中具体算法设计和语句编写方法2、格式化输入scanf与输出printf函数。教学难点字符输入getchar与输出putchar函数教学设计教学环节内容要点与手段时间分配新课引入两杯酒交换案例法5分钟新课介绍简单语句分析知识讲授引导启发25分钟格式化输入与输出知识讲授引导启发30分钟字符输入与输出知识讲授引导启发20分钟总结归纳重点掌握算法设计、C语句编写方法、格式化输入与输出,了解字符输入与输出归纳法5分钟作业布置P51:一(1、3、5)、二(3、5)、三(1)知识讲授5分钟教学效果及改进思路教案一、新课引入图1-1两杯酒交换二、简单语句分析1.具体算法设计实例介绍假设有一杯白酒和一杯啤酒,如何将两杯酒进行交换?首先进行具体的算法设计。算法设计:eq\o\ac(○,1)取一个空杯;eq\o\ac(○,2)将白酒杯中的白酒倒入空杯;eq\o\ac(○,3)将啤酒杯中的啤酒倒入白酒杯;eq\o\ac(○,4)将空杯中的白酒倒入啤酒杯;2.语句编写方法假设变量a的值为2,b的值为3,如何将a和b的值进行交换?根据上面具体算法设计实例,可以将变量a等同于白酒杯,变量b等同于啤酒杯,具体操作过程如图1-2所示。算法设计:eq\o\ac(○,1)定义三个变量a、b和t;eq\o\ac(○,2)2存储到a中,3存储到b中;eq\o\ac(○,3)将a的值存储到t中;eq\o\ac(○,4)将b的值存储到a中;eq\o\ac(○,5)将t的值存储到b中;eq\o\ac(○,6)输出a和b的值;图1-2数据交换算法设计后,将算法每一个步骤依次转化为C语句:eq\o\ac(○,1)inta,b,t;eq\o\ac(○,2)a=2;b=3;//多条语句可以写在同一行上eq\o\ac(○,3)t=a;eq\o\ac(○,4)a=b;eq\o\ac(○,5)b=t;eq\o\ac(○,6)printf("a=%d,b=%d\n",a,b);三、格式化输入与输出1.scanf函数eq\o\ac(○,1)函数格式scanf(格式控制字符串,变量地址列表)eq\o\ac(○,2)函数功能通过标准输入设备(键盘、写字板等),按照格式控制字符串中的格式要求为变量地址列表中的变量输入数据。【例1.1】要求变量a和b的值任意输入,怎么做?可以将上面代码a=2;b=3;修改为scanf("%d%d",&a,&b);就可以了,例如程序运行后输入45↙,结果如图1-3所示。445ab图1-3变量输入示意图eq\o\ac(○,3)格式控制字符串格式转换说明符功能描述%d输入一个十进制整数%f输入一个单精度实数%lf输入一个双精度实数%c输入一个字符eq\o\ac(○,4)变量地址列表变量地址列表由输入项组成,两个输入项之间用逗号分隔,输入项一般由地址符&和变量名组成,即:&变量名。eq\o\ac(○,5)其它说明(1)格式控制字符串中多个格式转换说明符之间没有逗号,输入数据时,通常使用空格键或者回车键来分隔数据;格式转换说明符之间有逗号,输入数据时,一定要用逗号来分隔数据。【例1.2】scanf("%d%d",&a,&b);程序运行后输入45↙,或者输入4↙5↙都可以。scanf("%d,%d",&a,&b);程序运行后输入4,5↙才可以。(2)格式转换说明符个数和类型必须与变量地址列表一一对应。//对应变量按照格式输入2.printf函数eq\o\ac(○,1)函数格式printf(格式控制字符串,输出列表)eq\o\ac(○,2)函数功能将输出列表中的各个表达式的值按照格式控制字符串中对应的格式输出到标准输出设备(显示屏)。eq\o\ac(○,3)格式控制字符串格式转换说明符功能描述%d输入一个十进制整数%f输入一个单精度实数%lf输入一个双精度实数%c输入一个字符eq\o\ac(○,4)输出列表输出列表由输出项组成,两个输出项之间用逗号分隔,输出项可以是一般的表达式,也可以是简单变量,即:变量名或者表达式。eq\o\ac(○,5)其它说明(1)格式转换说明符个数和类型必须与输出列表一一对应。//对应输出项按照格式输出【例1.3】inta=2,b=3;printf("%d%d%d",a,b);其中3个格式转换说明符,2个变量,表示方法错误。(2)格式控制字符串中可以有转义字符和普通字符。转义字符根据具体作用实现操作,普通字符原样输出。【例1.4】inta=2,b=3;printf("a=%d\tb=%d",a,b);//转义字符\t表示跳到下一个输出区程序运行后输出a=2b=3。四、字符输入与输出(可选内容)1.getchar函数eq\o\ac(○,1)函数格式getchar();eq\o\ac(○,2)函数功能getchar()函数的功能是从标准输入设备输入一个字符。eq\o\ac(○,3)说明(1)该函数没有参数,函数的返回值是从输入设备得到的字符。(2)从键盘上输入数据通过回车键结束,送入缓冲区,该函数从缓冲区中读入一个字符赋给字符变量。【例1.5】charch; ch=getchar(); printf("ch=%c\n",ch);程序运行后输入字符‘Y’↙,结果为ch=Y。2.putchar函数eq\o\ac(○,1)函数格式putchar(ch);ch可以是一个字符型常量、变量或者是一个不大于255的整型常量或者变量,也可以是一个转义字符。eq\o\ac(○,2)函数功能putchar()函数的功能是向标准输出设备输出一个字符。eq\o\ac(○,3)说明(1)输出字符型变量【例1.6】charch='Y'; putchar(ch);程序运行后结果为:Y(2)输出字符型或者整型常量【例1.7】putchar('I'); putchar(70);程序运行后结果为:IF,因为F的ASCII值为70。(3)输出转义字符【例1.8】putchar('\n');putchar('\007');转义字符'\n'代表换行,'\007'代表输出响铃。五、总结归纳所学知识为:算法设计、C语句编写方法、格式化输入与输出、字符输入与输出,其中字符输入与输出不做学习要求。其中重点知识为算法设计、C语句编写方法、格式化输入与输出。难点知识为字符输入与输出。六、作业布置P51:一(1、3、5)、二(3、5)、三(1)
章节或项目名称实验三顺序结构程序设计本次授课类型□理论实验□理实一体□实训□实习班级地点周次星期节次授课进度320201立业楼2309十七31、2符合□超前□滞后教学目标1、掌握C语言中格式化输入与输出函数使用2、掌握C语言中字符的输入与输出函数使用3、结合所学的内容,学会编写简单的C语言程序教学重点1、scanf函数和printf函数使用2、getchar函数和putchar函数使用3、算法设计过程及C语言编写方法教学难点1、输入输出函数的格式2、算法设计过程及C语言编写方法教学设计教学环节内容要点与手段时间分配任务介绍实验内容和实验要求讲解知识讲授5分钟任务讲解学生练习scanf函数和printf函数使用操作演示知识讲授30分钟getchar函数和putchar函数使用操作演示知识讲授20分钟算法设计过程及C语言编写方法操作演示知识讲授25分钟总结归纳重点掌握scanf函数和printf函数的格式、getchar函数和putchar函数格式、输入输出函数使用方法、算法设计过程及C语言编写方法归纳法5分钟作业布置书写实验报告、实验报告要求知识讲授5分钟教学效果及改进思路教案一、任务介绍实验任务:完成scanf函数和printf函数使用、getchar函数和putchar函数使用、算法设计过程及C语言编写方法实验题目。实验要求:通过独立的分析、小组合作、教师指导,完成相应程序的编写。二、任务讲解1、从键盘上任意输入一个三位整数,将它反向输出。例如输入256,则输出为652。程序:main(){ intm,n,g,s,b; printf("请输入一个三位整数:"); scanf("%d",&m); g=m%10;//个位数 s=m/10%10;//十位数 b=m/100;//百位数 n=g*100+s*10+b; printf("反向输出结果为:%d\n",n);}2、用getchar函数输入三个字符,然后用printf函数按输入次序输出这三个字符,并输出这三个字符的ASCII码值,最后用putchar函数按与输入字符相反的次序输出这三个字符。程序:main(){ charc1,c2,c3; c1=getchar(); getchar();//接收回车符 c2=getchar(); getchar();//接收回车符c3=getchar(); getchar();//接收回车符 printf("%c%c%c\n",c1,c2,c3);printf("%d,%d,%d\n",c1,c2,c3); putchar(c3); putchar(c2); putchar(c1);}3、从键盘上任意输入圆的半径,显示出圆的周长和面积。程序:main(){floatr,p,s;printf("请输入圆的半径:");scanf("%f",&r);p=2*3.14*r;s=3.14*r*r;printf("圆的周长为%f,圆的面积为%f\n",p,s);}三、总结归纳所学知识为:scanf函数和printf函数的格式、getchar函数和putchar函数格式、输入输出函数使用方法、算法设计过程及C语言编写方法。重点知识为scanf函数和printf函数使用、getchar函数和putchar函数使用、算法设计过程及C语言编写方法。难点知识为输入输出函数的格式、算法设计过程及C语言编写方法。四、作业布置要求:代码调试准确,运行结果正确,报告书写清晰。内容:实验三代码编写。
章节或项目名称习题二本次授课类型理论□实验□理实一体□实训□实习班级地点周次星期节次授课进度320201尚学楼508十八15、6符合□超前□滞后教学目标1、巩固算法与流程图相关知识2、巩固输入输出函数、C语句编写方法教学重点1、scanf和printf函数2、C语句编写方法教学难点1、C语句编写方法教学设计教学环节内容要点与手段时间分配习题要求习题内容介绍及要求知识讲授5分钟习题讲解学生练习判断题知识讲授引导启发20分钟选择题知识讲授引导启发20分钟填空题知识讲授引导启发20分钟编程题知识讲授引导启发20分钟总结归纳要求所有学生掌握本次习题,期末考试占70%。归纳法5分钟教学效果及改进思路教案一、习题要求习题题型:判断题、选择题、填空题、编程题。习题要求:通过独立的分析、小组合作、教师指导,要求所有学生掌握本次习题,期末考试占70%。二、习题讲解(1)判断题8、流程图中用菱形符号表示条件判断。()9、scanf函数功能是通过输入设备为变量输入数据。()10、函数putchar()的作用是:输入一个字符。()(2)选择题14、以下不属于算法基本特征的是()。A、有穷性B、有效性C、可靠性D、有一个或多个输出15、设有定义“inti=1;”,以下选项的四个表达式中与其他三个表达式的值不相同的是()A、i++B、i+=1C、i+1D、++i16、定义一整型变量intm,给m输入数值,正确的语句为()。A、scanf("%d",m);B、scanf("%d",&m);C、printf("%d",m);D、putchar(m);17、以下程序的输出结果为()。main(){inta=2,b=5;printf("a=%d,b=%d\n",a,b);}A、a=%2,b=%5B、a=2,b=5C、a=d,b=dD、2,518、以下叙述正确的是()。A、getchar()函数用于输入一个字符串B、getchar()函数用于输入一个字符C、putchar()函数用于输入一个字符D、putchar()函数用于输出一个字符串(3)填空题9、在程序设计中,把解决问题确定的方法和有限的步骤称为。10、在流程图符号中,判断框中应该填写的是。11、C语言的字符输出函数是。(4)程序填空题1、从键盘上任意输入圆的半径,显示出圆的面积。请将程序填写完整。main(){floatr,s;printf("请输入圆的半径:");scanf("%f",&r);;printf("圆的面积为%f\n",s);}(5)编程题2、编程实现,输入长方形的长和宽,求长方形的周长。3、编程实现,任意输入两个整数,求和后输出。三、习题答案(1)判断题:8、√9、√10、ⅹ(2)选择题:14、C15、C16、B17、B18、B(3)填空题:9、算法10、条件11、putchar(4)程序填空题1、s=3.14*r*r2、ta=b(5)编程题2、main(){ intlen,wid,c;scanf("%d%d",&len,&wid); c=(len+wid)*2;printf("c=%d\n",c);}3、main(){ inta,b,c;scanf("%d%d",&a,&b); c=a+b;printf("c=%d\n",c);}
章节或项目名称第五章选择结构程序设计5.1-5.2本次授课类型理论□实验□理实一体□实训□实习班级地点周次星期节次授课进度320201尚学楼508十八25、6符合□超前□滞后教学目标1、掌握关系运算符和关系表达式设计方法2、掌握逻辑运算符和逻辑表达式设计方法3、掌握单分支if语句格式及应用教学重点1、关系运算符和关系表达式设计方法2、逻辑运算符和逻辑表达式设计方法3、单分支if语句格式及应用教学难点1、关系运算符和逻辑运算符混合组建表达式2、单分支if语句格式及应用教学设计教学环节内容要点与手段时间分配新课引入大于号、小于号、等于号案例法5分钟新课介绍关系表达式设计知识讲授引导启发20分钟逻辑表达式设计知识讲授引导启发20分钟单分支if语句知识讲授引导启发40分钟总结归纳重点掌握关系表达式设计、逻辑表达式设计、单分支if语句格式及应用,难点为关系运算符和逻辑运算符混合组建表达式、单分支if语句格式及应用。归纳法5分钟教学效果及改进思路教案一、新课引入>、<、≥、≤、=、≠二、关系表达式设计1.关系运算符C语言中提供了6种关系运算符:<(小于)<(小于)<=(小于或等于)>(大于)>=(大于或等于)优先级高==(等于)!=(不等于)优先级低2.关系表达式用关系运算符将两个表达式(可以是算术表达式、关系表达式、逻辑表达式、赋值表达式等)连接起来的式子,称为关系表达式。关系表达式的值有两个分别为1和0,当关系表达式成立时,其值为1,当关系表达式不成立时,其值为0。【例5.1】已知a=1,b=2,c=3,则关系表达式a>b的结果为假,值为0;关系表达式a+b==c的结果为真,值为1。【例5.2】判断整型变量n为偶数,怎么书写关系表达式?能被2整除的数据称为偶数,那么可以写成n%2==0。【例5.3】判断成绩变量score为及格,怎么书写关系表达式?成绩大于等于60分称为考试及格,那么可以写成score>=60。注:算术-〉关系-〉逻辑-〉赋值三、逻辑表达式设计1.逻辑运算符逻辑运算符:&&(逻辑与),||(逻辑或),!(逻辑非),其中“&&”和“||”是双目运算符,它要求有两个运算量,且结合方向为左结合,如:a>b&&a<c,“!”是单目运算符,它只要求有一个运算量,且结合方向为右结合,如!a。!的优先级高于算术运算符,“&&”和“||”的优先级都低于算术运算符和关系运算符,高于赋值运算符,同时“&&”优先级又高于“||”,如下图所示。按照运算符的优先顺序可以得出:高低!(非)算术运算符关系运算符&&和||赋值运算符
a>b&&c>d
等价于
(a>b)&&(c>d)高低!(非)算术运算符关系运算符&&和||赋值运算符当两个表达式a和b的值为不同组合时,各逻辑运算会得到相对应的值,具体结果见表5.1为逻辑运算的“真值表”。表5.1逻辑运算真值表ABA&&BA||B!A000010非0011非00010非0非01102.逻辑表达式用逻辑运算符将两个表达式连接起来的式子称为逻辑表达式。C语言编译系统在给出逻辑运算结果时,以数字1表示“真”,以数字0表示“假”,但在判断一个量是否为“真”时,以0表示“假”,以非0表示“真”。逻辑表达式分为逻辑与表达式、逻辑或表达式和逻辑非表达式。(1)逻辑与表达式设A,B是两个表达式,如果一个表达式通过运算符的优先级别和结合方向最终可归结为A&&B的形式,则称这个表达式为逻辑与表达式,简称与表达式。(2)逻辑或表达式设A,B是两个表达式,如果一个表达式通过运算符的优先级别和结合方向最终可归结为A||B的形式,则称这个表达式为逻辑或表达式,简称或表达式。(3)逻辑非表达式设A是一个表达式,如果某个表达式通过运算符的优先级别和结合方向最终可归结为!A的形式,则称这个表达式为逻辑非表达式,简称非表达式。【例5.4】设a=10,b=11,c=12,求下列表达式的值:①a%2==0&&c%2==0②a+b<c&&b+c>a③a&&b||c④b+c||b-c||a⑤!(a>b)&&!c||a>c【例5.5】已知三条边分别为a、b和c,满足构成一个三角形,怎么书写关系表达式?三角形任意两条边之和大于第三条边,那么可以写成a+b>c&&a+c>b&&b+c>a。四、单分支if语句1.if语句的格式if(表达式)语句2.执行描述其中表达式可以是任意表达式,语句可以是一条语句,也可以是复合语句。执行过程:先判断表达式是否为真,如果为真,那么执行语句,如果为假,那么跳过语句执行后面的程序。3.if语句流程图如图5.1所示。真假真假表达式语句图5.1if语句流程图【例5.6】编程实现,输入C语言课程的成绩,如果大于等于60分,则输出“成绩及格”。算法设计:eq\o\ac(○,1)定义一个成绩变量;eq\o\ac(○,2)输入成绩;eq\o\ac(○,3)如果成绩大于等于60分,则输出“成绩及格”;代码清单5.1:#include"stdio.h"main(){intscore;scanf("%d",&score);if(score>=60) printf("C语言成绩及格!\n");}运行结果:输入90,输出“C语言成绩及格!”。【例5.7】编程实现,输入两个整数,将这两个数按照从小到大的顺序输出。算法设计:eq\o\ac(○,1)定义三个变量,其中一个用于交换;eq\o\ac(○,2)输入两个整数;eq\o\ac(○,3)如果第一个数大于第二个数,则交换;eq\o\ac(○,4)输出两个整数;代码清单5.2:#include"stdio.h"main(){ inta,b,t; scanf("%d%d",&a,&b); if(a>b) { t=a;a=b;b=t; } printf("%d%d\n",a,b);}运行结果:输入32↙,输出23。五、总结归纳所学知识为:关系表达式设计、逻辑表达式设计、单分支if语句格式及应用。其中重点知识为关系表达式设计、逻辑表达式设计、单分支if语句格式及应用。难点知识为关系运算符和逻辑运算符混合组建表达式、单分支if语句格式及应用。
章节或项目名称第五章选择结构程序设计5.3-5.4本次授课类型理论□实验□理实一体□实训□实习班级地点周次星期节次授课进度320201尚学楼508十八31、2符合□超前□滞后教学目标1、掌握双分支if...else语句格式及应用2、掌握多分支else...if语句格式及应用3、掌握if语句嵌套结构格式及应用教学重点1、双分支if...else语句格式及应用2、多分支else...if语句格式及应用教学难点if语句嵌套结构格式及应用教学设计教学环节内容要点与手段时间分配新课引入QQ登录验证案例法5分钟新课介绍双分支if...else语句格式及应用知识讲授引导启发25分钟多分支else...if语句格式及应用知识讲授引导启发30分钟if语句嵌套结构格式及应用知识讲授引导启发20分钟总结归纳重点掌握双分支if...else语句格式及应用、多分支else...if语句格式及应用,难点为if语句嵌套结构格式及应用。归纳法5分钟作业布置P72:一(1、3、6)、二(1、5)、三(3)知识讲授5分钟教学效果及改进思路教案一、新课引入二、双分支结构1.if…else…语句的格式if(表达式)语句1;else语句2;2.执行描述其中表达式可以是任意表达式,语句1和语句2可以是一条语句,也可以是复合语句。执行过程:先判断表达式是否为真,如果为真,那么执行语句1,如果为假,那么执行语句2,语句1和语句2只能执行其中一个。3.if…else…语句流程图如图5.1所示。输出偶数真假表达式输出偶数真假表达式语句2语句1真假n%2==0输入n输出奇数图5.1if语句流程图图5.2例5.1程序流程图【例5.1】编程实现,输入一个整数,判断是奇数还是偶数。算法设计:eq\o\ac(○,1)定义一个整型变量;eq\o\ac(○,2)输入一个整数;eq\o\ac(○,3)如果该整数除2取余等于0,则输出该数是偶数,否则输出该数是奇数;程序流程图如图5.2所示:代码清单5.1:#include"stdio.h"main(){ intn; scanf("%d",&n); if(n%2==0)printf("该数是偶数!\n"); elseprintf("该数是奇数!\n");}运行结果:输入8↙,则输出“该数是偶数!”,输入5↙,则输出“该数是奇数!”。三、多分支结构1.if...elseif语句的格式if(表达式1)语句1elseif(表达式2)语句2… elseif(表达式n)语句nelse语句n+12.执行描述其中表达式可以是任意表达式,语句可以是一条语句,也可以是复合语句。执行过程:先判断表达式1如果为真,那么执行语句1;否则判断表达式2如果为真,那么执行语句2;…否则判断表达式n如果为真,那么执行语句n;否则执行语句n+1。语句1、语句2…语句n和语句n+1只能执行其中一个。3.if...elseif语句流程图如图5.3所示。图5.3if...elseif语句流程图【例5.2】编程实现,输入顾客购买商品的消费总额,输出顾客实际付款金额,某商场打折活动,具体细则如下:(1)购买商品总额超过10000元(含10000元),打5折。(2)购买商品总额超过8000元(含8000元),打6折。(3)购买商品总额超过5000元(含5000元),打7折。(4)购买商品总额超过3000元(含3000元),打8折。(5)购买商品总额超过1000元(含1000元),打9折。(6)购买商品总额小于1000元不打折。算法设计:eq\o\ac(○,1)定义两个实型变量;eq\o\ac(○,2)输入顾客购买商品的消费总额;eq\o\ac(○,3)利用多分支结构判断条件,执行相应语句;eq\o\ac(○,4)输出顾客实际付款金额;程序流程图如图5.4所示:假假 假 A≥10000真真A≥8000A≥5000A≥3000A≥1000打9折不打折打8折打7折打6折打5折假 假 假 真真真图5.4例5.2程序流程图代码清单5.2:#include"stdio.h"main
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河南省安阳市龙安区重点中学2025-2026学年初三第一次六校联考物理试题试卷含解析
- 煤炭安全培训智能化管理系统
- 护理课件制作工具平台
- 网络运营精英规划
- 2025年前台防疫接待礼仪实操题
- 护理信息技术与智能护理
- 护理伦理实践
- 护理急诊护理要点
- 五年级下册第一单元教学初探 品童年况味育语文素养
- 2026三年级数学上册 乘法的核心素养
- 2026年成都农商银行软件开发岗(应用架构方向)社会招聘10人备考题库附答案详解
- 2026年及未来5年市场数据中国装甲车行业发展前景预测及投资战略数据分析研究报告
- 村务监督委员会培训课件
- 扣款合同补充协议模板
- 山东省石化工程消防设计审查技术指南
- 深圳龙岗区产服集团招聘笔试题库2026
- 2026年上海市各区高三语文一模试题汇编之文言文一(教师版)
- 2025年北京市公安局公开招聘警务辅助人员考试真题(附答案)
- 借用收款账户协议书
- 中国正常分娩临床实践指南
- 市政供冷工程施工方案
评论
0/150
提交评论