
《C程序设计》教学大纲.doc
16页《C 程序设计》教学大纲一、 说明(一) 《C 程序设计》的课程性质:《C 程序设计》是高等院校计算机专业专业基础课,也是一门实践性很强的课程,既要掌握概念,又要动手编程,还要上机调试运行对计算机类专业学生来说是一门必修的课程,同时,这门课程也是“安徽省非计算机专业学生计算机应用能力水平考试”二级考试的主要语种之一二)教材及授课对象:1.教材:《C 程序设计(第三版)》 谭浩强著,清华大学出版社,2005.32.授课对象:计算机类各专业本科学生三) 《C 程序设计》的课程目标(教学目标):1.通过本课程的学习,可以使学生熟悉 C 语言发展;理解和掌握结构化程序设计的基本思想及基本概念;掌握使用 C 语言进行结构化编程的技术;初步认识 C 应用程序设计方法及过程2.通过本课程的学习,为计算机专业学生学习后续专业课《数据结构》、《算法基础》等打下良好的基础四) 《C 程序设计》课程授课计划(包括学时分配)学 时 安 排序号 内 容 理论课时实验课时习题课时上机课时小计1 C 语言概述 2 0 0 2 42 算法基础 4 0 0 0 43 数据类型、运算符和表达式 6 0 1 4 114 顺序程序设计 6 0 1 4 115 选择结构程序设计 6 0 1 4 116 循环控制 6 0 1 4 117 数组 6 0 1 4 118 函数 4 0 2 4 109 预处理命令 4 0 0 2 610 指针 6 0 2 4 1211 结构体和共用体 4 0 1 2 712 位运算 2 0 0 0 213 文件 2 0 0 0 2总 计 58 0 10 34 102(五)教学建议:1.《C 程序设计》是一门应用性很强的课程,它所涉及的内容也十分广泛。
整个教学过程由授课、实验、作业和自学四个环节组成2.授课尽可能采用现代教学手段——多媒体教学形式3.期末考核方式为教考分离方式,期末考试参加安徽省计算机应用能力水平考试作业未完成者不得参加考试实验成绩和作业共同评定为平时成绩六)考核要求:本课程是考试课;考试形式为闭卷;考核成绩的评分标准:平时成绩占 10%,期中成绩占 30%,期末成绩 60%二、正文第一章 C 语言概述主要教学目标:了解编 C 程序概念,C 程序的结构和 C 程序的特点教学方法及教学手段:理论结合上机操作教学重点及难点:C 语言的特点;C 语言的编程环境第一节 C 语言的发展历史一、计算机程序设计语言的发展机器语言;汇编语言;面向过程的高级语言;面向对象的高级语言二、C 语言的前身ALOG 60 到 CPL;CPL 到 BCPL;BCPL 到 B 语言;B 语言到 C 语言三、C 语言的后续发展语言C++;Visual C++;C#第二节 C 语言的特点一、C 语言相对于其他的高级语言所具有的特点1.C 语言简洁、紧凑、使用方便灵活2.语法限制不太严格,程序设计自由度大3.C 语言运算符丰富;结构丰富4.具有结构化的控制语句。
5.C 语言允许直接访问物理地址6.能进行位运算;可以直接对硬件进行操作7.C 语言生成目标代码质量高,程序执行效率高8.程序的可移植性好二、C 语言开发程序的适用情况适用于开发应用软件和大型的应用软件第三节 简单的 C 程序介绍一、一个简单 C 程序的基本构成main 主函数;输入;输出;注释部分二、C 函数简介1.C 函数是构成 C 程序的基本单元2.C 函数的基本构成:函数头和函数体3.C 语句的构成、数据类型和数据运算第四节 C 程序的上机步骤一、C 程序上机的四大步骤编辑、编译、连接和执行二、上机的环境和基本操作认识 Turbo C 编译器的界面和熟练掌握各主要菜单和常用快捷键的使用第二章 算法基础主要教学目标:熟练算法的基本概念及算法的表示——流程图教学方法及教学手段:理论结合上机操作教学重点及难点:算法的常用表示方法第一节 算法的概念一、算法的基本概念和作用算法是程序设计分析过程的思路,其作用是选择和确定程序设计的结构、方法二、算法的两大类别数值型算法和非数值型算法第二节 简单算法举例一、程序设计算法分析的一般过程问题分析;模型构造;算法描述二、算法分析过程对程序的影响影响程序的结构、效率等。
第三节 算法的特性一、算法的基本特性1.算法的有穷性2.算法的确定性3.有零个或多个输入4.有一个或多个输出5.有效性第四节 怎样表示一个算法一、常见的算法表示方法1.用自然语言表示算法2.用流程图表示算法3.三种基本结构和改进的流程图4.用 N-S 流程图表示算法5.用伪代码表示算法6.用计算机语言表示算法第五节 结构化程序设计方法一、结构化程序设计应遵循的规则1.自顶向下2.逐步细化3.模块化设计4.结构化编码第三章 数据类型、运算符与表达式主要教学目标:熟练掌握 C 语言的数据分类和基本数据类型;熟练掌握算术、关系和逻辑运算符的运算规则和表达式的执行顺序教学方法及教学手段:理论结合上机操作教学重点及难点:基本数据类型;变量定义和赋值;运算符与表达式;算符优先级第一节 C 的数据类型一、C 语言的基本类型整型;字符型;实型和枚举型二、C 语言的构造类型数组类型;结构体类型和共用体类型三、指针类型四、空类型第二节 常量和变量一、常量和符号常量常量和符号常量的概念、异同二、变量变量的概念、含义和使用;变量的类型;变量的值第三节 整型数据一、整型常量的三种表示形式十进制形式;八进制形式和十六进制形式。
二、整型变量整型变量的定义、分类和内存表示形式;整型数据的溢出三、整型常量整型常量的类型表示形式和计算机内部处理形式第四节 实型数据一、实型常量的表示形式十进制小数形式和指数形式二、实型变量实型变量的分类、内存表示形式和实型数据的舍入误差三、实型常量实型常量的类型表示形式和使用第五节 字符型数据一、字符常量字符常量的表示形式、转义字符和 ASCII 码表二、字符变量字符变量的定义和分类三、字符数据在内存中的存储形式四、字符串常量字符串常量的表示及其在内存中的表示形式第六节 变量赋初值一、变量的初值变量初值的概念及其在程序设计中的设置二、变量赋初值变量赋初值的方法和各种形式第七节 各类数值型数据间的混合运算一、多种数值型数据运算的类型默认转换关系二、含多种数值型数据运算表达式的运算结果的类型问题第八节 算术运算符和算术表达式一、C 语言的运算符分类算术运算符;关系运算符;逻辑运算符;位运算符;赋值运算符;条件运算符;逗号运算符;指针运算符;求字节运算符;强制类型转换运算符;分量运算符;下标运算符二、基本的算术运算符的优先级和结合方向、算术表达式三、强制类型转换运算符和自增、自减运算符第九节 赋值运算符和赋值表达式一、赋值运算符1.赋值运算符的使用2.赋值运算中的类型转换3.复合的赋值运算符二、赋值表达式第十节 逗号运算符和逗号表达式一、逗号运算符逗号运算符的求值方法和逗号表达式。
二、逗号运算符和逗号分隔符的区别第四章 顺序结构程序设计主要教学目标:要求熟练掌握顺序程序设计的方法、熟练掌握输入函数和输出函数的使用教学方法及教学手段:理论结合上机操作教学重点及难点:输入输出;顺序结构 C 程序的编写第一节 C 语句概述一、C 语句的一般形式二、C 语句的五大类型控制语句;函数调用语句;表达式语句;空语句;复合语句第二节 赋值语句一、赋值语句的形式二、赋值语句和赋值表达式的区别第三节 C 语言的数据输入输出一、程序输入和输出的作用二、C 语言中的输入和输出的实现1.C 语言中输入和输出通过系统库函数来实现的2.输入和输出系统库函数所在的头文件:stdio.h第四节 字符数据的输入输出一、字符输出函数 putchar( )二、字符输入函数 getchar( )第五节 格式输入与输出一、格式输出函数 printf()printf( )函数的一般格式、使用方法和注意事项二、格式输入函数 scanf()scanf( )的一般格式、使用方法和注意事项第六节 顺序结构程序设计举例一、顺序结构程序设计的一般思路二、顺序结构程序的构成第五章 选择结构程序设计主要教学目标:掌握关系表达式和逻辑表达式;掌握 if 和 switch 语句。
教学方法及教学手段:理论结合上机操作教学重点及难点:if 语句;switch 语句第一节 关系运算符和关系表达式一、关系运算符六种关系运算符的使用及其优先次序和结合方向二、关系表达式关系表达式的运算规则及其值第二节 逻辑运算符和逻辑表达式一、逻辑运算符逻辑运算符的使用及优先次序和结合方向二、逻辑表达式逻辑表达式的运算及其值第三节 if 语句一、if 语句的一般形式if 语句的三种形式及其使用方法二、if 语句的嵌套三、条件运算符第四节 switch 语句一、switch 语句的一般形式二、switch 语句使用时应注意的事项第五节 选择结构程序举例一、选择结构适用的情况二、选择结构程序设计的一般思路第六章 循环控制主要教学目标:熟练掌握循环结构的方法和循环结构的实现形式:goto 语句、while 语句和 for 语句教学方法及教学手段:理论结合上机操作教学重点及难点:while、for 循环控制结构;break 和 continue;循环结构 C 程序的编写第一节 循环控制概述一、循环的概念和适用的情况二、循环控制的四种形式goto 语句;while 语句;do-while 语句;for 语句。
第二节 goto 语句及其构成的循环一、goto 语句goto 语句的一般形式及适用场合二、goto 语句与 if 语句构成循环的形式第三节 while 语句一、while 语句while 语句的一般形式及适用场合二、while 语句使用时应注意的事项第四节 do-while 语句一、do-while 语句do-while 语句的一般形式及适用场合二、do-while 语句使用时应注意的事项三、while 语句和 do-while 语句的区别while 语句是“先判断,后执行” ;do-while 语句是“先执行,后判断” 第五节 for 语句一、for 语句的一般形式二、for 语句与 while 语句和 do-while 语句的等价性三、for 语句变换形式第六节 循环嵌套一、循环嵌套结构循环嵌套结构的几种形式和循环的退出二、循环嵌套结构程序的分析第七节 四种循环的比较一、四种循环的等价性二、四种循环的适用性分析goto 语句一般限制使用;while 语句和 do-while 语句一般用于未知循环次数的情况;for 语句一般用于已知循环次数的情况第八节 break 语句和 continue 语句一、break 语句break 语句的一般形式及其使用二、continue 语句continue 语句的一般形式及其使用三、break 语句和 continue 语句的差异break 语句用于退出本层循环;continue 用于本次循环第七章 数 组主要教学目标:理解数组的概念和数组的存储形式;熟练掌握一维数组和二维数组的定义和使用方法;熟练掌握字符数组和字符串的关系。
教学方法及教学手段:理论结合上机操作教学重点及难点:一维数组和二维数组的定义和初始化;数组的基本操作;字符数组和字符串第一节 一维数组的定义和引用一、一维数组的定义形式二、一维数组元素的引用三、一维数组的初始化第二节 二维数组的定义和引用一、二维数组的定义形式二、二维数组元素的引用三、二维数组的初始化第三节 字符数组一、字符数组的定义形式二、字符数组元素的引用三、字符数组的初始化四、字符数组的输入输出五、字符串和字符串结束标志六、字符串处理的系统函数puts();gets();strcat();strcpy。
