C语言程序设计 教案全套 王新萍_第1页
C语言程序设计 教案全套 王新萍_第2页
C语言程序设计 教案全套 王新萍_第3页
C语言程序设计 教案全套 王新萍_第4页
C语言程序设计 教案全套 王新萍_第5页
已阅读5页,还剩78页未读 继续免费阅读

下载本文档

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

文档简介

教案教学单位:计算机工程系课程名称:C语言主讲教师:课堂教学设计首页专业班级年月日课程C语言课程类型专业核心课学时2课题C语言概述上课地点计算机机房教学内容学情分析教学内容:本节是C语言入门第一课,介绍语言发展史、特点、应用领域、程序结构、开发环境与运行步骤,是编程学习的基础。学情分析:学生几乎无编程经验,对代码抽象概念陌生;好奇心强、动手意愿高,适合案例+演示教学。教学目标知识目标:了解C语言地位与应用;掌握C程序基本结构;熟悉开发与运行流程。技能目标:能运行第一个C程序;能识别程序基础组成部分。素质目标:培养逻辑思维、规范编码习惯与严谨治学态度。重点:C程序结构、main函数、编译运行步骤。难点:编程思想理解、编译与执行过程。思维问题:计算机是如何读懂并执行代码的?课堂教学过程设计创设情景(10分钟)教学活动:展示手机系统、软件、游戏、硬件控制,说明C语言的核心作用。教学方法:案例展示、问题导入。资源:PPT、程序演示截图。导入新课(5分钟)教学活动:介绍编程学习路线,明确本节课目标。新课讲授(45分钟)【重点+难点】教学活动:C语言特点→程序结构→main函数→代码编写→编译运行。练习与巩固(20分钟)教学活动:学生上机运行HelloWorld程序,教师巡回指导。课堂小结(5分钟)教学活动:梳理程序结构与运行步骤。交流与评价(5分钟)教学活动:抽查运行结果,集中纠错。思政元素:科技创新、严谨规范、工匠精神。作业要求:编写并运行第一个C程序,截图并写出程序各部分名称。板书设计:教学反思以实际应用导入激发兴趣;步骤化教学上手快。学生对编译运行理解较弱,下次增加动画演示。整体目标达成良好。课堂教学设计首页专业班级:年月日课程C语言课程类型专业核心课学时2课题常量和变量上课地点计算机机房教学内容学情分析教学内容:学习常量、变量的概念、定义格式、命名规则、使用方法,是C语言数据存储基础。学情分析:已会运行程序;对数据存储抽象概念理解慢,命名规则易出错。教学目标知识目标:掌握常量与变量概念;掌握变量定义格式与命名规则。技能目标:能正确定义变量并赋值;能区分常量与变量。素质目标:培养规范命名、数据安全与逻辑清晰意识。重点:变量定义、赋值、命名规则。难点:变量存储原理、数据变化理解。思维问题:为什么程序必须使用变量存储数据?课堂教学过程设计创设情景(10分钟):用生活中的固定数值与变化数值类比常量变量。导入新课(5分钟):明确数据存储重要性。新课讲授(45分钟)【重点+难点】:概念→规则→定义→赋值→案例。练习与巩固(20分钟):定义变量并输出。课堂小结(5分钟)总结规则与格式。交流与评价(5分钟):互评代码规范。思政元素:规范严谨、条理清晰、认真细致。作业要求:定义3个不同类型变量并赋值输出,提交代码。板书设计:教学反思类比教学效果好;命名规则与定义格式易出错,需强化练习。课堂教学设计首页专业班级:年月日课程C语言课程类型专业核心课学时2课题 数据类型上课地点计算机机房教学内容学情分析教学内容:学习整型、浮点型、字符型等基本数据类型,占用字节、取值范围与使用场景。学情分析:会变量定义;对类型选择、字节大小理解困难。教学目标知识目标:掌握常用数据类型;理解类型与存储空间关系。技能目标:能根据数据选择合适类型定义变量。素质目标:培养合理使用资源、精准编程意识。重点:int、char、float、double类型。难点:类型选择、字节与范围理解。思维问题:如何选择最合适的数据类型?课堂教学过程设计创设情景(10分钟):展示不同数据适用场景。导入新课(5分钟):引出类型重要性。新课讲授(45分钟)【重点+难点】:类型讲解→字节→范围→案例。练习与巩固(20分钟):按需求定义不同类型变量。课堂小结(5分钟):梳理类型用途。交流与评价(5分钟):答疑纠错。思政元素:节约资源、精准高效、科学规划。作业要求:用不同类型存储身高、学号、姓名并输出。板书设计:教学反思类型多易混淆,提供表格记忆更有效;学生能基本掌握选择方法。课堂教学设计首页专业班级:年月日课程C语言课程类型专业核心课学时2课题运算符表达式上课地点计算机机房教学内容学情分析教学内容:学习算术、赋值、复合赋值运算符,表达式书写与运算优先级。学情分析:会变量定义;数学基础较好,但优先级与整除易出错。教学目标知识目标:掌握常用运算符;理解优先级与结合性。技能目标:能正确书写表达式并计算结果。素质目标:培养精准计算、逻辑严谨能力。重点:+、-、*、/、%、=、+=、-=。难点:整除、取余、优先级、类型转换。思维问题:为什么5/2结果是2而不是2.5?课堂教学过程设计创设情景(10分钟):用计算器与代码运算对比。导入新课(5分钟):明确运算学习目标。新课讲授(45分钟)【重点+难点】:运算符→表达式→优先级→案例。练习与巩固(20分钟):表达式计算与编程验证。课堂小结(5分钟):总结易错点。交流与评价(5分钟):错题讲解。思政元素:精准计算、逻辑严谨、认真踏实。作业要求:编写程序实现加减乘除及复合运算,提交代码。板书设计:教学反思运算贴近数学,学生接受快;整除与优先级错误率高,需强化训练。课堂教学设计首页专业班级:年月日课程C语言课程类型专业核心课学时2课题格式输出printf上课地点计算机机房教学内容学情分析教学内容:学习printf函数、格式控制符、输出格式、转义字符,是程序结果展示核心。学情分析:会简单运算;格式符多易混淆,对齐与转义理解弱。教学目标知识目标:掌握printf用法;掌握%d、%f、%c、%s等格式符。技能目标:能按格式输出各种类型数据;能使用转义字符。素质目标:培养结果清晰、输出规范意识。重点:printf格式符、输出语法。难点:格式匹配、转义字符、对齐输出。思维问题:为什么输出数据必须对应正确格式符?课堂教学过程设计创设情景(10分钟):展示整齐输出与混乱输出对比。导入新课(5分钟):引出输出规范。新课讲授(45分钟)【重点+难点】:函数→格式符→转义字符→对齐。练习与巩固(20分钟):按要求格式化输出数据。课堂小结(5分钟):总结格式对应规则。交流与评价(5分钟):检查输出效果。思政元素:清晰规范、结果直观、严谨认真。作业要求:输出个人信息与运算结果,要求对齐美观。板书设计:教学反思格式符多易记混,提供速查表效果好;转义字符使用基本掌握。课堂教学设计首页专业班级:年月日课程C语言课程类型专业核心课学时2课题格式输入scanf上课地点计算机机房教学内容学情分析教学内容:学习scanf函数、格式输入、多变量输入、地址符&,实现程序交互。学情分析:会输出;地址符&理解困难,输入格式易出错。教学目标知识目标:掌握scanf用法;理解地址符&作用。技能目标:能从键盘输入数据给变量;能处理多输入。素质目标:培养交互编程与用户友好意识。重点:scanf格式、地址符、多变量输入。难点:&理解、格式匹配、输入缓冲区问题。思维问题:为什么变量前必须加&才能正确输入?课堂教学过程设计创设情景(10分钟):演示交互式程序,输入输出联动。导入新课(5分钟):引出交互重要性。新课讲授(45分钟)【重点+难点】:函数→地址符→格式→多输入→案例。练习与巩固(20分钟):编程实现输入计算输出。课堂小结(5分钟):总结输入规则。交流与评价(5分钟):集中纠错。思政元素:交互友好、用户至上、规范严谨。作业要求:编写输入两个数求和并输出程序。板书设计:教学反思地址符抽象难理解,简化比喻更有效;输入错误是高频问题,需强化练习。课堂教学设计首页专业班级:年月日课程C语言课程类型专业核心课学时2课题字符输入getchar上课地点计算机机房教学内容学情分析教学内容:学习getchar函数,单字符输入、读取原理,适用于简单交互场景。学情分析:会scanf;对字符输入机制、缓冲区理解弱。教学目标知识目标:掌握getchar函数功能与用法。技能目标:能实现单字符输入与处理。素质目标:培养细节处理与程序健壮性意识。重点:getchar单字符输入。难点:输入缓冲区、换行符残留问题。思维问题:连续输入字符时为什么会出现异常?课堂教学过程设计创设情景(10分钟):输入字符控制程序简单演示。导入新课(5分钟):明确字符输入用途。新课讲授(45分钟)【重点+难点】:函数→用法→缓冲区→案例。练习与巩固(20分钟):输入字符并输出ASCII码。课堂小结(5分钟):总结注意事项。交流与评价(5分钟):答疑纠错。思政元素:细节决定成败、严谨编程、程序稳定。作业要求:输入一个字符,输出其ASCII码值。板书设计:教学反思字符输入简单易用;缓冲区问题较难,简化处理方法更适合学生。

