《程序设计与算法语言》教案课程名称:程序设计与算法语言课程号:1080067 编写日期:20XX年7月第1章C语言概述(3课时)[教学目的及要求]了解C语言出现的历史背景、C语言的特点;通过简单C程序的例子,了解C 程序的基本构成,要求通过学习简单例子,学生能编写简单程序;熟悉C程序编译环境。
[教学内容].1C语言的历史背景及其发展.2C语言的特点.3简单的C程序介绍.4C编译环境1.4.1 C程序编译环境1.4.2 运行C程序的步骤与方法第2章程序的灵魂——算法(3课时)[教学目的及要求]了解算法的概念及特性,并正确使用结构化程序设计方法来表示算法的。
[教学内容]2.1算法的概念2.2 简单算法举例2.3 算法的特性2.4 怎样表示一个算法2.4.1 用自然语言表示算法2.4.2用流程图表示算法2.4.3三种基本结构和改进的流程图2.4.4用N-S 流程图表示算法2.4.5用伪代码表示算法2.4.6用机器语言表示算法2.5 结构化程序设计方法第3章 数据类型、运算符与表达式(3课时)[教学目的及要求]通过本章的学习,要求了解C语言的特点、掌握上机步骤、C语言符号;理解数据类型、变量说明、常用的数学函数、运算符及表达式。
[教学内容]3.1 数据类型3.1.1 C的数据类型3.1.2 常量和符号常量3.1.3 原码、反码及补码3.1.4 变量33..11..55 整整型型数数据据33..11..55..11 整整型型常常量量33..11..55..22 整整形形变变量量33..11..55..33 整整形形数数据据的的溢溢出出3.1.6 实型数数据据33..11..66..11 实实型型常常量量33..11..66..22 实实型型变变量量33..11..66..33 实实型型数数据据的的舍舍入入误误差差3.1.7 字符型数据33..11..77..11 字字符符常常量量33..11..77..22 字字符符变变量量33..11..77..33 字字符符串串常常量量3.2 变量赋初值3.3 各类数值型数据间的混合运算3.4 运算符及表达式3.4.1 C运算符简介3.4.2 算术运算符和算术表达式3.4.3 赋值运算符和赋值表达式3.4.4 逗号运算符和逗号表达式第4章 顺序程序设计(3课时)[教学目的与要求]通过本章的学习,要求掌握程序的三种基本结构。
熟练掌握赋值语句、复合语句、最基本的输入输出函数及顺序结构的程序设计方法。
[教学内容]4.1 C语句概述4.2 赋值语句4.3 数据输入输出及在C语言中的实型4.4 字符数据的输入输出4.4.1 putchar函数4.4.2 getchar函数4.5 格式输入输出4.5.1 printf函数4.5.2 scanf函数4.6 顺序结构程序设计举例第5章选择结构程序设计(6课时)[教学目的与要求]掌握条件运算符及条件表达式的用法;掌握逻辑运算符及逻辑表达式的用法;熟练if语句、switch语句的语法格式和用法,深刻领会并掌握选择结构的程序设计方法。
[教学内容]5.1关系运算符和关系表达式5.1.1 关系运算符及其优先次序5.1.2 关系表达式5.2 逻辑运算符和逻辑表达式5.2.1 逻辑运算符及其优先次序5.2.2 逻辑表达式5.2.3 逻辑运算符的短路现象5.3 if语句5.3.1 if语句的三种形式5.3.2 if语句的嵌套5.3.3 条件运算符5.4 switch语句5.4.1 switch语句的一般形式5.4.2 switch语句的改进形式5.5 程序举例第6章循环结构程序设计(6课时)[教学目的与要求]通过本章的学习,要求学生熟练掌握while语句、do-while语句、for语句;领会控制转向语句的格式和用法,充分掌握循环结构的程序设计方法;从而为学习下一章打好基础。
[教学内容]6.1 while语句6.1.1 格式和执行过程6.1.2 举例6.2 do─while语句6.2.1 格式和执行过程6.2.2 举例6.2.3 while循环与do-while循环的区别6.3 for语句6.3.1 格式和执行过程6.3.2 举例6.4 循环的嵌套6.5 控制转向语句6.5.1 break语句6.5.2 continue语句第7章数组(9课时)[教学目的与要求]掌握一维数组的定义及数组元素的引用和初始化;掌握二维数组的定义及二维数组元素的引用和初始化;掌握字符数组的定义、引用和初始化;掌握数组应用的基本算法:例如排序、查找、插入、删除、逆置;掌握字符数组、字符串和字符串处理函数的用法。
[教学内容]7.1 一维数组7.1.1 一维数组的定义7.1.2 一维数组元素的引用7.1.3 一维数组的初始化7.1.4 一维数组程序举例7.2 二维数组7.2.1 二维数组的定义7.2.2 二维数组元素的引用7.2.3 二维数组的初始化7.2.4 二维数组程序举例7.3 字符数组和字符串7.3.1 字符数组的定义7.3.2 字符数组元素的引用7.3.3 字符数组的初始化7.3.4 字符串和字符串结束标志7.3.5 字符数组的输入输出7.3.6 字符串处理函数7.3.6.1 puts函数7.3.6.2 gets函数7.3.6.3 strcat函数7.3.6.4 strcpy函数和strncpy函数7.3.6.5 strcmp函数7.3.6.6 strlen函数7.3.6.7 strlwr函数7.3.6.8 strupr函数7.3.7 字符数组应用举例第8章函数(9课时)[教学目的与要求]掌握函数的定义与调用(一般调用,嵌套调用,递归调用)方法;掌握变量的存储类型、作用域和初始化。
[教学内容]8.1 函数的定义和调用8.1.1 函数的定义8.1.1.1 无参函数定义的一般形式8.1.1.2 有参函数定义的一般形式8.1.1.3 空函数8.1.2函数的参数及返回值8.1.2.1 形式参数和实际参数8.1.2.2 函数的返回值8.1.3 函数的调用8.1.3.1 函数调用的一般形式8.1.3.2 函数调用的方式8.1.4 函数的说明和函数原型8.1.5 库函数概念及常用库函数8.2 函数的嵌套调用8.3 函数的递归调用8.4 数组作为函数的参数8.4.1 数组元素作为函数参数8.4.2 数组名作为函数参数8.4.2.1 一维数组名作为函数参数8.4.2.2 二维数组名作为函数参数8.5 变量的存储类型、作用域和初始化8.5.1 变量的存储类别8.5.2 局部变量和全局变量8.5.3 四种存储类型变量的说明及其作用域8.5.3.1 auto变量8.5.3.2 用static声明局部变量8.5.3.3 register变量8.5.3.4 用extern声明外部变量8.5.3.5 用static声明外部变量8.5.4 不同存储类型变量的初始化8.6 内部函数和外部函数8.6.1 内部函数8.6.2 外部函数第9章编译预处理(3课时)[教学目的与要求]了解编译预处理的含义,掌握宏定义、文件包含的基本用法。
[教学内容]9.1 宏定义9.1.1 不带参数的宏定义9.1.2 带参数的宏定义9.2 文件包含第10章指针(15课时)[教学目的与要求]要求学生熟练掌握指针变量的定义、引用和初始化。
掌握数组的指针表示,指针运算。
掌握指针数组的说明和初始化;掌握字符数组的定义、引用及初始化。
[教学内容]10.1指针的概念10.2变量与指针10.2.1 指针变量定义10.2.2 指针变量的引用10.2.3 指针变量初始化10.2.4 指针变量作函数参数10.3指针与数组10.3.1 指向数组元素的指针10.3.2 通过指针引用数组元素10.3.3 指针的运算规则10.3.4 用数组名作函数参数10.3.5 二维数组与指针10.3.5.1 二维数组元素的地址10.3.5.2 指向二维数组元素的指针变量10.3.5.3 指向数组的指针作函数参数10.4字符串与指针10.4.1 字符串的表示形式10.4.2 字符指针作函数参数10.4.3 对使用字符指针变量和字符数组的讨论第11章结构体和共用体(12课时)[教学目的与要求]掌握结构体类型(包括结构体类型变量的定义、初始化和引用,以及结构体数组的定义、初始化及其引用);掌握通过结构体指针引用结构体类型变量中的成员的方法;另外,本章要求掌握用指针处理链表的情形。
最后,有关共用体类型变量的定义及引用方法,要求学生能有一定的了解。
[教学内容]11.1概述11.2结构体类型变量定义11.2.1 先声明结构体类型再定义变量名11.2.2 在声明类型的同时定义变量11.2.3 直接定义结构体类型变量11.3结构体变量的引用11.4结构体变量的初始化11.5结构体数组11.5.1 定义结构体数组11.5.2 结构体数组的初始化11.6指向结构体类型数据的指针11.6.1 指向结构体变量的指针11.6.2 指向结构体数组的指针11.7用指针处理链表11.7.1 建立动态链表11.7.2 插入链表11.7.3 删除链表11.8共用体11.8.1 共用体的概念11.8.2 共用体变量的引用11.9枚举类型11.10用typedef定义类型第12章位运算(3课时)[教学目的与要求]了解C语言提供的位运算并掌握运算符的具体运算功能。
[教学内容]12.1位运算符和位运算12.1.1 “按位与”运算符12.1.2 “按位或”运算符12.1.3 “异或”运算符12.1.4 “取反”运算符12.1.5 左移运算符12.1.6 右移运算符12.2位段第13章文件(3课时)[教学目的与要求]掌握和了解C文件使用中的相关概念以及文件指针的定义及其作用,了解打开文件和关闭文件以及C提供的常用输入输出标准库函数的使用和文件的位置函数。
[教学内容]13.1C文件概述13.2文件类型指针13.3文件的打开与关闭13.4文件的读写13.5文件的定位13.6出错检测第14章数据结构初步(6课时)[教学目的与要求]掌握和了解数据结构的基本概念以及线性表、栈、队、串、数组、广义表、树、图的相关概念和应用,了解一些常用的查找、排序算法。
[教学内容]14.1 基本概念14.2 线性表14.3 栈、队、串14.4 数组与广义表14.5 树14.6 图14.7 查找、排序。