《C程序设计》课程教学大纲一、《C程序设计》课程说明(一)课程代码:(二)课程英文名称:C Language Program Design(三)开课对象:非计算机专业专科学生(四)课程性质:C语言以其灵活方便的特点,成为培养学生计算机语言思维,了解计算机编程思想的最佳语言,它已被当今国内外众多主要高校列为各理工科专业必修课程。
本课程是我校非计算机专业本科学生的综合教育课,是一门实践性较强的课程。
(五)教学目的:本课程的教学目的在于掌握C语言的基本结构、各种数据类型和控制流程的语法、语义和语用。
学习运用计算机语言进行程序设计的思想和方法,初步受到程序设计方法、技巧、风格和素养的训练。
熟悉并掌握一些常用基本算法和C语言程序设计技术,培养学生利用C语言解决一般问题的程序设计能力,使学生初步具备软件开发的能力,为顺利通过计算机等级考试打下良好、扎实的理论基础。
(六)教学内容:本课程主要通过适当的示例,系统、详细地讲解程序设计的基础知识、C语言程序设计语言的基本语法、编程方法和常用算法。
通过教学的各个环节使学生达到各章中所提的基本要求。
讲授时应以培养学生的程序设计实际软件开发能力和实践应用能力为侧重点。
(七)学时数、学分数及学时数具体分配学时数: 68学时分数: 3 学分(八)教学方式以黑板讲学和多媒体教学手段相结合的课堂教学。
通过典型的示例讲解、必要的现场实际操作演示、适量的课堂练习、课后的上机编程调试以及及时地辅导答疑,在教学过程中增强师生之间的互动性,充分发挥学生在学习过程中的自主性、能动性和创造性。
(九)考核方式和成绩记载说明考核方式为考试。
严格考核学生出勤情况,达到学籍管理规定的旷课量取消考试资格。
综合成绩根据平时成绩、实验成绩和期末成绩评定,平时成绩占20% ,实验成绩占20%,期末成绩占60% 。
二、讲授大纲与各章的基本要求第一章C语言程序设计概述教学要点:通过本章的教学使学生初步了解要求学生了解程序语言及算法的概念,C语言特点,C 程序开发过程,简单C程序结构;熟悉C语言上机的具体步骤。
1、使学生了解程序语言及算法的概念。
2、使学生了解C语言不同于其他语言的特点。
3、通过简单的C程序,领会并分析C程序的特性,掌握其基本结构框架。
4、通过简单程序介绍,熟悉C源程序的书写格式。
5、在学习了简单的程序之后,掌握在Turbo C集成开发环境下建立和运行C程序的方法,熟悉C程序的运行环境及上机步骤。
教学时数:2学时教学内容:1.1程序与程序设计语言1.1.1程序的基本概念1.1.2程序设计语言1.2算法及其描述1.2.1算法的概念1.2.2算法的描述方法1.3 C语言的发展及特点1.3.1 C语言的发展概况1.3.2 C语言的特点1.4 C语言程序的基本结构(介绍简单的C程序,讲解C程序的组成和结构形式)1.5 C语言字符集、标识符与关键字1.5.1 C语言字符集1.5.2标识符与关键字1.6 C语言程序的开发环境1.6.1 Turbo C2.0 介绍1.6.2源程序输入1.6.3编译、连接与运行第二章C语言的基本数据类型与表达式教学要点:要求学生理解数据类型与变量、常量的关系,掌握各种常量的性质和定义,掌握表达式中各种运算符的功能和特点,了解数据类型的相互转换规则。
通过本章的学习掌握C语言的各种基本数据类型及它们的定义、赋值、使用。
1、使学生了解C语言的数据类型的种类。
2、使学生理解C语言常量与变量的定义,符号常量的使用及合法标识符的定名规则。
3、掌握各种基本数据类型常量的表示方法以及他们各自变量的定义。
4、熟练掌握C语言的各种运算符(优先级、结合方向)及相应的表达式。
掌握各类数值型数据间的混合运算。
5、了解数据类型的相互转换规则教学时数:4学时教学内容:2.1 C语言的基本数据类型2.1.1数据类型概述2.1.2整数类型2.1.3实数类型2.1.4字符类型2.2常量与变量2.2.1常量与符号常量2.2.2变量与变量定义2.3运算符与表达式2.3.1算术运算符与算术表达式2.3.2赋值运算符与赋值表达式2.3.3逗号运算符和求字节运算符2.3.4条件运算符2.4数据类型转换2.4.1类型自动转换2.4.2赋值转换2.4.3强制类型转换第三章顺序结构程序设计教学要点:通过本章的学习了解C语句的概念及种类,尤其是复合语句、空语句等的概念和使用场合,掌握字符输入getchar、字符输出putchar函数以及熟练掌握格式输入scanf函数和格式输出printf函数的调用格式,功能和使用方法。
1、使学生对C语言的基本语句有一定的认识(尤其是复合语句、空语句等的概念和使用场合)。
2、了解数据输入输出的概念及在C语言中的实现。
3、掌握字符数据的输入输出。
4、熟练掌握格式输入与输出函数的调用格式,功能和使用方法。
尤其注意输入函数scanf的格式要求(初学者很容易犯错)。
5、通过实例让学生了解三大结构中的顺序结构程序设计方法,学会简单的编程。
教学时数:4学时教学内容:3.1 C语言的基本语句3.1.1简单语句3.1.2复合语句3.2数据输入与输出3.2.1字符输入输出函数(putchar和getchar函数)3.2.2格式输出函数printf3.2.3格式输入函数scanf3.3 程序举例(顺序结构程序设计举例,让学生知道分析问题并写出简单程序的方法)第四章选择结构程序设计教学要点:通过本章的学习掌握关系运算符及关系表达式;掌握逻辑运算符及逻辑表达式;重点掌握if语句的多种形式;熟练掌握if语句的嵌套使用和多分支switch语句的格式、功能及其使用。
1、掌握关系、逻辑运算符及其优先次序以及关系表达式的使用2、重点掌握if语句的多种形式(让学生区分清楚)3、熟练掌握if语句的嵌套,使得学生对if…else的配对有清晰的认识4、掌握选择结构程序设计,嵌套程序设计。
5、熟练掌握多分支switch语句的格式、功能及其使用。
教学时数:8学时教学内容:4.1关系运算符与关系表达式4.1.1关系运算符4.1.2关系表达式4.2逻辑运算符与逻辑表达式4.2.1逻辑运算符4.2.2逻辑表达式(逻辑表达式值的判断,尤其要掌握(a&&b&&c)与(a||b||c)这样特殊的式子的运算规则)4.3 if语句4.3.1单分支if语句4.3.2双分支if语句4.3.3多分支选择结构4.3.4 if语句的嵌套(阐明if…else的配对关系(本节的重点))4.4 switch语句(注意switch语句格式和执行过程及配合break的使用)4.5结构嵌套程序举例第五章循环结构程序设计教学要点:通过本章的学习领会循环结构程序设计。
掌握各种循环语句应用的特点及异同点,掌握循环嵌套及复合结构。
了解break、continue在循环语句中的作用。
1、了解goto语句以及用goto语句构成循环2、掌握while语句和do…while语句实现的循环的用法和两者区别3、重点掌握用for 语句实现循环(形式最为灵活)4、for、while、do-while三循环之间的嵌套也是本章的重点5、了解break、continue在循环语句中的作用,能灵活使用。
教学时数:6学时教学内容:5.1 while 语句5.2 do while语句(重点讲解while语句和do…while语句实现的循环的区别)5.3 for语句5.3.1 for语句的一般形式5.3.2 for语句中的各表达式含义5.3.3 for语句与while 语句的比较5.3.4 for语句的变形5.4 break、continue和goto语句5.4.1 break语句5.4.2 continue语句5.4.3 goto语句5.5循环的嵌套(本章的重点,要深刻领会)5.6复合结构程序举例(这是本章重点,一定要将例子透彻,使学生能灵活地应用循环进行编程)第六章函数与编译预处理教学要点:要求学生了解模块化程序设计的思想,掌握函数的定义及调用,了解形式参数与实际参数的概念;熟练掌握参数传递、函数值的返回;理解变量的作用域与存储方式的概念,理解编译预处理的概念。
1、领会模块化程序设计的思想2、掌握函数的基本结构及定义方式3、熟练掌握函数调用,函数嵌套调用和参数传递(本章重点)4、掌握函数的递归调用和递归函数设计5、了解变量的作用域与存储方式的概念6、重点掌握带参数的宏定义(尤其注意参数括号的使用,了解带参函数调用与带参数宏定义的区别)教学时数: 8学时教学内容:6.1 模块化程序设计与函数6.1.1模块与函数6.1.2模块设计原则6.1.3算法描述简介6.2函数的定义与调用6.2.1标准库函数6.2.2函数的定义6.2.3函数的调用6.2.4参数的传递6.3函数的递归调用(一般递归函数的程序段的设计(用if语句实现),要求掌握n!这一类问题的递归解法)6.4变量作用域与存储方式6.4.1变量的作用域6.4.2变量的存储方式6.5编译预处理6.5.1宏定义(重点阐明宏定义中替换的形参使用括号与否的区别,带参函数调用与带参数宏定义的区别)6.5.2文件包含6.5.3条件编译6.6函数设计举例第七章数组教学要点:要求学生理解数组下标,掌握初始化数组的方法,学会参数传递数组,并基本掌握二维数组及字符数组的使用。
1、熟练掌握一维数组、二维数组、字符数组的定义、初始化和引用方法2、起泡(冒泡)排序和选择排序、折半查找算法及杨辉三角等数组的应用实例要作详细讲解3、重点掌握数组作为函数的参数4、掌握字符数组的输入输出以及字符串处理函数教学时数: 6学时教学内容:7.1一维数组7.1.1一维数组的定义(阐明C不允许对数组的大小作动态定义及最小下标从0开始等概念)7.1.2一维数组元素的引用7.1.3一维数组的存储结构与初始化7.2二维数组7.2.1二维数组的定义7.2.2二维数组元素的引用7.2.3二维数组的存储7.2.4二维数组的初始化7.3数组的应用7.4字符数组与字符串7.4.1字符数组的定义与初始化7.4.2字符串的概念及存储7.4.3字符串的输入与输出7.4.4字符串处理函数(puts(),gets(),串连接strcat(),串复制strcpy(),串比较strcmp(),求串长strlen()等)7.5数组作为函数的参数7.6程序举例第八章指针教学要点:通过本章的学习重点掌握指针与指针变量的概念,指针与地址运算符的关系;掌握变量、数组、函数、字符串的指针以及指向变量、数组、函数、字符串的指针变量,并能通过指针灵活引用这些类型的数据;掌握多级指针和指针数组的概念及使用。
1、重点掌握指针与指针变量的概念,指针与地址运算符的关系及指针运算。