C语言程序设计教案第2章4 -6
C语言4-6

• o 格式符:以八进制数形式输出无符号整数 格式符: 八进制数形式输出无符号整数 数形式输出无符号
• 将内存单元中各位的值 或1)按八进制形式输出 将符号位也 将内存单元中各位的值(0或 按八进制形式输出 按八进制形式输出;将 一起作为八进制数的一部分输出 输出。 一起作为八进制数的一部分输出。 • ① %o • ② %lo • ③ %mo 按实际长度输出 实际长度输出 对长整型数据的输出 m为指定的输出数据的宽度 为指定的输出数据的宽度
第4章 顺序程序设计
• 1 、 了 解 字 符 输 入 输 出 函 数 getchar 和 putchar; ; • 2、 深入掌握格式输入输出函数 、 深入掌握格式输入输出函数scanf和 和 printf中各种格式符的作用和使用方法; 中各种格式符的作用和使用方法; 中各种格式符的作用和使用方法 • 3、能够灵活地运用各种顺序语句进行综 、 合程序设计。 合程序设计。
• 格式控制字符串“%d%d”表示按十进制整数形式 格式控制字符串“ 表示按十进制 表示按十进制整数形式 空格、 输入数据, 两个数据之间可以用空格 回车键或 输入数据 , 两个数据之间可以用 空格 、 回车键 或 tab间隔。 间隔。 间隔
15
scanf函数的格式说明 scanf函数的格式说明
格式字符 说 明 d o x c s f e 用来输入十进制整数 用来输入八进制整数 用来输入十六进制数 用来输入单个字符 用来输入字符串 用来输入实数, 用来输入实数,可以用小数形式或指数形 式输入 与f作用相同 作用相同
5
printf格式字符
c s d u f e、E 、 o x、X 、 以字符形式输出, 以字符形式输出,只输出单个字符 输出字符串 带符号的十进制整数 无符号的十进制整数
C语言程序设计案例式教程(第2版)教学大纲

《C语言程序设计案例式教程(第2版)》课程教学大纲(课程英文名称)
课程编号:
学分:5学分学时:94 (其中:讲课60上机34时)
先修课程:计算机操作系统适用专业课程:计算机
一、课程的性质与目标
本课程使用案例驱动教学,几乎每个案例通过案例描述、知识需求、知识讲解、案例实现四个部分,不仅详细讲解了C语言的相关知识,而且通过有趣实用的案例加强对知识的理解和应用。
通过本书的学习,读者既可以深刻理解C语言理论知识,又能牢固掌握编程实践能力。
二.教学要求
开发环境:
1.Windows 7操作系统及以上Visual Studio 2019
三、课程的主要内容及基本要求
第一章初识C语言
本课程为考试课程,期末考试采用百分制的闭卷考试模式。
学生的考试成绩由平时成绩(30%)和期末考试(70%)组成,其中,平时成绩包括出勤(5%)、作业(5%)、实验和上机成绩(20%)。
六、选用教材和主要参考书
本大纲是根据黑马程序员编著的教材《C语言程序设计案例式教程(第2版)》所设计。
七、大纲说明
本课程的授课模式为:课堂授课+上机,其中,课堂主要采用多媒体的方式进行授课,并且会通过测试题阶段测试学生的掌握程度;上机主要是编写程序,要求学生动手完成指定的程序设计或验证。
撰写人:
执行时间:审定人:
批准人:
端IT教育品牌
黑马程序员
传智教育旗下高
第二章C语言基础知识
第三章运算符与表达式
第五章数组
第六章函数
第七章指针
第九章结构体
第十一章文件。
C语言程序设计(1-6章)

C语言程序设计第1章概论1.1 C语言有哪些主要特点?其主要用途是什么?1.2 程序设计语言的主要构成要素有哪些?1.3 程序设计语言的实现都有哪些方法?1.4 程序设计语言按照实现方法可分为哪几种类型?1.5 为什么要学习程序设计语言?1.6 将C语言和你所掌握的高级语言做一比较。
1.7 C程序的主要构成单位是什么?1.8 C语言的保留字和特定字有何区别?1.9 下面哪些是合法的C语言一般标识符?std-sex, Std-num, 2.13, _2.13, name, int, Int, var-num, yes_or_no, select, File_name, _DATA, define, a+c, new, ok?1.10 C程序从编辑到执行要经过哪些步骤?1.11 C函数主要由哪几部分构成?复合语句在C语言中是用什么标界的?又称为什么?1.12 填空。
1 . 一个C程序是由若干个函数构成的,其中必须有一个函数。
2 . 一个C语句最少应包含一个。
1.13 单项选择。
1. C语言程序的基本单位是( )。
(1) 子程序 (2) 程序 (3) 过程 (4) 函数2. 合法的C语言标识符是( )。
(1) _a1 (2) a+b (3) 3abc (4) AB,CD答案:1.1C语言主要用于编写系统软件,其主要特点如下:①语言简洁,紧凑,使用灵活②运算符丰富③具有数据类型构造和流控结构能力④语言生成的代码质量高⑤可移植性好⑥语言语法限制不严格,程序设计自由度大1.2程序设计语言的主要构成要素有:①数据。
②运算(操作)③控制结构④存储答理⑤固运算环境。
1.3 程序设计语言的实现方法主要有:1. 翻译或编译。
2. 软件模拟(软件解释)。
1.4 程序设计语言的按照实现方法有编译型和解释型两种。
1.5略 1.6 略1.7 C程序的主要构成单位是函数。
1.8 C程序的保留字和特定字的区别是,保留字不能用来表示用户自定义的对象,而特定字却不受此限(尽管不提倡这样做)。
第2章_数据类型、运算符和表达式《C语言程序设计(第三版)》-电子教案

2.2 标识符、常量与变量
符号常量
【例2-1】输入圆的半径,计算周长和面积。 #define PI 3.14159 void main() { float r,c,s; scanf("%f",&r); c=2*PI*r; s=PI*r*r; printf("r=%f,c=%f,s=%f\n",r,c,s); }
以下是合法的整型常量:
2.2 标识符、常量与变量
实型常量
实型常量只能用十进制形式表示 表示形式:
小数形式。由数字序列和小数点组成,如 3.1415926、-0.15、.15、2.等都是合法的实型 常量。 指数形式。由十进制数加上阶码标志“e”或 “E”及阶码组成,如3.14e-4或3.14E-4表示 3.14×10-4。
2.2 标识符、常量与变量
2.2.3 变量
在程序运行过程中,其存储的值可以被改变的量称 为变量 变量必须通过标识符进行说明,称为变量名。 变量名和内存单元地址存在映射关系,程序可以通 过变量名寻址,从而访问其存储的数据。
2.2 标识符、常量与变量
变量的定义和说明
数据类型 变量名1[,变量名2,…,变量名n];
long型转换成float型时由原来可达10位整数变成只有7位有效数字精度丢失但由于数的范围扩大了数据类型从较低级提升到较高级随着竞争日益激烈酒店嘴中的肥肉被大肆抢夺各大酒店在这场竞争中几乎溃不成军
21世纪高等学校精品规划教材
第2章 数据类型、运算符 和表达式
掌握C语言的基本数据类型 掌握标识符、关键字、常量和变量的使用 掌握运算符、表达式以及数据类型之间的转换 等 掌握简单数据的输入输出
《C语言程序设计》教案

(2)格式控制字符、格式控制项与printf类似,表3-3,4。一般使用更加简单形式.
注意: 数据读入结束情况:遇空格、TAB、回车;遇非法输入;指定宽度结束。
四、其它输入/输出函数
1、putchar函数 一般形式:putchar(字符表达式);
注意:C语言算术表达式的书写形式-数学表达式的书写形式区别:(1)-(4).
3、(算术)运算符的优先级与结合性(P.233附录IV)
先按运算符的“优先级别”高低次序执行;优先级别相同,则按规定的“结合方向”处理。为了清晰起见可用圆括号“()”强制.
例1:表达式a-b*c等价于a-(b*c)。 例2:a-b+c,到底是(a-b)+c还是a—(b+c)?(b先与a运算还是先与c参与运算?) 例3:分析x=y=z=3+5
3、实型数据的舍入误差。例2-3A。
四、字符型数据
1、字符常量表示.直接表示/转义表示(特殊的转义字符,一般字符也可以转义表示).
特殊转义字符对显示/打印的控制作用
2、字符变量-1个字节,char关键词。
3、字符数据的存储-ASCII码/二进制存储-C语言可以将字符看做很短的整数处理。
例2—7A,例2—8A可以看出字符数据的具有整数特性。
(2)格式控制字符d、o、x/X、u、c、s、f、e/E、g/G构成控制项的各种常见形式。表3-1,3—2。
注意:不要死记硬背,要总结规律.一般形式:%±m n h/l格式字符
2、scanf函数(格式输入函数)
(1)格式:scanf(格式控制字符串,输入表列-地址列表)
格式控制字符串:含义与printf类似
重点
C语言程序设计教程(电子教案)

学习目标
对C语言有一个概括的了解, 能够编写包含键盘输入、计算和 显示输出等操作的简单C程序。
4
主要内容
• C语言的产生与特点 • 简单C程序的组成 • C语言应用程序开发的基本步骤
5
1.1 C语言的产生及特点
C语言是为了编写系统程序而在1968年开始 研发的计算机高级语言
C语言表达能力强,使用灵活,程序结构清 晰,紧凑,可移植性好
指针 类型
17
基本数据类型说明符
整型:int long
字符型:char 实型:float
double long double
18
2.2 常 量
常量∶在程序运行过程中,其值不能被改 变的量。
一. 不同数制整型常量的表示
例如: 12 :十进制数 12
012 :八进制数 12(等于十进 制数10,用前导符0表示八进制数常量)
计算x+y+z,并将结 8果赋给变量sum
显示变量 sum的值
主函数 main()
一般C程序的组成
【例1-2】采用模块结构,改写例1-1的程序。 add(int x,int y,int z )
{ return(x+y+z);
}
函数add()
调用函数 add()
main() { int x,y,z; printf("Please Input Three Integers:\n "); scanf("%d,%d,%d ",&x,&y,&z);
4. 用‘\’ ’表示字符’ ,‘\”’表示字符”, ‘\\ ’表示字符\ 。
5. 用双引号括起来的字符序列表示字符串常量,其 中最后一个字符是字符串结束符‘\0’,不显式 地表示出来。如:“English” 。
《C语言程序设计》教案(清华谭浩强)

《C语言程序设计》教案(清华谭浩强)第一章:C语言概述1.1 课程介绍介绍C语言的历史和发展解释C语言的特点和应用范围强调学习C语言的重要性和目的1.2 C语言的基本概念解释编程语言和编译器的概念介绍C语言的基本数据类型和变量讲解C语言的语法结构和程序结构1.3 C语言的编译过程解释编译器的角色和功能介绍编译过程中的预处理、编译、汇编和步骤强调编译过程中产生的文件和它们的作用第二章:基本数据类型和运算符2.1 基本数据类型介绍整型、浮点型、字符型和布尔型的概念和用法解释不同数据类型的存储方式和大小强调数据类型的选择和使用场景2.2 变量和常量解释变量的概念和作用介绍变量的声明和初始化方法讲解常量的概念和用法2.3 运算符介绍算术运算符、关系运算符和逻辑运算符的概念和用法解释赋值运算符和条件运算符的作用强调不同运算符的优先级和使用规则第三章:控制语句3.1 条件语句介绍if语句的语法和用法讲解switch语句的概念和用法强调条件语句的选择和嵌套使用3.2 循环语句介绍for循环、while循环和do-while循环的概念和用法解释循环控制语句如break和continue的作用强调循环条件的设置和循环次数的控制3.3 跳转语句介绍goto语句的概念和用法讲解label标签的作用和跳转规则强调跳转语句的使用场景和可能导致的问题第四章:函数和指针4.1 函数的基本概念介绍函数的定义和声明讲解函数的参数传递和返回值强调函数的命名规则和命名规范4.2 指针的概念和用法解释指针的概念和作用介绍指针的声明和初始化方法讲解指针的赋值和指针运算4.3 指针和数组介绍数组的概念和用法解释指针和数组的关系强调指针在数组操作中的应用第五章:结构体和文件操作5.1 结构体的概念和用法介绍结构体的定义和声明讲解结构体的成员访问和内存布局强调结构体在数据组织中的应用5.2 文件操作的基本概念解释文件的概念和文件操作的重要性介绍文件打开、读写、关闭等操作的方法强调文件操作中的错误处理和文件指针的管理第六章:动态内存分配6.1 动态内存分配的概念介绍动态内存分配的原因和必要性解释malloc、calloc和realloc函数的作用和用法强调动态内存分配的注意事项和错误处理6.2 链表的概念和用法介绍链表的定义和结构讲解链表的创建、插入、删除和遍历操作强调链表的优势和应用场景6.3 动态内存分配的应用实例通过实例演示动态内存分配在实际编程中的应用讲解内存泄漏和内存溢出的概念强调编写高效和安全的程序的重要性第七章:字符串处理7.1 字符串的基本概念介绍字符串的定义和表示方法解释字符串的长度和字符串的结束标志强调字符串与数组的区别和联系7.2 字符串的常用函数介绍字符串的输入输出函数如printf和scanf 讲解字符串的拷贝、连接、比较等操作函数强调字符串处理函数的使用和注意事项7.3 字符串处理的应用实例通过实例演示字符串处理在实际编程中的应用讲解字符串排序、查找和替换等操作强调字符串处理在文本分析和数据处理中的应用第八章:标准库函数8.1 标准输入输出库函数介绍标准输入输出库stdio.h中的常用函数讲解文件读写、数据转换等函数的用法和功能强调标准库函数的使用场景和注意事项8.2 字符串处理库函数介绍字符串处理库string.h中的常用函数讲解字符串比较、查找和替换等函数的用法和功能强调字符串处理库函数的使用和与其他库函数的配合8.3 数学计算库函数介绍数学计算库math.h中的常用函数讲解数学运算、三角函数和指数函数等函数的用法和功能强调数学计算库函数在数学计算和科学计算中的应用第九章:并发编程和同步机制9.1 并发编程的基本概念介绍并发编程的定义和目的解释进程和线程的概念和关系强调并发编程的优势和挑战9.2 并发编程的同步机制介绍互斥锁、条件变量和信号量等同步机制的原理和用法讲解同步机制在多线程编程中的应用和注意事项强调同步机制在避免竞态条件和数据一致性中的重要性9.3 并发编程的应用实例通过实例演示并发编程在实际应用中的优势和挑战讲解多线程的创建、同步和通信等操作强调并发编程在多任务处理和性能优化中的应用第十章:C语言编程实践10.1 编程实践的重要性强调编程实践在学习和掌握C语言中的重要性解释编程实践对于提高编程能力和解决问题的作用强调编程实践中的代码质量和编程规范10.2 编程实践的项目和案例介绍常见的编程实践项目和案例讲解实际编程中的问题解决方法和技巧强调编程实践中的调试和测试的重要性10.3 编程实践的资源和工具介绍编程实践中的常用工具和环境讲解集成开发环境(IDE)的使用和代码管理强调编程实践中的团队合作和代码分享的重要性重点和难点解析重点环节1:C语言的基本概念和特点需要重点关注C语言的历史和发展,以及其特点和应用范围。
c语言选择结构程序设计教案

C语言选择结构程序设计教案第一章:选择结构概述1.1 选择结构的概念介绍选择结构的基本概念和作用解释条件语句的条件表达式和执行过程1.2 选择结构的语法介绍if语句的语法结构和用法解释if-else语句的语法结构和用法第二章:单分支选择结构2.1 单分支选择结构的概念解释单分支选择结构的含义和应用场景2.2 单分支选择结构的语法介绍if语句的语法结构和用法第三章:双分支选择结构3.1 双分支选择结构的概念解释双分支选择结构的含义和应用场景3.2 双分支选择结构的语法介绍if-else语句的语法结构和用法第四章:多分支选择结构4.1 多分支选择结构的概念解释多分支选择结构的含义和应用场景4.2 多分支选择结构的语法介绍if-else if-else语句的语法结构和用法第五章:嵌套选择结构5.1 嵌套选择结构的概念解释嵌套选择结构的含义和应用场景5.2 嵌套选择结构的语法介绍嵌套if-else语句的语法结构和用法第六章:选择结构的实践应用6.1 简单应用案例设计一个程序,根据用户输入的正负数输出相应的提示信息编写一个程序,根据用户输入的年龄判断并输出相应的年龄段6.2 复杂应用案例设计一个程序,根据用户输入的考试成绩判断并输出相应的等级编写一个程序,根据用户输入的天气情况输出相应的建议第七章:选择结构与逻辑运算符7.1 逻辑运算符概述介绍逻辑运算符的概念和作用解释逻辑运算符的优先级和结合性7.2 逻辑运算符的应用展示如何使用逻辑运算符结合选择结构解决问题举例说明逻辑运算符在实际编程中的应用场景第八章:选择结构与函数8.1 选择结构与函数的关系解释选择结构如何在函数中使用展示选择结构在函数中如何影响程序的执行流程8.2 选择结构在函数中的应用案例编写一个函数,根据传入的参数值返回相应的结果设计一个函数,根据传入的条件判断并执行相应的操作第九章:选择结构与循环结构的结合9.1 选择结构与for循环的结合介绍如何将选择结构与for循环结合使用举例说明选择结构与for循环结合的应用场景9.2 选择结构与while循环的结合介绍如何将选择结构与while循环结合使用举例说明选择结构与while循环结合的应用场景第十章:选择结构的扩展与优化10.1 选择结构的扩展介绍选择结构的扩展方法和技巧解释如何提高选择结构程序的可读性和可维护性10.2 选择结构的优化介绍选择结构优化的方法和原则展示如何通过优化选择结构提高程序的性能和效率第十一章:选择结构与数组的结合11.1 选择结构与一维数组的结合介绍如何使用选择结构对一维数组进行排序展示如何根据特定条件对一维数组进行查找11.2 选择结构与二维数组的结合解释如何使用选择结构遍历和处理二维数组举例说明选择结构在二维数组中的应用场景第十二章:选择结构与文件操作12.1 选择结构与文件读写介绍如何使用选择结构实现文件的打开、读取和关闭展示如何根据特定条件对文件内容进行处理12.2 选择结构与文件操作应用案例编写一个程序,根据用户选择实现文件的复制和移动设计一个程序,根据文件内容判断并输出相应的信息第十三章:选择结构与指针13.1 选择结构与指针的关系解释指针在选择结构中的作用和意义展示如何使用指针和选择结构实现复杂的数据操作13.2 选择结构与指针应用案例编写一个函数,根据指针指向的内容判断并执行相应操作设计一个程序,利用指针和选择结构处理动态分配的内存第十四章:选择结构与字符串处理14.1 选择结构与字符串的关系解释字符串在选择结构中的作用和意义展示如何使用选择结构实现字符串的常见操作14.2 选择结构与字符串处理应用案例编写一个程序,根据用户输入的字符串判断并输出其长度设计一个程序,根据字符串内容判断并执行相应的操作第十五章:选择结构综合案例15.1 选择结构在复杂程序中的应用介绍选择结构在复杂程序中的作用和意义展示如何使用选择结构实现复杂程序的流程控制15.2 选择结构综合案例分析分析并讲解一个涉及选择结构的多模块程序引导学生学会如何将选择结构应用于实际项目开发重点和难点解析本文主要介绍了C语言选择结构程序设计的相关内容,包括选择结构的基本概念、语法和应用场景。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(3)关系或逻辑表达式的值只有两个:真(非零)和假(零)。
(4)分析复杂表达式时,应先找优先级别最高的运算符,同时,注意”()”的优先级别很高,它往往可以改变表达式的运算次序。通过分析复杂表达的运算逻辑,推导出短路原则。
(5)编写一个输出复杂表达式的值及每个参与变量的值的程序。预估程序结果,然后与实验结果对比,从而深入理解短路原则及表达式的运算规律。
【问题】ppt中的程序有哪些错误
【实践】基于强制类型范围缩放数据处理技术的成绩分档程序的设计与实现
授课阶段总结
本节内容以实践为主,以当前所学的知识点,学生可以组织起一个逻辑上相对完整的程序,所以本小节以程序设计思维的训练为重点内容。首先,引导学生设计一个可以进行人机交互的界面—编写一个计算器的菜单,通过选择进行计算,把第一章的计算语句copy到适当的位置(增量开发)。然后,运用本章的知识点,设计具有一定的容错能力和设计技巧(强制类型转换与归一化处理)的学生成绩分档程序。两个例子都用到了本章所介绍的if和switch嵌套句型。
2.4 应用实例(1学时)
教学内容
(1)计算器程序设计。
(2)强制类型转换。首先讲解数据类型之间的转换规则,然后讲解转换的方法及用途。
(3)学生成绩档案管理—成绩等级划分。
讲解思路
(1)本小节主讲设计思想,所以每一个例题都必须有流程图来表达设计思想,通过讲解流程图帮学生梳理思路。然后,把对编程实现时用到技巧及难点进行讲解。
(2)掌握switch多路选择语句,在解决问题时,能够正确选择switch和if语句。
(3)掌握选择语句的流程图的算法描述方法
重点:if选择结构和switch选择结构。
难点:复合运算符及件:根据本节课程设计的内容及计划安,逐步展现知识点。
(2)板书:针对学生在学习和练习过程中出现的问题,进行补充讲解。调节课堂节奏,给学生思考的时间。
(2)计算器程序设计难点及设计技巧是从用户角度考虑两方面的内容:友好的交互界面(增加用户体验感)和运算的健壮性
友好的交互界面:没有一种计算器在实际应用中是在用户输入操作数后,会把所有的计算都运算一遍(第1章我们编写的计算器是这样的)。同操作数一样,进行哪种运算由用户指定,为此,加入菜单,让用户从菜单上选择计算方式。
【实践】分别用if语句和if-else语句编写判断两个数大小的程序
授课阶段总结
本节的知识点不难理解,但有些小地方容易出错:
(1)关系运算符中“==”会错写为赋值运算,可利用赋值运算符的运算规则避免出现逻辑上的错误(系统不会报语法错误),技巧为:如果在关系运算中存在数字,则可以把数字写在“==”的右侧,这样关系运算就不会报语法错误。
“程序主要用来阅读的,只是偶尔用于执行”,所以,建议学生尽量用简单的表达式,并学会化简复杂表达式的方法,如讲解思路(4)中所述。
2.2if选择结构(1学时)
教学内容
(1)if结构
(2)if-else结构
(3)if-else-if结构
(4)if语句嵌套
(5)表达式在if结构中使用的拓展
讲解思路
(1)if结构:用流程图说明if结构的设计思路,以两个数比较大小为例讲解if结构的用法。通过练习,找到if中的语句块与单条语句的语法区别。
(4)if语句嵌套:if语句的嵌套规则,强调没有括号改为配对方式的情况下,else与if语句的配对原则
【提问】if语句中的条件表达式必须是关系或逻辑表达式吗?
(1)表达式在if结构中使用的拓展:任意表达式都可以作为if语句的条件表达式。条件表达式的设计与应用(包括逻辑分析)
(2)用实例说明条件运算符与if-else语句的异同
《C语言程序设计》教案(4-6)
授课题目
第二章选择控制结构与应用
3学时
目的与要求
重点与难点
目的:(1)掌握三种运算符及表达式。
(2)通过基础知识的学习,理解C语言程序的基本组成结构的含义,初步理解如何进行程序的编写掌握。
要求:(1)掌握if条件语句的三种基本形式,能够编写单分支、双分支和多分支选择控制的程序
(2)if结构中多条语句时,容易忘加“{}”
(3)误认为单独的变量不能做条件表达,其实,任意合法的表达式都可以做条件表达式
(4)多级嵌套的条件表达式编写与设计容易出错,建议嵌套层次不要包含两层以上。
2.3switch选择结构(0.5学时)
教学内容
(1)switch结构。
(2)强制类型转换。
(3)switch结构应用实例。
5. 课堂记录
【提问】什么样的表达式叫逻辑表达式/关系表达式?
【实践】编写小程序输出关系运算表达式和逻辑运算表达式的值
授课阶段总结
本节学习运行算符的方法与第1章是一样的,要抓住三个要点。复杂表达式的分析与设计并不简单,需要抓住运算符的运算特点,分析表达式的运算逻辑,才能得到正确的结果。
在实例练中,通过观察变量在运行过程中的变化,去推断程序运算逻辑(如短路原则)。这是调试时常用手段(与debug一样),不但加深同学对知识的理解、巩固学生所学知识,还有助于培养学生的程序分析能力和反工程能力。
4.课堂互动与实践
(1)编写小程序输出关系运算表达式和逻辑运算表达式的值
(2)分别用if语句和if-else语句编写判断两个数大小的程序
(3)编写与设计带菜单的计算器小程序
(4)用if-else和switch嵌套的程序技巧编写成绩分档程序
(5)采用改错的形式巩固if语句中的条件表达式中知识点
(6)基于强制类型范围缩放数据处理技术的成绩分档程序的设计与实现
说明本章重点与难点
2.1选择结构的基本运算符(0.5学时)
教学内容
讲解关系运算符、逻辑运算符的程序设计要点:
(1)关系运算符及关系表达式(6个)。
(2)逻辑运算符及逻辑表达式(3个)。
(3)短路原则。
(4)让学生编写小程序,输出两类运算表达式的值。
讲解思路
(1)学习运算符的要点有三个:优先级、操作数个数和结合性(第1章讲解算术运算符和赋值运算符时首提)。关系运算符和逻辑运算符的学习也需要把握住这三个要点。
(3)教师程序编写:让学生观摩程序的编写、运行及产生结果的过程,与知识点一一对应,加深理解。
(4)学生用手机C语言模拟器编写程序:题目与例题类似,但小有变化,让学生在理解的基础上进行程序编写,为今后的程序设计打下基础,减少程序设计中的错误。
(5)问答:就一些知识点的变化与学生进行问答互动。
(6)就(4)和(5)中同学们的表现给出部分平时分,为了鼓励同学们的参与积极性,参与者加1分,答对者加2-3分。
强制类型转换这一改进需要用到强制数据类型转换。因为switch是判等的,要求switch表达式与case常量表达式必是字符型或整型,而成绩分档是一个浮点型集合划分的运算,所以需要将强制类型转换知识点
基于强制类型范围缩放数据处理技术,把一个范围表达浓缩到一个整型数字里,这样就能使用switch选择结构了。
(3)比较switch选择结构与if-else-if选择结构。对上述实例进行总结,从两者的运算机理到使用方法等6个方面比较它们使用方法和应用场合。
实践:编写学生成绩分等级的程序
授课阶段总结
switch语法比较复杂,而且要求比较严格。学习时,要记住它的语法格式及相关的程序设计要求。
从程序阅读角度来看,switch比if-else-if具有更好的结构且执行效率也高,但是switch执行条件比if-else-if要严格,它们之间相互替换使用时,通常switch需要更多的程序设计技巧。
菜单用输出函数printf打印出来
选择计算方式用switch选择结构实现,每个case对应一个计算功能
健壮性:在进行除法运算时,当除数为0时,应提示用户输入错误。
用if选择结构来判除数是否为0,并提示用户输入错误。
【实践】编写与设计带菜单的计算器小程序
(3)以switch选择结构与if选择结构相互嵌套的形式对学生成绩管理程序的改进。
(2)if-else结构:用流程图说明if-else结构的设计思想,改写两个数比较大小的实例,让学生看两者的区别,并能总结出在此例中if-else的方便性。
(3)if-else-if结构:用流程图说明if-else-if结构的程序设计思路,强调最后一个else的作用。以学生成绩分等级为例讲解if-else-if的用法。
3.本次课程总结
(1)知识层面
关系运算符与表达式、逻辑运算符与表达式
if语句的三种语法形式
三目运算符(?)
switch选择结构--break语句
(2)方法层面
多分支选择结构的组织方式与设计方法:if-else-if和switch
对switch结构中有无break语句的使用与设计技巧
类型转换
数据缩放技巧
教学内容
1.课程内容的引入
对第一章的内容进行总结,提出第一章的程序编写中缺少按照不同的条件选择执行不同的代码的机制,而在实际应用中很多情况下,需要依据不同的条件,执行不同的运算过处理器,如博弈类游戏的设计等。为此,
(1)需要学习更多的运算符
(2)学习选择结构的代码设计
2.本节课程讲解的内容
第二章选择控制结构与应用
(4)比较switch选择结构与if-else-if选择结构。
讲解思路
(1)switch选择结构。首先讲解switch选择结构的表达形式及语法含义,然后,用流程图讲解它的执行次序及使用方法。特别注意两点:switch条件表达式只能进行判等运算;break对于switch执行的影响。
(2)switch结构应用实例。将(1)中的知识点运用的实例当中。