《C语言程序设计》教学大纲课程名称:中文名称:C语言程序设计;英文名称:TheCProgrammingLanguage课程编码:151001学”分:5学分总学时:80学时,其中,理论学时:52学时:实验学时:28学时适应专业:通信工程、电子信息工程、自动化、电气工程及其自动化、测控技术与仪器专业先修课程:计算机基础执笔人:伍鹏审订人杜红、课程的性质、自的与任务《C语言程序设计》属于学科基础课。C语言是当今最为广泛的几种语言之一,又是C++的基础,本课程重点介绍C语言的结构化程序设计方法和标准C的编程与应用,内容包括:C语言的基本概念和基本语法规则、数据的基本类型和自定义类型、函数、文件和指针等知识,为后继课程的学习打下坚实的基础。本课程是一门实践性很强的课程,既强调对理论的掌握,又强调实验编程、调试、运行等实践环节,特别注重实际编程能力的培养。最终使学生能运用结构化程序设计方法编写程序,培养自己优良的编程风格,在程序设计方面基本达到综合应用"的层次。二、教学内容、基本要求与学时分配第一章C语言概述主要内容:1、C语言出现的历史背景2、C语言的特点3、简单的C语言程序介绍4、运行C程序的步骤与方法基本要求:了解C语言的发展历史和特点;理解C程序的构成及C函数的组成:掌握C程序的实验步骤。学时分配:2学时第二章程序的灵魂一算法主要内容:1、算法的概念2、简单算法举例3、算法的特性4、怎样表示一个算法5、结构化程序设计方法基本要求:了解算法的不同表示方法;理解算法的概念和特性;理解算法的N-S流程图表示法;掌握算法的传统流程图表示法和结构化程序设计方法。学时分配:2学时第三章数据类型、运算符与表达式主要内容:1、C语言的数据类型2、常量与变量3、整型数据4、浮点型数据1
1 《C 语言程序设计》教学大纲 课程名称:中文名称:C 语言程序设计;英文名称:The C Programming Language 课程编码:151001 学 分:5 学分 总 学 时:80 学时,其中,理论学时:52 学时;实验学时:28 学时 适应专业:通信工程、电子信息工程、自动化、电气工程及其自动化、测控技术与仪器专业 先修课程:计算机基础 执 笔 人:伍 鹏 审 订 人:杜 红 一、课程的性质、目的与任务 《C 语言程序设计》属于学科基础课。 C 语言是当今最为广泛的几种语言之一,又是 C++的基础,本课程重点介绍 C 语言的 结构化程序设计方法和标准 C 的编程与应用,内容包括:C 语言的基本概念和基本语法规 则、数据的基本类型和自定义类型、函数、文件和指针等知识,为后继课程的学习打下坚实 的基础。 本课程是一门实践性很强的课程,既强调对理论的掌握,又强调实验编程、调试、运 行等实践环节,特别注重实际编程能力的培养。最终使学生能运用结构化程序设计方法编写 程序,培养自己优良的编程风格,在程序设计方面基本达到“综合应用”的层次。 二、教学内容、基本要求与学时分配 第一章 C 语言概述 主要内容: 1、C 语言出现的历史背景 2、C 语言的特点 3、简单的 C 语言程序介绍 4、运行 C 程序的步骤与方法 基本要求: 了解 C 语言的发展历史和特点; 理解 C 程序的构成及 C 函数的组成; 掌握 C 程序的实验步骤。 学时分配:2 学时 第二章 程序的灵魂——算法 主要内容: 1、算法的概念 2、简单算法举例 3、算法的特性 4、怎样表示一个算法 5、结构化程序设计方法 基本要求: 了解算法的不同表示方法; 理解算法的概念和特性; 理解算法的 N-S 流程图表示法; 掌握算法的传统流程图表示法和结构化程序设计方法。 学时分配:2 学时 第三章 数据类型、运算符与表达式 主要内容: 1、C 语言的数据类型 2、常量与变量 3、整型数据 4、浮点型数据
5、字符型数据6、变量赋初值7、各类数值型数据间的混合运算8、算术运算符和算术表达式9、赋值运算符和赋值表达式10、逗号运算符和逗号表达式基本要求:理解C语言的各种数据类型、运算符;理解表达式运算中运算符的优先级和结合性:掌握各种基本数据类型的常量、变量的表示方法;掌握常用运算符(算术运算符、赋值运算符)的用法。学时分配:4学时第四章最简单的C程序设计主要内容:1、C语句概述2、赋值语句3、数据输入输出的概念及在C语言中的实现4、字符数据的输入输出5、格式输入与输出基本要求:了解各种类型的C语句:理解程序执行的顺序性:掌握数据输入/输出的函数的使用方法。学时分配:4学时第五章选择结构程序设计主要内容:1、关系运算符和关系表达式2、逻辑运算符和逻辑表达式3、if语句4、switch语句基本要求:理解关系运算和逻辑运算及用法;掌握if语句三种形式和switch语句的用法理解if语句和switch语句的嵌套;掌握分支结构程序设计的基本方法。学时分配:4学时第六章循环控制主要内容:1、概述2、goto语句以及用goto语句构成循环3、用while语句实现循环4、用do...while语句实现循环5、用for语句实现循环6、循环的嵌套7、几种循环的比较8、break语句和continue语句基本要求:了解goto语句以及用goto语句构成的循环;理解循环的要素和控制方法;掌握WHILE语句、DO...WHILE语句的用法:熟练掌握FOR语句的用法;2
2 5、字符型数据 6、变量赋初值 7、各类数值型数据间的混合运算 8、算术运算符和算术表达式 9、赋值运算符和赋值表达式 10、逗号运算符和逗号表达式 基本要求: 理解 C 语言的各种数据类型、运算符; 理解表达式运算中运算符的优先级和结合性; 掌握各种基本数据类型的常量、变量的表示方法; 掌握常用运算符(算术运算符、赋值运算符)的用法。 学时分配:4 学时 第四章 最简单的 C 程序设计 主要内容: 1、C 语句概述 2、赋值语句 3、数据输入输出的概念及在 C 语言中的实现 4、字符数据的输入输出 5、格式输入与输出 基本要求: 了解各种类型的 C 语句; 理解程序执行的顺序性; 掌握数据输入/输出的函数的使用方法。 学时分配:4 学时 第五章 选择结构程序设计 主要内容: 1、关系运算符和关系表达式 2、逻辑运算符和逻辑表达式 3、if 语句 4、switch 语句 基本要求: 理解关系运算和逻辑运算及用法; 掌握 if 语句三种形式和 switch 语句的用法; 理解 if 语句和 switch 语句的嵌套; 掌握分支结构程序设计的基本方法。 学时分配:4 学时 第六章 循环控制 主要内容: 1、概述 2、goto 语句以及用 goto 语句构成循环 3、用 while 语句实现循环 4、用 do.while 语句实现循环 5、用 for 语句实现循环 6、循环的嵌套 7、几种循环的比较 8、break 语句和 continue 语句 基本要求: 了解 goto 语句以及用 goto 语句构成的循环; 理解循环的要素和控制方法; 掌握 WHILE 语句、DO.WHILE 语句的用法; 熟练掌握 FOR 语句的用法;
掌握循环的嵌套;理解break语句和continue语句的用法。学时分配:4学时第七章数组主要内容:1、一维数组的定义和引用2、二维数组的定义和引用3、字符数组基本要求:掌握一维数组和二维数组的定义和引用;掌握字符数组的概念、定义与使用方法;掌握常用字符串处理函数的功能与用法:掌握应用一维和二维数组进行程序设计的一般方法与典型算法。学时分配:6学时第八章函数主要内容:1、概述2、函数定义的一般形式3、函数参数和函数的值4、函数的调用5、函数的嵌套调用6、函数的递归调用7、数组作为函数参数8、局部变量和全局变量9、变量的存储类别基本要求:理解函数的功能;掌握函数定义和调用;理解函数调用中的值传递:掌握变量的作用域和存储类别。学时分配:8学时第九章预处理命令主要内容:1、宏定义2、“文件包含”处理3、条件编译基本要求:了解“文件包含”处理和条件编译的几种形式;理解预处理的概念;掌握宏定义的方法。学时分配:2学时第十章指针主要内容:1、地址和指针的概念2、变量的指针和指向变量的指针变量3、数组与指针4、字符串与指针5、指向函数的指针6、返回指针值的函数7、指针数组和指向指针的指针8、有关指针的数据类型和指针运算的小结3
3 掌握循环的嵌套; 理解 break 语句和 continue 语句的用法。 学时分配:4 学时 第七章 数组 主要内容: 1、一维数组的定义和引用 2、二维数组的定义和引用 3、字符数组 基本要求: 掌握一维数组和二维数组的定义和引用; 掌握字符数组的概念、定义与使用方法; 掌握常用字符串处理函数的功能与用法; 掌握应用一维和二维数组进行程序设计的一般方法与典型算法。 学时分配:6 学时 第八章 函数 主要内容: 1、概述 2、函数定义的一般形式 3、函数参数和函数的值 4、函数的调用 5、函数的嵌套调用 6、函数的递归调用 7、数组作为函数参数 8、局部变量和全局变量 9、变量的存储类别 基本要求: 理解函数的功能; 掌握函数定义和调用; 理解函数调用中的值传递; 掌握变量的作用域和存储类别。 学时分配:8 学时 第九章 预处理命令 主要内容: 1、宏定义 2、“文件包含”处理 3、条件编译 基本要求: 了解“文件包含”处理和条件编译的几种形式; 理解预处理的概念; 掌握宏定义的方法。 学时分配:2 学时 第十章 指针 主要内容: 1、地址和指针的概念 2、变量的指针和指向变量的指针变量 3、数组与指针 4、字符串与指针 5、指向函数的指针 6、返回指针值的函数 7、指针数组和指向指针的指针 8、有关指针的数据类型和指针运算的小结
基本要求:了解指向函数的指针;了解返回指针值的函数;了解指针数组和指向指针的指针的概念以及带参数的mainO函数;理解指针的概念;掌握指针变量的定义和应用:掌握指针与字符串的关系:掌握指针变量作为函数参数的用法。学时分配:8学时第十一章结构体与共用体主要内容:1、概述2、定义结构体类型变量的方法3、结构体变量的引用4、结构体变量的初始化5、结构体数组6、指向结构体类型数据的指针7、共用体8、枚举类型9、用typedef定义类型基本要求:了解结构体数组的定义和数组元素的引用;理解结构体和共用体的含义;掌握结构体与共用体类型变量的定义、初始化及引用。学时分配:4学时第十二章位运算主要内容:1、位运算符和位运算2、位运算举例基本要求:了解各种位运算符,运算规则、优先级和实际应用。学时分配:2学时第十三章文件主要内容:1、C文件概述2、文件类型指针3、文件的打开与关闭4、文件的读写5、文件的定位6、出错的检测7、文件输入输出小结基本要求:了解文件的概念;了解文件类型指针的定义和含义;了解文件定位的操作及相关的标准函数;了解出错检测函数的作用:掌握文件操作的相关标准函数。学时分配:2学时4
4 基本要求: 了解指向函数的指针; 了解返回指针值的函数; 了解指针数组和指向指针的指针的概念以及带参数的 main()函数; 理解指针的概念; 掌握指针变量的定义和应用; 掌握指针与字符串的关系; 掌握指针变量作为函数参数的用法。 学时分配:8 学时 第十一章 结构体与共用体 主要内容: 1、概述 2、定义结构体类型变量的方法 3、结构体变量的引用 4、结构体变量的初始化 5、结构体数组 6、指向结构体类型数据的指针 7、共用体 8、枚举类型 9、用 typedef 定义类型 基本要求: 了解结构体数组的定义和数组元素的引用; 理解结构体和共用体的含义; 掌握结构体与共用体类型变量的定义、初始化及引用。 学时分配:4 学时 第十二章 位运算 主要内容: 1、位运算符和位运算 2、位运算举例 基本要求: 了解各种位运算符,运算规则、优先级和实际应用。 学时分配:2 学时 第十三章 文件 主要内容: 1、C 文件概述 2、文件类型指针 3、文件的打开与关闭 4、文件的读写 5、文件的定位 6、出错的检测 7、文件输入输出小结 基本要求: 了解文件的概念; 了解文件类型指针的定义和含义; 了解文件定位的操作及相关的标准函数; 了解出错检测函数的作用; 掌握文件操作的相关标准函数。 学时分配:2 学时
三、实验内容与学时分配本课程分配实验28学时,共做14个实验,其中必做12个,选做2个(四选二)。实验一C程序的运行环境(2学时)实验二数据类型、运算符和表达式(2学时)实验三(2学时)顺序结构程序设计实验四逻辑结构程序设计(2学时)实验五循环控制(2学时)实验六数组(2学时)实验七函数一(2学时)实验八函数二(2学时)(2学时)实验九指针一指针二(2学时)实验十实验十一结构体、共用体和位运算(2学时)实验十二文件(2学时)实验十三综合实验1(用函数实现)(选做)(2学时)(2学时)实验十四综合实验2(用函数、结构体、文件实现)(选做)实验十五综合实验3(用函数、结构体、文件实现)(选做)(2学时)(2学时)实验十六综合实验4(用函数、结构体、文件、链表实现)(选做)四、大纲说明本大纲适用于电信学院各专业。教学总学时为80学时,其中课堂讲授52学时,实验28学时。建议:教师采用多媒体授课,在授课时,要指定教学辅助材料,布置相应的习题;教师在实际讲授时可辅助计算机课程组开发的网络教学课堂进行教学。本门课程要十分重视实践动手训练,实验分为必做实验和选做实验,其中,前12个实验为必做实验,后4个实验为选做实验。学生可在后4个选做实验中任选2个。其实验考核的成绩以20%计入课程总成绩,其实验要求详见《C语言程序设计》实验教学大纲。五、教学参考书教材:谭浩强,C程序设计(第三版)。北京:清华大学出版社,2005。教学参考书:1、谭浩强,C程序设计题解与实验指导(第三版)。北京:清华大学出版社,2005。2、Brian W.Kernighan&DennisM.Rirchie,The CProgramming Language(影印版,英文)。北京:清华大学出版社,大学计算机教育丛书,1996。3、BrianW.Kernighan&BobPike,程序设计实践(ThePracticeofProgramming)。北京:机械工业出版社出版,2000。5
5 三、实验内容与学时分配 本课程分配实验 28 学时,共做 14 个实验,其中必做 12 个,选做 2 个(四选二)。 实验一 C 程序的运行环境 (2学时) 实验二 数据类型、运算符和表达式 (2学时) 实验三 顺序结构程序设计 (2学时) 实验四 逻辑结构程序设计 (2学时) 实验五 循环控制 (2学时) 实验六 数组 (2学时) 实验七 函数一 (2学时) 实验八 函数二 (2学时) 实验九 指针一 (2学时) 实验十 指针二 (2学时) 实验十一 结构体、共用体和位运算 (2学时) 实验十二 文件 (2学时) 实验十三 综合实验 1(用函数实现)(选做) (2学时) 实验十四 综合实验 2(用函数、结构体、文件实现)(选做) (2学时) 实验十五 综合实验 3(用函数、结构体、文件实现)(选做) (2学时) 实验十六 综合实验 4(用函数、结构体、文件、链表实现)(选做) (2 学时) 四、大纲说明 本大纲适用于电信学院各专业。教学总学时为 80 学时,其中课堂讲授 52 学时,实验 28 学时。建议: 教师采用多媒体授课,在授课时,要指定教学辅助材料,布置相应的习题;教师在实际 讲授时可辅助计算机课程组开发的网络教学课堂进行教学。 本门课程要十分重视实践动手训练,实验分为必做实验和选做实验,其中,前 12 个实 验为必做实验,后 4 个实验为选做实验。学生可在后 4 个选做实验中任选 2 个。其实验考核 的成绩以 20%计入课程总成绩,其实验要求详见《C 语言程序设计》实验教学大纲。 五、教学参考书 教材: 谭浩强,C 程序设计(第三版)。北京:清华大学出版社,2005。 教学参考书: 1、谭浩强,C 程序设计题解与实验指导(第三版) 。北京:清华大学出版社,2005。 2、Brian W. Kernighan & Dennis M. Rirchie,The C Programming Language(影印版,英 文)。北京:清华大学出版社,大学计算机教育丛书,1996。 3、Brian W. Kernighan & Bob Pike,程序设计实践(The Practice of Programming)。北京: 机械工业出版社出版,2000