课堂教学设计首页专业班级:年月日课程C语言课程类型专业核心课学时2课题字符输出putchar上课地点计算机机房教学内容学情分析教学内容:学习putchar函数,单字符输出、ASCII码输出,与getchar配对使用。学情分析:会字符输入;对ASCII码与字符转换理解较弱。教学目标知识目标:掌握putchar用法;了解ASCII码基本概念。技能目标:能输出单个字符与ASCII转换。素质目标:培养数据处理与规范输出意识。重点:putchar单字符输出。难点:字符与ASCII码转换。思维问题:字符在计算机中如何存储与显示?课堂教学过程设计创设情景(10分钟):输出大小写字母转换效果。导入新课(5分钟):引出字符输出。新课讲授(45分钟)【重点】:函数→ASCII→案例→转换。练习与巩固(20分钟):大小写转换程序。课堂小结(5分钟):总结用法。交流与评价(5分钟):点评作品。思政元素:数据规范、清晰展示、精益求精。作业要求:输入小写字母输出大写字母,使用getchar/putchar。板书设计:教学反思字符转换案例激发兴趣;学生基本掌握输入输出配对使用。课堂教学设计首页专业班级:年月日课程C语言课程类型专业核心课学时2课题关系运算符上课地点计算机机房教学内容学情分析教学内容:学习>、<、>=、<=、==、!=关系运算,逻辑结果真/假,是分支循环基础。学情分析:会输入输出运算;相等==与赋值=易混淆。教学目标知识目标:掌握关系运算符与优先级;理解真/假逻辑值。技能目标:能正确书写关系表达式。素质目标:培养逻辑判断、条件思维能力。重点:>、<、>=、<=、==、!=。难点:==与=区分、逻辑结果理解。思维问题:为什么if判断中经常写成a==5而不是a=5?课堂教学过程设计创设情景(10分钟):生活条件判断类比程序逻辑。导入新课(5分钟):引出条件判断基础。新课讲授(45分钟)【重点+难点】:运算符→表达式→真/假→易错对比。练习与巩固(20分钟):条件判断表达式练习。课堂小结(5分钟):总结易错点。交流与评价(5分钟):错题讲解。思政元素:逻辑思维、理性判断、严谨规范。作业要求:编写程序判断两个数大小关系并输出结果。板书设计:教学反思==与=混淆是最高频错误,需反复强调警示;逻辑思维初步建立。课堂教学设计首页专业班级:年月日课程C语言课程类型专业核心课学时2课题If语句上课地点计算机机房教学内容学情分析教学内容:学习if、if-else、多分支if-elseif,程序分支结构核心。学情分析:会关系运算;对分支流程、缩进、语法块理解弱。教学目标知识目标:掌握三种if语句格式与执行流程。技能目标:能根据条件编写分支程序。素质目标:培养结构化编程与逻辑推理能力。重点:if、if-else、多分支判断。难点:条件书写、执行流程、大括号使用。思维问题:如何把生活中的判断翻译成if语句?课堂教学过程设计创设情景(10分钟):成绩分级、密码判断场景演示。导入新课(5分钟):引出分支结构。新课讲授(45分钟)【重点+难点】:格式→流程→案例→缩进规范。练习与巩固(20分钟):成绩判断、奇偶判断程序。课堂小结(5分钟):总结语法与流程。交流与评价(5分钟):检查逻辑正确性。思政元素:逻辑严谨、条理清晰、理性决策。作业要求:输入成绩判断等级(优秀/良好/及格/不及格)。板书设计:教学反思流程图理解效果好;多分支条件顺序易出错,需强化训练。课堂教学设计首页专业班级:年月日课程C语言课程类型专业核心课学时2课题Switch语句、if的嵌套上课地点计算机机房教学内容学情分析教学内容:学习switch-case-break-default;if嵌套多层判断,多条件分支进阶。学情分析:会基础if;switch穿透、if嵌套层次混乱易错。教学目标知识目标:掌握switch语法;掌握if嵌套规则。技能目标:能选用合适分支结构完成多条件判断。素质目标:培养清晰分层、规范编码习惯。重点:switch结构、break作用、if嵌套。难点:break穿透、嵌套层次、条件匹配。思维问题:什么时候用switch?什么时候用if嵌套?课堂教学过程设计创设情景(10分钟):菜单选择、多状态判断演示。导入新课(5分钟):引出多条件高效处理。新课讲授(45分钟)【重点+难点】:switch→穿透→break→if嵌套。练习与巩固(20分钟):菜单程序、多层条件判断。课堂小结(5分钟):总结适用场景。交流与评价(5分钟):集中纠错。思政元素:结构清晰、规范高效、逻辑严密。作业要求:用switch实现菜单选择,用if嵌套实现多条件判断。板书设计:教学反思break遗漏是高频错误;嵌套层次过多易混乱,提倡简洁写法。课堂教学设计首页专业班级:年月日课程C语言课程类型专业核心课学时2课题While和dowhile语句上课地点计算机机房教学内容学情分析教学内容:学习while、do-while循环结构、执行流程、循环条件与退出,循环入门。学情分析:会分支;循环条件、死循环、次数控制理解困难。教学目标知识目标:掌握while与do-while格式与执行流程。技能目标:能编写循环程序控制次数与退出。素质目标:培养重复执行、自动化处理思维。重点:while循环、do-while循环、循环变量。难点:循环条件、死循环避免、次数控制。思维问题:如何让程序准确执行指定次数?课堂教学过程设计创设情景(10分钟):自动计数、重复输入提示演示。导入新课(5分钟):引出循环价值。新课讲授(45分钟)【重点+难点】:格式→流程→变量→退出→案例。练习与巩固(20分钟):1~100求和、次数统计。课堂小结(5分钟):总结循环三要素。交流与评价(5分钟):死循环问题处理。思政元素:自动化高效、重复严谨、程序思维。作业要求:用while计算1~100和,用do-while实现至少执行一次。板书设计:教学反思循环三要素口诀记忆有效;死循环问题需强调条件变化。课堂教学设计首页专业班级:年月日课程C语言课程类型专业核心课学时2课题For语句上课地点计算机机房教学内容学情分析教学内容:学习for循环格式、执行流程、三要素合并写法,最常用循环结构。学情分析:会while循环;for执行顺序、初始化、条件、增量易混淆。教学目标知识目标:掌握for循环完整格式与执行顺序。技能目标:能熟练使用for完成计数循环。素质目标:培养简洁高效、规范编码意识。重点:for循环三要素、执行流程、计数循环。难点:执行顺序、循环变量变化。思维问题:为什么for循环最适合固定次数场景?课堂教学过程设计创设情景(10分钟):固定次数输出、批量处理演示。导入新课(5分钟):引出高效循环。新课讲授(45分钟)【重点+难点】:格式→执行顺序→三要素→案例。练习与巩固(20分钟):输出偶数、累加、计数。课堂小结(5分钟):总结写法与优势。交流与评价(5分钟):答疑纠错。思政元素:简洁高效、规范统一、工程思维。作业要求:用for输出1~20偶数并计算和。板书设计:教学反思for写法简洁,学生最喜欢;执行顺序需图示加强理解。课堂教学设计首页专业班级:年月日课程C语言课程类型专业核心课学时2课题循环的嵌套上课地点计算机机房教学内容学情分析教学内容:学习循环嵌套执行流程、外层内层关系、典型案例(九九乘法表)。学情分析:会单循环;嵌套层数、执行次数、缩进格式混乱。教学目标知识目标:掌握循环嵌套执行规则与缩进规范。技能目标:能编写双层循环实现矩阵与表格输出。素质目标:培养层次化、结构化编程能力。重点:双层for循环嵌套、缩进格式。难点:执行次数、内层与外层关系。思维问题:如何用嵌套循环输出规则图形?课堂教学过程设计创设情景(10分钟):展示九九乘法表、矩阵图案。导入新课(5分钟):引出多层循环需求。新课讲授(45分钟)【重点+难点】:嵌套流程→层数→缩进→案例。练习与巩固(20分钟):矩形、九九乘法表。课堂小结(5分钟):总结外层控制行、内层控制列。交流与评价(5分钟):点评格式整齐度。思政元素:层次清晰、结构规范、整齐美观。作业要求:用嵌套循环输出九九乘法表与矩形星号图案。板书设计:教学反思口诀“外层行、内层列”效果好;缩进混乱需强化格式规范。

