第一篇:《C语言程序设计》教学大纲
《C语言程序设计》教学大纲
[课程名称: ] C语言程序设计
[教学时总数:] 36+36 周学时: 讲授:2 上机实践:2(共18周)[课程教材: ] 教科书:C语言程序设计(第二版)(谭浩强 著)(清华大学出版社)参考书:C程序设计教程(谭浩强、薛淑斌、崔武子编著)(清华大学出版社)、C语言习题集与上机指导 [课程的目的与要求] 本课程是为计算机程序设计基础课,其目的是使学生掌握高级语言的编程方法,能用C语言独立编制出解决与本学科相关的科学计算问题的程序。要求学生了解C语言的成分及程序结构,掌握模块化程序设计的编程的技巧,熟悉编程、调试、运行各个环节的方法。[教学内容与学时安排:] 一)C语言程序设计初步(1×2学时)1.程序设计语言介绍。2.用库函数组装C程序。3.设计一些简单的C函数。
二)数据描述与基本操作(2×2学时)1.数据类型与基本操作 2.常量与变量 3.运算符与表达式 4.不同类型数据间的转换 5.数据的输入和输出
三)C语言的流程设计(2×2学时)1.算法的描述与结构化程序设计 2.用C语句描述算法
3.选择型程序设计:if…else、switch 4.循环型程序设计:while、do…while、for 四)模块化程序设计(2×2学时)1. 函数
2. 变量的存储属性 3. 编译预处理 五)数组(3×2学时)1.一维数组
2.二维数组和多维数组 3.字符数组和字符串 六)指针(5学时)1.指针概述 2.指针与数组 3.指针与函数
七)结构体和共用体(5学时)1. 结构体类型概述
2. 结构体类型变量的定义和引用 3. 结构体数组
4. 结构体变量作为函数参数以及返回结构体类型值的函数 5. 共用体的概念和简单例子 6. 用TYPEDEF定义类型 八)位运算(1×2学时)1. 位运算概念
2. 位运算符的使用方法 九)文件(2×2学时)1. 文件的概念 2. 文件的打开与关闭 3. 文件的顺序读写
第二篇:C语言程序设计教学大纲(2014)
《C语言程序设计》
(一)教学大纲
课程名称:C语言程序设计
英文名称:The C Programming Language 课程编号: 000331,000332
课程性质:基础必修
任课教师:张萍、张莉、黄达明、陶烨、潘亦 教学课时:3-4学时/周 实验课时:4学时/周 课程学分:4学分/6学分 授课周数:18周
授课课时:68
实验课时:68 教学对象:匡亚明学院、化学化工学院、地理与海洋科学学院、环境学院、大气科学学院、天文与空间科学学院、地球科学与工程学院、工程管理学院、生命科学院
先修课程:大学计算机信息技术
一、课程目标
通过对本门课程的学习,学生能够掌握基本的算法和面向过程的程序设计一般方法;能熟练地用C语言编写调试各类数值计算程序和数据处理程序;帮助培养学生的计算思维能力,完善其对各自专业研究领域问题的抽象能力并进而应用计算装置来自动化解决问题的能力。
二、课程内容和学时分配
第1章 C程序设计概述(2学时)
1.1 程序设计语言、程序与程序设计 1.2 C语言概述
掌握程序设计语言、程序和程序设计的基本内涵,了解C语言的发展过程和特性,掌握C语言程序的结构与执行以及上机调试运行C语言程序的过程。第2章 数据的表示与存储(4学时)
2.1 C语言的数据类型 2.2 整型数据 2.3 浮点型数据 2.4 字符型数据 2.5 字符串数据 2.6 指针型数据 2.7 枚举型数据
2.8 符号常量与const限定 2.9 使用typedef命名数据类型
理解C语言中数据类型的含义和作用,掌握整型、浮点型和字符型常量和变量的使用及声明和初始化的方式,掌握字符串常量的表现形式,掌握地址的概念和指针变量声明及初始化的方式,掌握枚举数据类型的定义方式和枚举型变量的声明,掌握符号常量的使用方式,掌握用typedef命名数据类型的方式。第3章 基本运算与输入输出(6学时)
3.1 运算符与表达式概述 3.2 数据对象的存取 3.3 基本数值运算 3.4 其他常用运算 3.5 输入与输出
掌握运算符和表达式的含义和作用,间接引用运算与间接引用数据对象的方法,赋值运算和赋值表达式的使用方式,算术运算符和算术表达式的使用方式,常见的数值计算与数学库函数的使用以及数值计算中溢出、有效数字与计算误差,了解强制类型转换运算及其表达式,sizeof、逗号运算符及其表达式的使用方式,掌握字符数据的输入输出函数和格式化输入输出函数的使用方式。第4章
结构化程序设计(8学时)
4.1结构化算法及其表示 4.2 结构化程序开发
掌握算法的含义,基本算法结构及其表示,结构化程序设计方法,表示顺序、选择和循环算法结构的语句,break语句和continue语句,无条件转移语句的应用和使用方式。第5章 常用数值计算算法及其程序设计(6学时)
5.1 素数判断 5.2 最大公约数求解
5.3 穷举法求满足条件的一组解 5.4 级数近似计算 5.5 一元非线性方程求根 5.6 定积分近似计算
掌握判断判断算法、求最大公约数算法,能够熟练运用穷举法求满足条件的一组解,掌握级数近似计算的递推法,掌握用牛顿迭代法和二分法及弦截法求一元非线性方程的根,用梯形法和矩形法进行定积分近似计算。第6章 模块化程序设计与函数(12学时)
6.1 函数概述 6.2 函数定义 6.3 函数返回 6.4 函数调用 6.5 标识符的作用域 6.6 变量的存储属性
*6.7 参数个数可变函数的定义及调用【不作要求】 6.8 编译预处理及预处理命令
掌握函数定义的方法,掌握函数之间数据的传递途径,掌握函数的调用方法,掌握库函数的使用,理解函数的作用及掌握模块化程序设计方法,掌握程序调试的基本方法,掌握函数的间接调用,掌握返回指针的函数的应用,掌握函数调用时传递地址的方法,理解变量的作用域及生命期属性,理解递归函数的执行过程,掌握包含递归函数的程序的编写与调试方法。第7章 数组(12学时)7.1 数组概念 7.2 一维数组 7.3 二维数组
7.4 字符与字符串处理 *7.5指针数组及应用 *7.6动态数组【不作要求】
掌握一维数组的声明与初始化形式,掌握一维数组元素的直接与间接引用方法,掌握一维数组作函数实参的应用,掌握与一维数组相关的常用算法,掌握二维数组的声明与初始化形式,掌握二维数组元素的直接与间接引用方法,掌握二维数组作函数实参的应用,掌握与二维数组相关的常用算法,掌握使用一维字符数组表示字符串的方法,掌握字符与字符串处理函数的应用,掌握使用二维字符型数组表示字符串集合的方法,掌握字符串集合的处理方法,掌握指针数组的声明、初始化及数组元素的引用,掌握指向指针型数据的指针变量的声明、引用,掌握带参数的主函数的编写及程序的运行方法。第8章 结构、联合与指针(8学时)8.1结构数据类型 *8.2联合类型 8.3指针小结
掌握结构类型定义的方法,掌握结构类型变量与数组的声明和使用,掌握函数间结构类型数据的传递方式,掌握动态内存分配、释放函数的使用,掌握单向链表的基本操作。
第9章 文件操作(4学时)9.1 文件概念 9.2 C文件系统
9.3 利用高级I/O库函数存取文件
了解C语言的文件系统,掌握使用高级I/O库函数存取文件的方法。第10章 位运算(2学时)10.1 位运算符
10.2 位段【不作要求】
掌握位逻辑运算符和移位运算符的基本概念和方法
课程设计
将所学知识综合应用到C语言程序设计中,开发具有一定规模和实际应用价值的程序产品,最好能与专业应用相结合(1至3人为一个项目开发小组)。
三、课程考核
平时(实验)占10%
课程设计占20%
期中笔试占20%,期末笔试和上机占50%
四、教材
姜恒远,陶烨,张莉,张萍,黄达明.C语言程序设计教程.高等教育出版社,2010(8).姜恒远,张莉,陶烨,张萍,黄达明,金莹.C语言程序设计教程学习指导.高等教育出版社,2010(8).五、参考书目
1.Kernighan B W,Ritchie D M.The C Programming Language.PRENTICE-HALL.INC,1983.2.Digital Research.C Language programmer's Guide for the IBM Personal Computer Disk Operating System.3.C Primer Plus(第四版)中文版,技桥工作室译,人民邮电出版社,2002(7).4.谭浩强.C程序设计,清华大学出版社,1991(7).5.Deitel H M,Deitel P J.C程序设计教程,薛万鹏等译,机械工业出版社,2000(7).6.Kernighan B W,Ritchie D M.C程序设计语言(第2版),徐宝文、李志译,机械工业出版社,2003(6).7.Kelley A,Pohl I.C语言教程(第4版),徐波译,机械工业出版社,2007(1).
第三篇:《C语言程序设计》教学大纲
《C语言程序设计》教学大纲
第一部分 大纲说明
一、课程的目的与任务
本课程将以结构化程序设计思想指导学习者运用C语言进行程序设计,充分利用C语言的结构性好,书写格式自由简洁,数据类型丰富,表达式类型多样化,程序执行效率高,可移植性好等特点,使学习者养成严谨的程序设计风格和习惯,在程序设计基本技能方面得到良好的训练,为后继课程的学习及今后的实际应用打下良好的基础。
二、课程的基本要求
1.教学基本要求和学习方法建议
(1)弄清概念、注重实践
学习时一定要模仿例题亲自编制一些实用程序,加强对概念的正确认识。同时要注意上机实践,把不清楚的问题通过上机一一解决。从而不断增加学习兴趣,提高编程能力。
(2)由浅入深、循序渐进
先学习简单的、容易掌握的部分,以后再逐步掌握C语言的精华——指针及各种灵活的表达式。
(3)着重语言的使用
由于C语言本身比较复杂,应把学习重点放在语言的使用上,即如何正确使用C语言编写程序,而不把重点放在算法的设计上。
(4)尽量不涉及太多的硬件知识
C语言既能编写应用软件,也能编写系统软件,而编写系统软件势必需要一定的硬件知识。在学习本课程时应尽可能地不涉及太多的硬件知识,以便于理解和掌握。
(5)忽略非主要细节
不死抠非主要细节,集中精力放在最基本、最常用部分的学习上,待建立一定的基础以后再深入到一些非主要细节的讨论。
2.教学的重点、难点
重点为熟练掌握C语言的数据类型(基本类型、构造类型、指针类型等)和各类运算符,能正确使用表达式实现各种数据的加工。熟练掌握程序设计的三种基本结构(顺序、选择、循环)的特点,能使用相关语句完成这三种基本程序的设计任务。掌握C语言的常用的库函数的使用,以及用户函数的定义、调用、参数传递等方法。培养学生的程序设计能力,初步认识软件开发的基本思想。难点为掌握阅读和分析程序的方法和技巧,掌握设计和调试程序的方法和技巧。
3.教学计划中前后课程的联系
C语言比较复杂、较难掌握,学习者应该先学习计算机基础知识。
C语言是数据结构、软件工程、程序设计方法、编译原理等课程的基础与工具。
4.考试考核方式
实践和期末笔试考核,比例为 4:6。5.学时
17周,周3学时
6.教材编选的原则
根据学生实际情况和社会发展的需要,选择了《C语言程序设计与实训》。该教材编写的原则是:结构清晰,内容安排合理,难度循序渐进,描述准确清楚,各章节配备一定实训题目和一定数量的习题和思考题,重点培养学生用C语言解决实际问题的能力,适合高职高专学生学习的特点。
7.参考书目
1.谭浩强 《C程序设计》 清华大学出版社 2002
2.薛钢等 《C语言实用教程》 吉林科学技术出版社 1997 3.徐金吾等 《Turbo C使用大全》 北京科海培训中心 1990
4.王士元 《C高级实用程序设计》清华大学出版社 1995
5.国家教育考试中心 《全国计算机等级考试考试大纲》 高等教育出版社 1995 6.牛连强等 《C语言程序设计笔试习题点津》 大连理工大学出版社 1999 7.王洪 《Turbo C 2.0使用指南》陕西电子编辑部(内部参考)1989 8.谭浩强 《C程序设计上机指导书》 清华大学出版社 1999
9.马靖善、秦玉平等 《C语言程序设计》 清华大学出版社 2005
第二部分 讲授大纲
第1章 C 语言概述
学习目的和要求:
了解C语言出现的历史背景,了解C语言的特点,熟悉C环境,熟练掌握C程序的上机步骤,了解C程序的组成。教学重点:
C 程序的上机步骤。教学难点:
C程序的组成。
课时分配:
本章讲授2学时,上机实践 1学时。
讲授内容纲要:
1.C语言发展及特点。
2.Turbo C上机操作环境。
3.简单的C程序介绍。
4.C程序的上机执行过程。思考题:
1.C程序组成。2.C程序执行过程。
第2章 C语言基础
学习目的和要求:
熟练掌握几种基本数据类型的存储方式,表示方法;熟练掌握指针的定义和使用;掌握不同类型间数据转换的原则与方法;熟练掌握有关运算符与表达式的运用。
教学重点:
整型、实型、字符型、指针型数据的定义和使用。运算符和表达式的运用。
教学难点:
指针型数据的定义和使用、不同类型间数据转换的原则与方法。课时分配:
本章讲授2学时,上机实践 1学时 讲授内容纲要:
1.常量和变量。
2.各种运算符和表达式。
3.指针类型。思考题:
1.数据类型有哪些。2.各种运算符的使用。
第3章 顺序结构
学习目的和要求:
清楚顺序结构设计的思路,掌握基本的输入、输出函数的使用。教学重点:
结构化程序设计思想、各种输入、输出函数 教学难点:
scanf()函数和printf()函数的格式控制字符串。课时分配:
本章讲授 2学时,上机实践 1学时
讲授内容纲要:
1.三种基本结构。
2.赋值语句。
3.输入、输出函数。思考题:
1.三种基本结构的特点。2.输入、输出函数的应用。
第4章 选择结构
学习目的和要求:
了解if、switch-case和goto三种语句的一般形式及其应用,掌握选择结构的特点。教学重点:
if、switch-case语句的应用。教学难点:
if语句嵌套。课时分配:
本章讲授2学时,上机实践 1 学时
讲授内容纲要:
1.if语句的应用。
2.switch-case语句的应用。
3.goto语句的应用。
1.if语句使用的注意事项。
2.switch-case语句中break的作用。
第5章 循环结构
学习目的和要求:
了解三种循环语句的区别,掌握穷举法和迭代法的思想及其应用,提高解决问题的能力。教学重点:
三种循环语句的特点及应用。思考题: 教学难点:
穷举法和迭代法的思想及其应用。课时分配:
本章讲授 4学时,上机实践 2学时
讲授内容纲要: 1.while、do-while和for三种循环语句的一般形式及其应用。2.break语句和continue语句的一般形式及其应用。
3.穷举法和迭代法的思想及其应用。思考题:
1.while、do-while和for三种循环语句的区别。2.break语句和continue语句的应用的特点。
第6章 数组
学习目的和要求:
掌握数组的定义、引用技巧和初始化方法;掌握字符串的输入、输出方法;会用字符串处理函数解决字符串问题。教学重点:
数组的应用、字符串数组的应用。教学难点:
字符串数组的应用。课时分配:
本章讲授4学时,上机实践 2学时
讲授内容纲要:
1.数组的定义、引用和初始化方法。
2.字符串的输入、输出及处理函数。
3.数组的应用。思考题:
1.字符串与字符数组的区别。2.数组的初始化的特点。
第7章 函数
学习目的和要求:
掌握函数的定义和调用;掌握函数调用时的参数传递方式;理解变量的存储属性和作用范围;掌握内部函数和外部函数的定义和使用。
教学重点:
函数的参数传递,函数的调用,数组名和指针作为函数参数。变量的存储属性。
教学难点:
函数的嵌套调用与递归调用;变量的存储类别。
课时分配:
本章讲授4学时,上机实践2学时
讲授内容纲要:
1.函数的定义与调用。
2.参数传递。
3.函数的嵌套和递归调用。4.宏定义与文件包含。5.主函数与命令行参数。6.运行一个多文件的程序。
思考题:
1.主函数的参数传递。
2.各种方式函数参数传递方式及有关规定与使用技巧。
3.函数中变量定义位置及其作用域之间关系。4.如何运行一个多文件的程序。
第8章 结构体、共用体和枚举类型
学习目的和要求:
熟练掌握结构体类型的概念、定义以及结构体变量的定义和引用。熟练掌握结构体数组和结构体指针变量的定义和使用。掌握链表的概念和应用。掌握共用体类型的概念、定义以及共用体变量的定义和变量成员的引用。掌握枚举类型的概念、定义以及枚举变量的定义和引用。
教学重点:
结构体变量、结构体数组与结构体指针的定义和引用。教学难点:
结构体数组与结构体指针。
课时分配:
本章讲授4学时,上机实践2学时
讲授内容纲要:
1.结构体类型的概念、定义以及结构体变量的定义和引用。
2.结构体数组和结构体指针变量的定义和使用。
3.链表的概念和应用。
4.共用体类型的概念、定义以及共用体变量的定义和变量成员的引用。5.枚举类型的概念、定义以及枚举变量的定义和引用。思考题:
1.结构体、共用体两种类型的区别。
2.链式存储适合的操作对象。
3.函数参数传递中用结构体和结构体指针之间的优劣比较。
第9章 位运算
学习目的和要求:
掌握六种位运算的运算符、运算规则和功能,并能利用这六种位运算符来解决一些实际问题。
教学重点:
位运算的应用。教学难点:
位段的定义与引用。
课时分配:
本章讲授2学时,上机实践1学时
讲授内容纲要: 1.六种位运算的运算符、运算规则和功能。
2.位段的定义与引用。
思考题:
1.如何测试数字的位数是0还是1?
2.如何实现循环移位?
第10章 文件系统
学习目的和要求:
掌握文件和文件指针的概念,掌握文件的打开、关闭和读写等基本操作。
教学重点:
文件的打开、关闭、读写。
教学难点:
文件的读写。
课时分配:
本章讲授 4 学时,上机实践 1 学时
讲授内容纲要:
1.文件系统相关基本概念及类型设置。
2.文件打开、关闭函数的使用。3.文件读写函数的使用。4.文件定位与随机读写。
5.文件的出错检测和处理。思考题:
1.文件打开和关闭的含义。
2.哪些文件操作函数会改变文件的内部指针位置。
第11章 综合实训
学习目的和要求:
了解程序开发的过程,掌握菜单的设计,更加熟练地应用函数,熟练地使用文件,提高学生的程序设计的能力。
教学重点:
程序开发的步骤、菜单的设计。
教学难点:
菜单的设计。
课时分配:
本章讲授 2学时,上机实践2学时
讲授内容纲要:
1.程序开发的步骤。
2.菜单的设计。
3.所有知识的综合应用:设计学生成绩管理系统。思考题:
1.程序开发的步骤。
2.如何实现游标控制菜单。
第四篇:《C语言程序设计》教学大纲
《C语言程序设计》教学大纲
课程名称:《程序设计语言(C)》 英文名称:The C Programming Language 课程编码: 学
分: 参考学时:64 实验学时:64
适用专业:计算机专业
一、课程目标及要求
《C语言程序设计》是计算机专业的必修课,是我院计算机专业重点课《程序设计语言》的重要组成之一。学习《C语言程序设计》,应使学生达到以下要求:
1、掌握 C 程序的基本结构和 C 语言基本的数据结构,熟悉 C 程序的编辑、编译、调试和运行过程;
2、了解程序设计的一般方法、结构化程序设计思想,熟悉算法描述工具 N-S 流程图的使用及常用算法;
3、能够熟练地阅读用 C 语言编写的程序;
4、能运用结构化程序设计方法编写 C 程序;
5、能调试、运行程序。
二、课程学习要求
本课程是理论与实践相结合的一门课程。要求学生在学习理论知识的同时,积极上机实践,以达到对理论知识的熟练简明应用。
三、教学预修课程:
计算机文化基础
四、教学重点、难点:
本课程的重点是C的基本数据类型及运算、分支结构和循环结构、数组、函数、指针以及结构体的使用。
难点是函数的调用,指针及结构体的使用。
五、教学方法:
理论讲授与实践相结合。
六、教学内容与学时分配建议
(一)总课时数
总课时数为:64*2=128学时,其中,理论为:32+32=64学时;实验:32+32=64学时。
(二)教学内容及课时分配
1.C 语言的结构(2 学时)
(1)程序的构成,main 函数和其他函数。
(2)头文件、数据说明、函数的开始和结束标志。
(3)源程序的书写格式。
(4)C 语言的风格。
(5)程序的编辑、编译、连接步骤及 TURBO C 环境。
实验一
c程序的运行环境和运行一个c程序的方法(2学时)
2. C 数据类型及各种表达式(4 学时)
(1)C 的数据类型(基本类型、构造类型、指针类型、空类型)及其定义方法。
(2)C 运算符的种类、运算优先级和结合性。
(3)不同类型数据间的转换与运算。
(4)C 表达式类型(赋值表达、算术表达式、关系表达式、逻辑表达式、条件表达式、逗号表达式)和求值规则。
实验二
数据类型、运算符和表达式(2学时)
3.算法与顺序程序设计(4 学时)(1)算法的概念、特性、算法的描述。
(2)常用算法。
(3)表达式语句、空语句、复合语句。
(4)数据的输入与输出,输入输出函数的调用。
实验三
顺序结构的程序设计(4学时)
4.选择结构程序设计(4 学时)(1)用 if 语句实现选择结构。
(2)用 switch 语句实现多分支选择结构。
(3)选择结构的嵌套。
实验四 选择结构的程序设计(6学时)
5.循环结构程序设计(6 学时)(1)for 循环结构。
(2)while 和 do while 循环结构。
(3)continue 语句和 break 语句。
(4)循环的嵌套。
实验五 循环结构的程序设计(6学时)
6.数组(6 学时)
(1)一维数组的定义、初始化和引用。
(2)二维数组的定义、初始化和引用。(3)字符串与字符数组。
实验六
数组(6学时)
7.函数(6 学时)
(1)库函数的正确调用。
(2)函数的定义方法。
(3)函数的类型和返回值。
(4)形式参数与实在参数,参数值的传递。
(5)函数的嵌套调用和递归调用。
(6)局部变量和全局变量。
(7)变量的存储类别(自动、静态、寄存器、外部),变量的作用域和生存期。
(8)内部函数与外部函数。
实验七
函数(6学时)
8.编译预处理(建议穿插在各章中讲)(4学时)(1)宏定义:不带参数的宏定义;带参数的宏定义。
(2)“ 文件包含”处理
实验八
编译预处理(4学时)
9.指针(10 学时)
(1)指针与指针变量的概念,指针与地址运算符。
(2)变量、数组、字符串的指针及指向变量、数组、字符串的指针变量。通过指针引用以上各类型数据。
(3)用指针作函数参数。
(4)返回指针的函数。
(5)指针数组,指向指针的指针,main 函数的命令行参数。
实验九
指针(10学时)
10.结构体与共用体(10 学时)
(1)结构体的定义、初始化、引用
(2)结构体数组及结构体数组成员的访问(3)结构体类型的指针(4)结构体型与函数(5)结构体处理链表(6)共用体(7)枚举类型
(8)用Typedef定义类型
实验十
结构体与共用体(10学时)
11.位运算(4 学时)
(1)位运算符的含义及使用。
(2)简单的位运算。
实验十一位运算(4学时)
12.文件操作(4 学时)只要求缓冲文件系统(即高级磁盘I/O系统),对非标准缓冲文件系统(即低级磁盘I/O系统)不要求。
(1)文件类型指针(FILE 类型指针)。
(2)文件的打开与关闭函数(fopen,fclose)。
(3)文件的读写函数(fputc,fgetc,fputs,fread,fwrite,fprintf,fscanf 函数),文件的定位(rewind,fseek 函数)。
实验十二文件(4学时)
七、教学参考书目:
1.常玉龙等 《Turbo C 2.0实用大全》 北京航空航天大学出版社 1994 2.谭浩强 《C语言程序设计》第二版 清华大学出版社 1999 3.王丽娟 徐军 戴宝华 荣政 《C程序设计》 西安电子科技大学出版社 2000 4.田淑清等 《C语言程序设计辅导与习题集》 中国铁道出版社 2000 5.谭浩强 薛淑斌 崔武子 《C程序设计(二级)教程》 清华大学出版社 2001 6.崔培伟 《C/C++语言程序设计》 石油大学出版社 2001 7.谭浩强 《C语言程序设计》 清华大学出版社 2002 8.陈朔鹰 陈英 《C语言程序设计习题集(第二版)》人民邮电出版社 2003 9.朱连章等 高级实用程序设计(Visual C++)石油大学出版社 2003 10.方** 宋世发 汤钦林 李太芳 《C语言程序设计》 地质出版社 2006
制 定: 计算机基础及技能教研室 执 笔 人: 冯建平审 定 人: 旭 日 制定时间: 2007年3月
第五篇:《C语言程序设计》课程教学大纲
《C语言程序设计》课程教学大纲
一、课程教学目的
本课程系统学习C语言的基本知识和基本语法,较好地训练学生解决问题的逻辑思维能力以及编程思路和技巧,使学生具有较强的利用 C 语言编写软件的能力,为培养学生有较强软件开发能力打下良好基础。
二、课程教学要求
通过本课程的学习,应熟练掌握 C 语言中的基本知识、各种语句及程序控制结构,熟练掌握 C 语言的函数、数组、指针、结构体、链表等数据结构的基本算法;并能熟练地运用 C 语言进行结构化程序设计;具有较强的程序修改调试能力;具备较强的逻辑思维能力和独立思考能力。
三、课时分配
本学科计划学时为246学时,其中理论与实训课时比例为7:3。
四、课程教学重、难点
课程教学重点:掌握C语言变量类型及不同类型常量的表示;标准的输入输出函数的使用;运算符及常用数学函数的使用;控制流程、数组和指针的使用;结构体、链表的构造使用;函数结构、函数参数传递及递归等方面的知识;基本的文件操作。难点:指针的使用、结构体链表的构造和使用及函数的参数传递。
五、课程教学方法(或手段)
本课程实践性较强,故采用讲授和上机操作相结合的方式进行教学。
六、课程教学内容 第一章 C语言概述 1.教学内容
(1)编程历史的回顾、程序设计介绍(过程式,面向对象,函数式,逻辑式);(2)C语言的历史背景、特点;(3)C语言源程序的格式和程序结构;(4)C程序的上机步骤。2.重、难点提示
(1)重点:掌握简单的 C程序格式,包括main()函数、数据说明、函数开始和结束标志等;
(2)难点:编程入门以及对语言的理解。第二章 算法 1.教学内容
(1)算法的概念及特性;评价算法优劣的方法(时间和空间);(2)简单算法举例;
(3)算法的表示(自然语言、流程图、N-S流程图);(4)结构化程序设计的基本思想及基本步骤。2.重、难点提示
(1)重点: 算法流程图三种基本结构(以后各章学习中利用流程图强化对程序的理解);
(2)难点: 算法概念以及对结构化程序设计思想的理解。第三章 数据类型、运算符与表达式 1.教学内容
(1)基本数据类型及其常量的表示法(字符和字符串常量),各种数制(八、十、十六进制)的整型数和长整型数,实型数(float和double);
(2)变量的类型说明、初始化及引用;(3)运算符与表达式: 2.重、难点提示
(1)重点: 掌握 C的几种基本数据类型,不同类型数据间的混合运算规则;不同运算符的使用特点,清楚每种运算符的优先级与结合性;各种表达式的含义与使用要点。
(1)难点:不同类型数据间的混合运算;运算符的优先级与结合性。第四章 最简单的 C 程序设计 — 顺序程序设计 1.教学内容
(1)C程序结构和语句的构成;
(2)顺序结构程序的设计:赋值语句的使用要点;(3)数据的输入与输出: 2.重、难点提示
(1)重点: 顺序结构程序的表达式语句形式; 输入/输出函数的表示与调用方法; 利用流程图加深对顺序结构程序的理解。
(2)难点: 格式输入与输出表示中各种格式字符的表示含义。
第五章 选择结构程序设计 1.教学内容
(1)关系运算符和关系表达式;(2)逻辑运算符和逻辑表达式;
(3)if语句(if;if„else„;if„else if„else„);(4)switch和break语句。2.重、难点提示
(1)重点:关系、逻辑运算符及其表达式的语法形式;掌握if语句;switch语句; 利用流程图加深对选择结构程序的理解。
(1)难点: 关系与逻辑运算符表达式的结果判定; if语句嵌套的层次判定;程序中使用break语句运行结果的判定。第六章 循环控制 1.教学内容
(1)用goto语句构成循环、for语句、while语句和do„while语句;(2)循环嵌套;
(3)break,continue语句。2.重、难点提示
(1)重点:掌握while语句与do while语句的结构,for语句的结构,其使用方法;常见的循环嵌套形式;正确区分for语句、do„while语句与while语句;break语句和continue的应用及其区别;
(2)难点:分析总结常用的程序设计方法及算法特点,并能编写相应的程序。第七章 数组 1.教学内容
⑴ 数组的含义与存储特点; ⑵ 数组的定义与使用; ⑶ 字符数组。2.重、难点提示
(1)重点:掌握一维数组、二维数组;字符数组与字符串的概念与定义方法,常用的字符串处理函数。
(2)难点:数组下标的起始数问题;利用数组形式进行程序设计的一般方法与典型算法。
第八章 函数 1.教学内容 ⑴ 函数的定义;
⑵ 函数的调用(一般调用、嵌套调用、递归调用),return语句; ⑶ 参数的传递方式:形式参数与实在参数; ⑷ 局部变量与全局变量; ⑸ 变量的动态存储与静态存储; ⑹ 内部函数与外部函数。2.重、难点提示
(1)重点: 掌握函数定义的一般形式;函数的调用的几种形式;函数嵌套调用的一般过程;数组名作为函数的参数的一些特点;局部变量与全局变量的概念及它们的使用特点。
(2)难点:不同的函数参数传递方法在程序中应用的结果判定;利用函数调用方法实现程序设计中涉及的参数定义、参数传递以及返回值问题;函数调用的理解。第九章 预处理命令 1.教学内容
⑴ 预处理的概念与特点; ⑵ 符号常数和宏的定义; ⑶ “文件包含”处理。2.重、难点提示
(1)重点:宏定义的方法;“文件包含”与预处理的应用。(2)难点:宏定义的方法。第十章 指针 1.教学内容
⑴ 指针与地址的概念;
⑵ 指针变量的定义,初始化;指针变量的引用(取地址运算符&及指针运算符*);指针变量作为函数参数的应用;
⑶ 指针与数组(数组的指针和指向数组的指针变量); ⑷ 字符串的指针和指向字符串的指针变量;
⑸ 函数的指针和指向函数的指针变量、返回指针值的指针函数; ⑹ 指针数组和指向指针的指针;
⑺ 对main()函数命令行参数的基本了解。2.重、难点提示
(1)重点:指针变量定义、初始化和引用;数组的指针和指向数组的指针变量;字符串的指针和指向字符串的指针变量;指针数组与指向指针的指针。
(2)难点:指针概念深刻理解;区别指向数组的指针和指针数组;指向指针的指针; 有关指针的数据类型定义和指针的相关运算。第十一章 结构体与共用体 1.教学内容
⑴ 定义结构体类型变量的方法;
⑵ 结构体变量的引用与结构体变量的初始化; ⑶ 结构体数组与指向结构体数据的指针; ⑷ 指向结构体类型数据的指针及用指针处理链表; ⑸ 共用体; ⑹ 枚举类型;
⑺ 用typedef定义类型。2.重、难点提示
(1)重点:掌握结构体类型变量的定义方法;结构体类型变量的引用方法;结构体类型变量如何在定义的同时初始化; 通过图示正确理解链表的概念和形态,共同体的含义、共同体类型变量的定义方法。
(2)难点:结构体与共用体概念的掌握;各种结构体结构的定义。第十二章 位运算 1.教学内容
⑴ 运算符和位运算; ⑵ 位运算举例; ⑶ 位段。2.重、难点提示
(1)重点:掌握各种位运算符,运算规则和优先级。(2)难点:各种位运算符的运算规则和优先级。第十三章 文件 1.教学内容
⑴ 文件类型指针; ⑵ 文件的打开与关闭; ⑶ 文件的读写; ⑷ 文件的定位。2.重、难点提示
(1)重点:掌握文件操作的相关标准函数;(2)难点:文件的读写和定位操作。
七、实验教学内容
实验项目(一):C 语言中控制语句的使用(1)项目类别:必做(2)项目性质:综合性(3)项目主要目的要求:
掌握各类控制语句的书写格式,能在具体问题解决时给出合适的程序控制结构;用分支结构实现程序的条件控制;用循环结构实现程序中重复执行操作的控制。(4)主要仪器:计算机(5)实验考核方法:随堂考查 实验项目(二):C 语言中数组的使用(1)项目类别:必做(2)项目性质:综合性(3)项目主要目的要求:
掌握数组这种构造类型的特点,如何用数组数据对象并对数据对象进行处理;熟练掌握一维数组的定义、引用、初始化,用一维数组来对字符进行处理;掌握二维数组的定义、引用、初始化,用二维数组实现矩阵的有关方法算法。(4)主要仪器:计算机(5)实验考核方法:随堂考查 实验项目(三):C 语言中函数的使用(1)项目类别:必做(2)项目性质:综合性(3)项目主要目的要求:
C语言中用函数来实现子功能模块,掌握系统函数的调用方法及用户自定义函数的定
义、调用方法;用自定义函数来实现一个具体问题;用自定义函数的嵌套调用来实现一个复杂问题。
(4)主要仪器:计算机(5)实验考核方法:随堂考查 实验项目(四):C 语言中指针的使用(1)项目类别:必做(2)项目性质:综合性(3)项目主要目的要求:
掌握指针变量的运用,通过指针引用数组元素的方法,函数指针变量作函数的参数;在程序中进行指针变量的运算操作,指针变量作函数的参数;数组元素的指针。(4)主要仪器:计算机(5)实验考核方法:随堂考查
实验项目(五):C 语言中结构体与链表的使用(1)项目类别:必做(2)项目性质:综合性(3)项目主要目的要求:
掌握结构体类型变量的定义和使用;结构体类型数组的概念和应用;链表的创建与使用;检共用体的概念与使用。(4)主要仪器:计算机(5)实验考核方法:随堂考查
实验项目(六):C 语言中文件的使用(1)项目类别:必做(2)项目性质:综合性(3)项目主要目的要求:
掌握文件以及缓冲文件系统、文件指针的概念;学会使用文件打开、关闭、读、写等文件操作函数;学会用缓冲文件系统对文件进行简单的操作。(4)主要仪器:计算机(5)实验考核方法:随堂考查
八、课程考核方式 1.考核方式:
闭卷考试 2.成绩构成:
平时+期末
九、选用教材和参考书目
[1]《C程序设计》(第三版),谭浩强编,清华大学出版社,2007。
[2]《数据结构—用C语言描述》(第二版),唐策善编,高等教育出版社,2004。[3]《程序设计基础与C语言》(第一版),梁力.郭晓玲.高浩编,西安电子科技大学出版社,2001。
[4]《C语言程序设计》(第二版)刘德恒编,电子工业出版社,2001。