《C程序设计基础》课程教学大纲总学时数:36+18学分:3适用专业:各专科专业•课程教学目标对计算机学科来说,C语言是计算机学科的基础之一,更是软件技术的基础。学习本门课的知识目标是:掌握C语言的基本语法和编程能力。能力目标是:提高学生解决实际问题的能力、提高学生的算法设计和编写高效程序的能力。情感目标是:通过相互合作,做一些综合性的和设计性实验或做一些大的作业培养学生的团队精神。二、课程的性质、目的和任务《C语言》是计算机专业的一门专业基础课。主要任务是使学生掌握C程序设计语言的基本知识,并可运用C语言编写应用程序完成特定任务。通过本课程的学习,使学生深入理解编写C语言程序的基本思想,培养学生分析问题、解决问题的能力,培养基本的、良好的程序设计能力,为学习《数据结构》、《操作系统》等课程奠定基础。三、课程的教学基本要求熟练掌握C数据类型、运算符和表达式、控制结构、数组、函数、指针、结构体和文件等知识,具备基本的C语言编程能力。四、课程教学内容•C语言概述(一)本章教学基本要求本章讨论的是C语言的相关知识及基本概念。通过本章学习,学生要了解C语言发展过程,掌握基本的概念,熟悉C语言程序结构。1.1计算机与程序、程序设计语言教学内容:程序、程序设计语言1.2C语言的出现和发展过程教学内容:阐述C语言的发展过程。1.3简单的C语言程序教学内容:阐述C语言程序的结构。(二)重点与难点重点:掌握C语言的特点,熟悉C语言程序的结构。难点:C语言程序的结构中函数结构。(三)小结本章主要介绍C语言的相关知识(如发展过程、特点等),C语言程序的结构。•第2章数据的存储与运算(一)本章教学基本要求了解数据的存储和运算的概念和特点,能够把一个实际问题用算法来描述,并用C语言程序实现;掌握结构化程序设计方法。2.1数据在计算机中是怎样存储的教学内容:数据在计算机中是以二进制形式存储的、不同类型数据的存储方式,位、字节和地址基本概念2.2整型数据的运算与分析教学内容:整型数据运算程序举例和分析、整型常量与整型变量2.3实型数据的运算与分析教学内容:实型数据的运算举例、实型常量的表示形式、实型变量2.4字符型数据的运算教学内容:字符数据运算的简单例子、字符常量和字符变量、字符串常量2.5符号常量教学内容:符号常量的作用、符号常量的性质和使用方法2.6算术运算符和算术表达式教学内容:算术运算符、算术表达式2.7C运算符和C表达式教学内容:C运算符、C表达式(二)重点与难点重点:整型、实型、字符型数据的运算与分析难点:c运算符和c表达式。(三)小结本章主要介绍整型、实型、字符型数据的运算与分析。•第3章最简单的C程序设计——顺序程序设计(一)本章教学基本要求熟悉C语言程序结构,掌握数据的输入输出函数,掌握简单的顺序C语言程序设计。3.1C语句概述教学内容:阐述C语言程序结构,C语言的语句分类。3.2赋值语句教学内容:阐述赋值语句的使用方式。3.3数据输入输出的概念及在C语言中的实现教学内容:阐述数据输入输出的实现方式。3.4字符数据的输入输出3.4.1putchar函数(字符输出函数)教学内容:阐述putchar函数的使用方法。3.4.1getchar函数(字符输入函数)教学内容:阐述getchar函数的使用方法。3.5格式输入与输出3.5.1printf函数(格式输出函数)教学内容:阐述printf函数的使用方法。3.5.1scanf函数(格式输入函数)教学内容:阐述scanf函数的使用方法。3.6顺序结构程序设计举例教学内容:举例说明顺序结构程序设计。(二)重点与难点重点:掌握数据格式化输入输出,掌握顺序结构程序设计。难点:掌握数据格式化输入输出。(三)小结本章主要介绍数据的格式化输入输出。•第4章选择结构程序设计(一)本章教学基本要求熟悉C语言选择结构,掌握关系运算符和逻辑运算符的使用方法及其优先次序的判定方法,掌握if语句和switch语句的使用,运用if语句和switch语句实现选择结构。4.1关系运算符和关系表达式4.1.1关系运算符及其优先次序教学内容:阐述关系运算符及其优先次序的判定。4.1.2关系表达式教学内容:阐述关系表达式。4.2逻辑运算符和逻辑表达式4.2.1逻辑运算符及其优先次序教学内容:阐述逻辑运算符及其优先次序的判定。4.2.2逻辑表达式教学内容:阐述逻辑表达式。4.3if语句4.3.1if语句的三种形式教学内容:阐述if语句的三种形式及使用方法。4.3.2if语句的嵌套教学内容:阐述if语句的嵌套的使用方法。4.3.3条件运算符教学内容:阐述条件运算符的使用方法。4.4Switch语句教学内容:阐述多分支选择语句switch语句的使用方法。4.5程序举例(1学时)教学内容:程序实例讲解本章重要语句的使用。(二)重点与难点重点:掌握关系运算符和逻辑运算符的使用方法及其优先次序的判定方法,掌握if语句和switch语句的使用。难点:掌握if语句和switch语句的使用。(三)小结本章主要介绍关系运算符和逻辑运算符的使用方法及其优先次序的判定方法,掌握if语句和switch语句的使用,并运用程序实例进行讲解。第5章循环结构程序设计(一)本章教学基本要求熟悉C语言循环结构,掌握goto语句、do-while语句、for语句、break语句等语句的使用,并运用这些语句实现选择结构。5.1概述教学内容:概述本章主要内容。5.2goto语句以及用goto语句构成循环教学内容:阐述无条件转向语句goto语句的一般形式及使用方法。5.3while语句教学内容:阐述while语句的使用方法及“当型”循环结构的实现。5.4do-while语句教学内容:阐述do-while语句的使用方法及与“当型”循环结构的区别。5.5for语句教学内容:阐述的一般形式及使用方法。5.6循环的嵌套教学内容:阐述循环结构的形式及三种循环的嵌套。5.7几种循环的比较教学内容:阐述几种循环的不同点及使用。5.8break语句和continue语句5.8.1break语句教学内容:阐述的一般形式及使用方法。5.8.2continue语句教学内容:阐述continue语句的一般形式及使用方法。5.9程序举例教学内容:程序实例讲解本章重要语句的使用及循环结构的实现。(二)重点与难点重点:掌握goto语句、do-while语句、for语句、break语句等语句的使用,并运用这些语句实现选择结构。难点:掌握各种语句的使用,运用本章学习的语句实现循环结构。(三)小结熟悉C语言循环结构,掌握goto语句、do-while语句、for语句、break语句等语句的使用,并运用这些语句实现选择结构,并运用程序实例进行分析讲解。第6章利用数组处理批量数据(一)本章教学基本要求了解如何在C语言中定义和使用数组。6.1一维数组的定义和引用6.1.1一维数组的定义教学内容:阐述如何定义一维数组。6.1.2一维数组的引用教学内容:阐述如何引用一维数组中的元素。6.1.3一维数组的初始化教学内容:阐述如何对一维数组元素初始化。6.1.4一维数组程序举例教学内容:举例如何使用一维数组。6.2二维数组的定义和引用6.2.1二维数组的定义教学内容:阐述如何定义一个二维数组。6.2.2二维数组的引用教学内容:阐述如何引用二维数组中的元素。6.2.3二维数组的初始化教学内容:阐述对二维数组元素初始化。6.2.4二维数组程序举例教学内容:举例如何使用二维数组。6.3字符数组6.3.1字符数组的定义教学内容:阐述如何定义一个字符数组。6.3.2字符数组的初始化教学内容:阐述对字符数组中的各元素初始化。6.3.3字符数组的引用教学内容:阐述如何引用字符数组中的元素。6.3.4字符串和字符串结束标志教学内容:阐述如何结束一个字符串。6.3.5字符数组的输入输出教学内容:阐述如何对一个字符串进行输入输出。6.3.6字符串处理函数教学内容:阐述如何C的函数库中函数来处理字符串的函数。6.3.7字符数组引用举例教学内容:举例介绍使用字符数组。(二)重点与难点重点:掌握数组的定义、引用和初始化。难点:掌握数组的定义和使用(三)小结本章主要介绍如何在C语言中定义和使用数组第7章用函数实现模块化程序设计(一)本章教学基本要求了解掌握C语言中函数的使用7.1概述教学内容:阐述C语言函数的基本概念7.2函数定义的一般形式教学内容:阐述有参函数的定义形式一无参憾事的定义形式以及对形参的声明的传统方式7.3函数参数和函数的值7.3.1形式参数和实际参数教学内容:阐述什么是形式参数和实际参数及对它们的一些说明7.3.2函数的返回值教学内容:阐述如何获得函数的返回值、返回值的类型以及如何不带回函数值7.4函数的调用7.4.1函数调用的一般形式教学内容:阐述如何调用一个函数(调用函数的一般形式)7.4.2函数调用的方式教学内容:阐述三种函数调用的方式(函数语句、函数表达式、函数参数)7.4.3对被调用函数的声明和函数原型教学内容:阐述调用函数需要具有的条件、函数原型的一般形式及对其的说明7.5函数的嵌套调用教学内容:阐述如何对函数嵌套调用7.6函数的递归调用教学内容:阐述如何对函数递归调用7.7数组作为函数参数教学内容:阐述如何用数组元素、数组名和多维数组名做函数参数7.8局部变量和全局变量7.8.1局部变量教学内容:阐述什么是局部变量及对简单说明7.8.2全局变量教学内容:阐述什么是全部变量及对简单说明7.9变量的存储类别7.9.1动态存储方式与静态存储方式教学内容:阐述变量的两种存储方式7.9.2auto变量教学内容:掌握用auto变量声明自动变量7.9.3用static声明局部变量教学内容:掌握用static声明静态局部变量7.9.4register变量教学内容:掌握用register声明寄存器变量.7.9.5用extern声明外部变量教学内容:掌握用extern在一个文件内或多文件的程序中来声明外部变量以扩展外部变量的作用域7.9.6用static声明外部变量教学内容:掌握用static声明外部变量使其只限于本文件引用7.9.7关于变量的声明和定义教学内容:掌握变量的声明和定义之间的区分7.9.8存储类别小结教学内容:对存储类别做小结7.10内部函数和外部函数7.10.1内部函数教学内容:掌握如何定义内部函数7.10.2外部函数教学内容:掌握如何定义外部函数(二)重点与难点重点:掌握C语言中函数的使用,如函数参数的定义、函数的递归调用、嵌套调用等,以及声明函数变量的四种变量难点:对函数的递归和嵌套调用(三)小结本章主要介绍C语言中函数的使用,要求学生熟悉这些内容。第8章善于使用指针(一)本章教学基本要求熟悉C语言的指针,掌握指针的灵活应用,有效地表示复杂的数据结构,从而使程序简洁、紧凑、高效。8.1地址和指针的概念教学内容:阐述指针的概念,区分指针和指针变量两个概念。8.2变量的指针和指向变量的指针变量8.2.1定义一个指针变量教学内容:介绍定义指针变量的一般形式。8.2.2指针变量的引用教学内容:通过举例介绍指针变量的引用过程。8.2.3指针变量作为函数参数教学内容:阐述函数的参数类型,介绍所指变量的概念。8.3数组与指针8.3.1指向数组元素的指针教学内容:阐述指向数组元素的指针的定义方法。8.3.2通过指针引用数组元素教学内容:介绍指针变量的有关内容,及如何通过指针引用数组元素。8.3.3用数组名作函数参数教学内容:举例说明用数组名作函数参数的方法,并重点把用为量名作为函数参数和用数组名作为函数参数作一比较。8.3.4多维数组与指针教学内容:阐述多维数组元素的地址,介绍指向多维数组元素的指针变量,以及用指向数组的指针作函数参数。8.4字符串与指针8.4.1字符串的表示形式教学内容:掌握字符串的表示形式及两种表示方法。8.4.2字符串指针作函数参数教学内容:了解将一个字符串从一个函数传递到另一个函数的方法。8.4.3对使用字符指针变量和字符数组的讨论教学内容:通过举例介绍字符指针变量和字符数组的讨论。8.5指向函数