课堂教学设计首页专业班级:年月日课程C语言课程类型专业核心课学时2课题习题讲解上课地点计算机机房教学内容学情分析教学内容:分支、循环、输入输出、运算高频错题集中讲解、强化训练。学情分析:单点知识基本掌握;综合运用、排错、规范较弱。教学目标知识目标:查漏补缺,巩固语法与流程。技能目标:能独立排错、规范书写、完成综合题。素质目标:培养错题复盘、总结提升能力。重点:if、switch、for、while、输入输出。难点:嵌套、条件、循环次数、格式匹配。思维问题:如何快速定位程序错误?课堂教学过程设计错题统计分析(10分钟):公布高频错误。典型错题讲解(35分钟)【重点】:逐题分析原因→正确写法→思路。强化训练(30分钟):限时编程练习。总结答疑(15分钟):梳理避错指南。思政元素:勤学善思、总结提升、严谨认真。作业要求:整理错题本,标注错误原因与正确代码。板书设计:教学反思习题课针对性强,提升明显;部分学生仍需加强逻辑训练。课堂教学设计首页专业班级:年月日课程C语言课程类型专业核心课学时2课题复习上课地点计算机机房教学内容学情分析教学内容:全课程体系梳理、语法串讲、考点总结、综合模拟训练。学情分析:知识点多易遗忘,需体系化巩固。教学目标知识目标:构建完整知识框架,掌握核心考点。技能目标:能独立完成综合编程题目。素质目标:培养复习方法、应试能力与诚信意识。重点:数据类型、运算、输入输出、分支、循环。难点:嵌套、综合逻辑、排错。思维问题:如何高效复习C语言?课堂教学过程设计思维导图串讲(15分钟):体系梳理。高频考点串讲(30分钟)【重点】:语法+格式+易错点。综合模拟练习(30分钟):编程实战。答疑与复习计划(15分钟):个性化指导。思政元素:认真备考、诚信应考、勤学苦练。作业要求:完成一套综合复习题,制定复习计划。板书设计:教学反思体系化复习效果好;时间紧张,下次提前发放复习提纲。第1单元认识C语言程序授课内容:认识C语言程序学时:2学时(90分钟)教学目的和要求:了解C语言的发展和特征以及C语言的学习方法,掌握C语言的程序结构、运行过程及VC++6.0开发环境。教学重点:掌握C语言的程序结构、运行过程及VC++6.0开发环境。教学难点:C语言的程序结构。教学方法和手段:本节采用以教师为主导,学生为主体的案例教学,通过制作小名片讲解本节的教学内容,同时在教学过程中同时采用提问法、讨论法和互动式教学方法。思政元素:通过学习运行环境和简单编程,培养学生的严谨求实态度、工匠精神、创新精神,提高其创新能力以及规则意识授课内容提纲:一、课程介绍1.介绍专业链路图,指出C语言在链路图中的课程地位2.学习方法和学习要求二、新课讲解(一)工作任务一:走进C语言世界——C语言概述1.C的发展过程介绍里奇,引起学生兴趣2.C语言特点3.C语言的编译运行环境4.为什么要学习C?5.怎样学好C语言?6.遇到问题怎么办?当编程遇到问题,首先应该查看编译器提供的信息;能看懂别人的程序,但自己做就觉得无从下手。7.英语不行怎么办?工作任务二:制作一张自己的小名片——C程序框架结构场景描述:刚刚走进大学校门的同学,为自己制作一张名片,让老师和同学们记住你的名字吧。相关知识1、C语言程序基本结构例1.1 用C语言编程在屏幕上显示“HelloCProgram!”/**输出“HelloCProgram!”*/#include<stdio.h>//预处理命令voidmain()//主函数{printf("HelloCProgram!\n");//输出语句}1.C语言程序的构成(1)一个源程序都有且只有一个main()函数,即主函数,其前面的void代表函数没有返回值。main()函数下面用{}括起来的部分是一个程序模块。C语言的程序总是从主函数开始执行,并且回到主函数结束。(2)以“#”开始的语句属于预处理命令。源程序中可以有预处理命令,预处理命令通常放在源程序的最前面。(3)每一个语句都必须以分号结束,但预处理命令、函数头和花括号之后不加分号。(4)标识符和关键字之间,至少要加一个空格。(5)源程序中需要解释和说明的部分,可以加以注释,以增加程序的可读性,编译系统会跳过注释行,不对其进行编译。“/*......*/”是多行注释,“//”是单行注释。2.C语言程序的书写规则(1)在C语言中,虽然一行可以多个语句,一个语句也可占多行,但建议一行只写一个语句。(2)一般采用缩格式书写格式,以提高程序的可读性和清晰性。(3)C语言源代码一般用小写字母书写,除非另有约定。(4)在程序代码中,应加上必要的注释。3.编译和运行C语言应用程序(1)C语言应用程序的处理流程(2)C语言的运行环境的应用工作任务实施小名片程序代码如下:/*******我的小名片*******/#include<stdio.h>voidmain(){ printf("****************************\n"); printf("姓名:小强\t性别:男\n"); printf("学校:山西职业技术学院\n"); printf("系别:计算机技术系\n"); printf("****************************\n");}四、教学总结与作业布置【10分钟】1.C程序的框架?2.C程序的书写规则?3.printf用法?4.C源程序、编译及目标程序的后缀?第2单元C语言程序设计基础授课内容:学时:2学时(90分钟)教学目的和要求:掌握标识符及命名规则掌握常量和变量掌握基本数据类型及其表示形式理解运算符的运算规则及优先级关系学会基本数据类型间的转换规则教学重点:标识符常量、变量基本数据类型及其表示形式运算符教学难点:常量和变量基本数据类型间的转换教学方法和手段:本节采用以教师为主导,学生为主体的案例教学,首先通过计算圆面积实例引出本节的教学内容,同时在教学过程中同时采用提问法、讨论法、现场编程法和互动式教学方法。思政元素:通过学习培养学生的规则意识和严谨求实的学习态度授课内容提纲:一、复习旧课导出新课上一个单元,我们制作了小名片,学习了C程序的基本架构(提问:基本架构?)引出:如何用程序语言描述一个人的年龄、性别、身高、体重?在程序中,数据又是如何存储的?在本单元,将通过几个小任务介绍C语言中的标识符、常量、变量、简单数据类型、基本运算符号、表达式和数据类型转换等。新课讲解工作任务一:计算圆的面积——整型与实型数据,常量与变量相关知识1、标识符(1)系统标识符(2)用户标识符【思考】以下标识符是合法吗?3s,s*T,-3x,bowy-1在使用标识符时还必须注意以下几点:(1)在标识符中,大小写是有区别的。例如BOOK和book是两个不同的标识符。(2)标识符虽然可由程序员随意定义,但标识符是用于标识某个量的符号。因此,命名应尽量有相应的意义,以便阅读理解,作到“见名知意”。(3)标识符不能和关键字相同。关键字是C语言预先定义的、有固定含义的标识符,不能重新定义,也不能用作他用。2、常量和变量常量在程序的运行过程中,其值不能被改变的量就是常量。常量声明格式一般为:#define<常量名><常量值>例2.1:符号常量的使用/**符号常量的使用**/#include<stdio.h>#definePRICE10//声明常量voidmain(){ inttotal,num;//声明变量 num=5; total=num*PRICE;//应用常量 printf("%d",total);}程序中用#define命令定义常量PRICE代表10,在本程序中出现的PRICE都代表10。变量(1)定义变量。在C语言中,变量的使用必须首先定义。变量的定义形式如下:类型说明符变量名1[,变量名2,……];(2)初始化变量。变量的初始化是指在定义变量的同时就给它赋一个初值。初始化语句格式如下:类型说明符变量名1=初值1[,变量名2=初值2,……];(3)给变量赋值。变量=表达式;3、C语言的数据类型(1)基本数据类型——整型数据(2)基本数据类型——实型数据工作任务实施:已知半径,求圆的面积,程序代码如下:/****求圆的面积****/#definePI3.14//声明常量main(){intr;//圆半径rfloats;//圆面积sr=2;s=PI*r*r;printf(“s=%.2f”,s);}特别提示:(1)允许在一个类型说明符后,说明多个相同类型的变量。各变量名之间用逗号间隔。类型说明符与变量名之间至少用一个空格间隔。(2)变量说明必须放在变量使用之前。一般放在函数体的开头部分。(二)工作任务2:编制密码器——字符型数据编制一个密码器,实现给友军发送加密电报,报文是由小写字母a~n组成,在发报时每输入一个字母,输出与其相邻的下一个字母,如何来编制这个密码器呢?相关知识基本数据类型——字符型数据(1)字符常量(2)字符串常量字符变量例2.2:字符型变量的输出main(){charc1,c2;c1=’a’;c2=’b’;printf(“%c,%c\n”,c1,c2);printf(“%d,%d”,c1,c2);}工作任务实施编制密码器程序代码如下:/***编制密码程序***/#include<stdio.h>voidmain(){ charword,password; printf("请输入a~n的一个字母:"); scanf("%c",&word);//输入字符 password=word+1; printf("加密后的字母为%c\n",password);}特别提示:(1)字符型数据除转义字符外,其值是由单引号引起来的一个字符。(2)字符’3’和数字3是不同的。ASCII表规定’3’的值是51。(三)工作任务3:分离数字问题——运算符与表达式编写一个程序,从键盘输入一个三位整数,将其逆序输出。例如:输入123,输出321。相关知识:1、运算符与表达式算术表达式:+,-,*,/,%几点说明:·若“/”两边都是整型,结果就是一个整型。如:3/2的结果就是1.·“/”如果有一边是小数,那么结果就是小数。3/2.0的结果就是1.5·“%”符号是余数,%符号两边要求是整数。·赋值运算符=如:a=3把赋值号右边的3赋值给赋值号左边的变量a·复合赋值运算符+=,-=,*=,/=算术运算符和赋值运算符复合使用·赋值表达式·注意:常量不可以赋值。赋值的左边只能是一个变量。复合运算符,例a*=2+3;运行完成后,a的值是12。首先要在2+3的上面打上括号。变成(2+3)再运算。·赋值运算优先级最低自加与自减运算符:++,--自加、自减表达式:如:a++++a--bb—等不管前缀++还是后缀++,对于变量的作用都是加一操作,但对于表达式来讲,++在前的表达式用的是变量加一以后的新值,++在后的表达式用的变量原来的值。--运算符同2、数据类型转换·自动转换,char-int-float-double·强制转换(类型名)表达式一定是(int)a不是int(a),注意类型上一定有括号的。·注意:(int)(a+b)和(int)a+b的区别。前是把a+b转型,后是把a转型再加b工作任务实施:三位整数逆序输出,程序清单如下:/********三位数逆序输出********/#include<stdio.h>voidmain(){ intn,a1,a2,a3; printf("请输入三位整数:"); scanf("%d",&n); a1=n/100;//求百位 a2=n/10%10;//求十位 a3=n%10;//求各位 printf("%d%d%d\n",a3,a2,a1);//逆序输出}特别提示:(1)分离数字是C语言的基础算法之一,请读者认真理解并学会。(2)“%”符号是余数,%符号两边要求是整数。教学总结与作业布置1.常量,变量?2.数据类型及表示方式?3.各种运算符?板书设计知识回顾新课讲解1.C程序框架、构成2.书写规则3.运行过程1.标识符2.常量和变量3.整型、浮点型、字符型数据,变量的声明和赋值4.运算符、表达式第3单元顺序结构程序设计授课内容:顺序结构程序设计学时:2学时(90分钟)教学目的和要求:通过顺序结构程序的学习,使学生了解程序的基本概念、掌握程序的基本结构、了解C语言中语句的种类、掌握输入输出函数的格式功能和使用方法。通过3个典型实例使学生体会顺序结构程序的设计思想,进一步加强学生逻辑思维能力和推理能力的培养,同时帮助学生掌握更多的编程技巧。教学重点:掌握printf、scanf两个函数的格式、功能和用法。教学难点:scanf函数的理解和运用。教学方法和手段:本节采用以教师为主导,学生为主体的案例教学,首先通过设计一个菜单实例引出本节的教学内容,同时在教学过程中同时采用提问法、讨论法和互动式教学方法。思政元素:通过学习培养学生注重文化修养、道德修养的输入,为社会输出人生价值、为国家发展贡献力量授课内容提纲:一、复习旧课导出新课教师总结:在日常生活中,需要“按部就班、依次执行”处理和操作的问题随处可见,每年一度的迎新打会、年终总结大会等等都这样一种顺序结构。二、新课讲解以同学们经常吃饭的川味酒家的菜单为例引出第一个工作任务,引起同学们的学习兴趣。(一)工作任务一:菜单设计——算法和程序的基本结构场景设计:小明和小康到饭馆就餐,刚刚落座,服务员拿出一本菜单,让两人点餐,小明和小康看看菜单,心想能否用C语言中的printf函数实现呢?相关知识:(教师讲解)算法的概念描述算法的工具——流程图的介绍任务实现:(教师讲解)#include<stdio.h>voidmain(){printf(" 欢迎光临四川酒家\n ");printf("油焖大虾48元/份\n");printf(" 干煸豆角20元/份\n");printf(" 水煮鱼38元/份\n");printf(" 麻婆豆腐15元/份\n");}拓展与提高:(教师讲解)程序设计语言简介(高级语言、中级语言、低级语言)程序设计方法简介(建立数学模型、选定算法并用适当的工具描述、编写程序、测试与调试)结构化程序设计C语言中中的语句,再次特别强调赋值语句(二)工作任务二:小写字母转换成大写字母----字符输入输出函数场景设计:晓伟和明宽两个小朋友刚刚学习英文中26个英文字母,为了加强练习,晓伟写出大写字母,明宽写出与之对应的小写字母,请编写一个C语言程序,模拟上述过程。任务实现:(教师讲解)#include<stdio.h>voidmain(){chara;printf("请输入一个小写字母:");a=getchar();//通过键盘输入一个小写字母printf("该字母对应的大写字母是:%c\n",a-32);}相关知识:putchar函数是字符输出函数,其功能是在显示器上输出单个字符。一般形式为:putchar(字符变量)例如:putchar('A');输出大写字母Aputchar(x);输出字符变量x的值putchar('\n');换行对控制字符则执行控制功能,不在屏幕上显示。使用本函数前必须要用文件包含命令:#include<stdio.h>getchar函数的功能是从键盘上输入一个字符。其一般形式为:getchar();通常把输入的字符赋予一个字符变量,构成赋值语句。工作任务三:输出学生个人信息----格式化输入输出函数场景设计:为了方便学生管理,班主任王老师安排学习委员张雪输出一张学生个人信息表,表的格式如下:姓名性别年龄数学英语C语言张雪女188987.567.5……..……..思路指导:(教师引导学生思考)输入:对于数据的输入用输入函数scanf(“格式控制字符串”,地址表列),年龄存储到变量age中,数学成绩存储到变量math中,英语成绩存储到变量english中,C语言成绩存储到变量c中。输出:1.表头的输出用无格式的输出函数printf(“字符串”);2.对具体内容的输出用带格式的printf(“格式控制字符串”,输出项表列)。相关知识:(教师讲解)格式化的输入输出指的是按照指定的格式对数据进行输入输出操作,数据的输出用到库函数printf(),数据的输入用到库函数scanf(),使用这两个函数时,程序设计人员需要指定输入输出数据的格式。(一)格式化的输出函数printf1.printf函数调用的一般形式printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用printf函数之前必须包含stdio.h文件。printf函数调用的一般形式为:printf(“格式控制字符串”,输出项表列);2.函数功能按照格式控制字符串所指定的格式,将“输出项列表“中各输出项输出到标准输出设备。3.有关说明(1)格式控制字符串可以包括:“格式转换说明符”,用于规定相应输出项内容的输出格式,格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。如“%d”表示按十进制整型输出,“%ld”表示按十进制长整型输出,“%c”表示按字符型输出等(见表3-1);“转义字符”用于输出所代表的控制代码或特殊字符;“普通字符”,要求原样输出的字符,在显示中起提示作用。(2)“输出表列”输出表列中给出了各个输出项,可以是变量和表达式,输出项之间用逗号分隔。要求格式字符串和各输出项在数量和类型上应该一一对应。如例3.3所示。(二)数据输入函数scanf1.scanf函数调用的一般形式scanf函数称为格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。(1)scanf函数的一般形式scanf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中,与printf函数相同,C语言也允许在使用scanf函数之前不必包含stdio.h文件。scanf函数的一般形式为:scanf(“格式控制字符串”,地址表列);其中,格式控制字符串的作用与printf函数相同,但不能显示非格式字符串,也就是不能显示提示字符串。地址表列中给出各变量的地址。地址是由地址运算符“&”后跟变量名组成的。例如,&a,&b分别表示变量a和变量b的地址。这个地址就是编译系统在内存中给a,b变量分配的地址。在C语言中,使用了地址这个概念,这是与其它语言不同的。应该把变量的值和变量的地址这两个不同的概念区别开来。变量的地址是C编译系统分配的,用户不必关心具体的地址是多少。变量的地址和变量值的关系如下:如在程序中有如下赋值语句:a=67,则a为变量名,67是变量的值,&a是变量a的地址。注意在赋值表达式中给变量赋值,赋值号左边是变量名,不能写地址,而scanf函数在本质上也是给变量赋值,但要求写变量的地址,如&a。这两者在形式上是不同的。&是一个取地址运算符,&a是一个表达式,其功能是求变量的地址。如例3.4所示。任务实现:#include<stdio.h>voidmain(){intage;intmath,english,c;printf("请输入学生基本信息:");scanf("%d",&age);scanf("%d%d%d",&math,&english,&c);printf("姓名\t性别\t年龄\t数学\t英语\tC语言\n");printf("张雪\t女\t");printf("%d\t",age);printf("%d\t%d\t%d\n",math,english,c);}特别提示:(教师讲解)1.格式控制字符串要用双引号扩起来。2.输入项和输出项的个数、顺序和类型要与格式控制符的个数,顺序和类型要严格一致,否则会出现异常。(四)教学总结和作业布置1.教学总结:本单元首先介绍了程序和算法的基本概念,然后重点讲解了C程序输入和输出操作是由函数printf()、putchar()、scanf()、getchar()来实现的。C语言格式输入输出的规定比较麻烦,应用不对就得不到预期的结果,而输入输出又是最基本的操作,几乎每一个程序都包括输入输出。作业P54-55思考与训练五、板书设计知识回顾新课讲解程序和程序的基本特征2.表达式的书写规则1.无格式的输出(printf函数)2.字符的无格式的输入和输出3.有格式的输入和输出第4单元选择结构程序设计授课内容:单分支和双分支教学目的和要求:通过if语句的学习,理解选择结构程序的基本思想,掌握简单选择结构程序的设计方法;通过实例使学生体会算法的基本思想,加强学生逻辑思维能力和推理能力的培养,同时帮助学生掌握更多的编程技巧。教学重点:掌握if分支语句的概念、格式、功能和用法。教学难点:if语句的理解和运用。教学方法和手段:本节采用以教师为主导,学生为主体的案例教学,首先通过预测身高实例引出本节的教学内容,同时在教学过程中同时采用提问法、讨论法和互动式教学方法。思政元素:感恩父母,感恩朋友,感恩我们这个伟大的时代;培养学生爱国主义情操。授课内容提纲:一、复习旧课导出新课问题1:输入输出函数的格式与功能?问题2:顺序结构程序的特点是什么?问题3:在人生的成长道路中你遇到了哪些选择?教师总结:从程序的流程角度看,程序可以分为顺序结构,选择结构,循环结构三种基本结构。在大多数程序中都包含选择结构,它的作用是:根据给定的条件是否满足,从给定的两组或多组操作用选择其一,在C语言中若想表示条件,一般用关系表达式或逻辑表达式,要想实现选择结构用if语句或switch语句,本节课我们要学习if语句的使用二、新课讲解从班里挑选一个175cm的男生和165cm左右的女生询问影响他们身高的因素是什么?(引导学生回答)教师总结:影响身高的因素有:遗传因素、饮食习惯、体育锻炼,从中教育学生从小要养成良好的生活习惯,从而引出第一个工作任务(一)工作任务一:身高预测——简单if语句的运用相关知识:(教师讲解)1.条件的描述:(1)关系运算符和关系表达式·关系运算符(>、<、>=、<=、、==、!=),教师引导学生分析书写与数学上的书写的区别,关系运算符==和赋值运算符=之间的区别关系表达式:用关系运算符连接起来的表达式,例如:a>b关系表达式的值:1或0;在C语言中非0即为真,0为假(2)逻辑运算符和逻辑表达式逻辑运算符(&&、||、!)逻辑表达式:用逻辑表达式连接起来的表达式,逻辑运算符的左右两边一般情况下是关系表达式,例如:(x%5==0)&&x%(7==0)逻辑表达式的值:1或0;2.选择结构以及实现选择结构的方法(1)选择结构选择结构是三种结构之一,选择结构也称为分支结构,是对给定的条件进行判断,依据条件成立与否选择执行不同的操作的一种程序设计方法·选择结构的表示方法:用流程图表示(2)实现选择结构的方法单分支选择语句语法:if(表达式){语句体}…功能:判断括号内表达式的值,若其值不为0,则执行语句体中的语句,否则,跳过语句体,执行语句体的后续语句流程图:典型例题编一个程序,若通过键盘输入的是大写字母,则把它转换成小写字母输出,若输入的是小写字母,则不转换#include<stdio.h>voidmain(){charch;printf(“请输入一个字母:”);scanf(“%c”,&ch);if(ch>=’a’&&ch<=’z’)ch=ch-32;printf(“转换成的大写字母为:%c”,ch);}工作任务的实施#include<stdio.h>voidmain(){charsex;/*孩子性别*/charsports;/*是否喜欢体育运动*/chardiet;/*是否有良好的饮食习惯*/floatmyheight;/*孩子身高*/floatfaheight;/*父亲身高*/floatmoheight;/*母亲身高*/printf("你是男孩(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=(faheight*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("Yourfutureheightwillbe%6.2f(cm)\n",myheight);}特别提示:由上边的分析得出:(1)if后面的(表达式)一定要有圆括号;(2)表达式一般情况下是关系表达式和逻辑表达式,也可以是任意类型的C语言的合法的表达式,但计算结果必须为整型、字符型或浮点型之一。(3)语句序列如果为单条语句,可以不加大括号,如果是多条语句,一定要加大括号,构成复合语句。(二)工作任务二:闰年判断----if—else语句的运用相关知识(双分支选择语句):1.语法:if(表达式){语句组1}else{语句组2}2.执行过程及功能:判断括号内表达式的值,若其值不为0,则执行语句组1中的语句,否则,执行语句体组中语句任务实施#include<stdio.h>voidmain(){inty,leap;printf("请输入一个年份:");scanf("%d",&y);if((y%4==0)&&(y%100!=0)||(y%400==0))//闰年条件,经典leap=1;elseleap=0;if(leap==1)printf("%d年是一个闰年",y);elseprintf("%d年不是一个闰年",y);}特别提示(1)if和else同属于一个if语句,else不能作为语句单独使用,它只是if语句的一部分,与if配对使用,因此程序中不可以没有if而只有else;(2)只能执行与if有关的语句或者执行与else有关的语句,而不可能同时执行两者;(3)如果<语句1>和<语句2>是非复合语句,那么该语句一定要以分号结束。3.教学补充:条件表达式实现选择结构•条件运算符::?:•典型例题编写一个程序,找出两方数据中的最大数#include<stdio.h>voidmain(){inta,b,max;printf(“请输入两个数据:”);scanf(“%d%d”,&a,&b);man=(a>b)?a:b;printf(“两个数据中的最大数为:%d”,max);}四.教学总结与作业布置五、板书设计知识回顾新课讲解1.程序的基本结构2.语句的分类3.输入输出函数1.关系运算符和关系表达式书写规则2.逻辑运算符和逻辑表达式书写规则3.选择结构程序的基本概念4.if选择结构5.if-else选择结构第5单元循环结构程序设计授课内容:while循环和do-while循环教学目的和要求:通过两个循环语句的学习,理解循环结构程序的基本思想,掌握循环结构程序的设计方法;通过实例使学生体会算法的基本思想,加强学生逻辑思维能力和推理能力的培养,同时帮助学生掌握更多的编程技巧。教学重点:掌握while循环和do-while循环语句的概念、格式、功能和用法。教学难点:while循环和do-while循环语句的理解和运用。教学方法和手段:本节采用以教师为主导,学生为主体的案例教学,首先通过歌唱比赛平均分实例引出本节的教学内容,同时在教学过程中同时采用提问法、讨论法和互动式教学方法。思政元素:学以致用、力争上游、规范意识。鼓励学生与正能量的人交往,树立正确的交友观和价值观授课内容提纲:一、回顾、任务、目标部分1.回顾2.简单介绍3个小任务(演示任务)3.学习目标了解循环结构设计方法熟练掌握当型循环while语句☆熟练掌握直到型循环do-while语句☆二、任务一:红歌比赛计算平均分——while语句的运用讲解步骤:先演示任务一,引入,引起学生兴趣。再逐一讲解以下知识点,最后指导学生能够编写任务程序。循环结构·概念:程序中有需要多次执行的语句组·设计循环要完成的任务:循环变量的初始化;循环条件(终值);循环的任务(循环体)当型循环Wh·格式:While(表达式){循环语句组}·典型例题:求1+2+3+……+100的值。ile语句三、任务二:翻牌游戏——do-while语句的运用讲解步骤:(1)演示示例(2)讲解语法,辅以流程图(3)微小案例,学会do-while循环(3)指导学生能够编写任务程序。直到型循环Do-while语句·格式do{循环语句组}while(表达式);·典型例题:求1-100奇数之和、偶数之和(固定次数的循环)#include<stdio.h>voidmain(){inti,s1=0,s2=0;do{if(i%2==0)s1+=i;elses2+=I;i++;}while(i<=100);printf("1-100的奇数和是%d偶数和%d",s1,s2);}·典型例题:输入字符直到回车”\n”结束,进行大小写字符的转换(非固定次数的循环)。#include‘stdio.h’main(){intcharch;printf(“请输入字符:”);putchar(ch);do{if(ch>=’a’&&ch<=”z’)ch-=32;elseif(ch>=’A’&&ch<=”Z’)ch+=32;printf(“请输入字符:”);putchar(ch);}while((getchar(ch))!=’\n’);五、总结与答疑1.如何设计一个循环?2.while循环的语法和流程图?3.do-while循环的语法和流程图?5单元循环结构程序设计(第二讲)授课内容:for循环和break语句和continue语句教学目的和要求:通过for循环语句的学习,理解循环结构程序的基本思想,掌握循环结构程序的设计方法;通过实例使学生体会算法的基本思想,加强学生逻辑思维能力和推理能力的培养,同时帮助学生掌握更多的编程技巧。教学重点:掌握for循环语句的概念、格式、功能和用法。教学难点:break语句和continue语句语句的理解和运用。教学方法和手段:本节采用以教师为主导,学生为主体的案例教学,首先通过歌唱比赛平均分实例引出本节的教学内容,同时在教学过程中同时采用提问法、

温馨提示

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

评论

0/150

提交评论