C语言程序设计教学大纲

更新时间:2023-07-20 13:22:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

【课程编号】060005

C语言程序设计

C Programming Language

【学分】5 【学时】72 【编写】刘琳岚 【审核】刘洪

(一)授课对象

四年制本科计算机科学与技术、软件工程、网络工程、教育技术及相关专业

(二)课程的性质和地位

《C语言程序设计》是计算机科学与技术、软件工程、网络工程专业及相关专业的一门学科基础必修课。C语言是一种通用程序设计语言,具有语言简洁、类型丰富、结构完整、表达力强、适用于模块化结构等特点。C语言既具有高级语言的优点,又具有低级语言的许多特点。

以C语言为平台,介绍程序设计的思想和方法。通过学习,学生不但掌握高级编程语言的知识、编程技术和基本算法,更重要的是掌握程序设计的思想和方法,具备基本的分析问题能力和高级语言程序设计能力,为今后利用计算机求解实际问题打下基础。

先行课程:计算机科学导论或计算机文化基础。

后续相关课程:数据结构、面向对象程序设计、Java语言程序设计。

(三)课程教学的目标

通过本课程的学习,学生应掌握了解C语言的用途、特点;掌握C语言各种数据类型的定义与使用方法;熟练掌握C语言的三种基本结构编制简单程序方法;掌握C语言函数的定义、调试及说明的方法;掌握C语言指针、结构与共同体变量的使用方法;掌握结构化程序设计的基本方法,并能运用所学的知识设计出风格良好的程序。

通过本课程的上机实验,学生应熟练掌握上机运行C语言程序的基本步骤;编写的程序代码应结构清晰、正确易读,能上机调试并排除错误。

(四)教学内容 ⒈ C语言概述

⑴ C语言出现的历史背景 ⑵ C语言的特点 ⑶ 简单的C程序介绍 ⑷ C程序的上机步骤 重点:C语言源程序的结构 难点:C语言程序设计的风格

⒉ 程序的灵魂——算法

⑴ 算法的概念 ⑵ 简单算法举例 ⑶ 算法的特性 ⑷ 算法的表示 ⑸ 结构化程序设计方法 重点:算法的概念、传统流程图、N-S流程图、常用算法思想、结构化程序设计方法 难点:N-S流程图、常用算法思想

⒊ 数据类型、运算符与表达式

⑴ 数据类型 ⑵ 常量与变量 ⑶ 整型数据 ⑷ 实型数据 ⑸ 字符型数据 ⑹ 变量赋初值 ⑺ 各类数值型数据间的混合运算 ⑻ 算术运算符和算术表达式 ⑼ 赋值运算符和赋值表达式 ⑽ 逗号运算符和逗号表达式

重点:常用数据类型、常用运算符、一些简单问题如何转化成C语言表达式

难点:各类数值型数据间的混合运算、一些简单问题如何转化成C语言表达式

⒋ 最简单的C程序设计

⑴ C语句概述 ⑵ 程序的三种基本结构 ⑶ 赋值语句 ⑷ 数据输出 ⑸ 数据输入 ⑹ 程序举例

重点:C语句的概念及种类、赋值语句、数据的输入输出及输入输出中常用的控制格式 难点:数据的输入输出及输入输出中常用的控制格式

⒌ 逻辑运算和判断选取控制

⑴ 关系运算符和关系表达式 ⑵ 逻辑运算符和逻辑表达式 ⑶ if 语句 ⑷ switch 语句 ⑸ 程序举例

重点:关系运算符、逻辑运算符、if 语句 难点:switch 语句

⒍ 循环控制

⑴ 概述 ⑵ while 语句 ⑶ for 语句 ⑷ do-while 语句 ⑸ 循环的嵌套 ⑹ 几种循环的比较 ⑺ break语句和continue语句 ⑻ 程序举例

重点:三种循环(while循环、for 循环和do-while循环)、break和continue语句 难点:for 循环

⒎ 数组

⑴ 一维数组的定义和引用 ⑵ 二维数组的定义和引用 ⑶ 字符数组

重点:一维数组、二维数组的定义与引用、字符数组的定义与引用、常用字符串处理函数及字符处理函数、数组的应用

难点:二维数组的应用

⒏ 函数

⑴ 函数定义的一般形式 ⑵ 函数参数和函数的值 ⑶ 函数的调用 ⑷ 函数的嵌套调用 ⑸ 函数的递归调用 ⑹ 数组作为函数参数 ⑺ 局部变量和全局变量

⑻ 动态存储变量和静态存储变量 ⑼ 内部函数和外部函数 ⑽ 如何运行一个多文件的程序 重点:函数定义、函数调用、函数声明,函数的嵌套调用与递归调用,数组作为函数的参数,变量的存储类别与作用域

难点:函数的递归调用、变量的存储类别与作用域

⒐ 编译预处理

⑴ 宏定义 ⑵ “文件包含”处理 ⑶ 条件编译 重点:宏的定义及应用、文件包含的基本概念 难点:宏的应用

⒑ 指针

⑴ 指针的概念 ⑵ 变量的指针和指向变量的指针变量 ⑶ 数组的指针和指向数组的指针变量 ⑷ 字符串的指针和指向字符串的指针变量 ⑸ 函数的指针和指向函数的指针变量 ⑹ 返回指针值的函数 ⑺ 指针数组和指向指针的指针 ⑻ 有关指针的数据类型和指针运算的小结

重点:指针与地址的基本概念、指针与变量的关系、指针与数组、指针的应用

难点:函数的指针和指向函数的指针变量、指针数组和指向指针的指针、指针的应用

⒒ 结构体与共用体

⑴ 定义结构体类型变量的方法 ⑵ 结构体类型变量的引用 ⑶ 结构变量的初始化 ⑷ 结构体数组 ⑸ 指向结构体类型数据的指针 ⑹ 用指针处理链表 ⑺ 共用体 ⑻ 枚举类型 ⑼ 用typedef定义类型

重点:结构体的基本概念、结构数组、用指针处理链表、typedef的基本概念 难点:结构数组、用指针处理链表

⒓ 文件

⑴ 文件概述 ⑵ 文件类型指针 ⑶ 文件的打开与关闭 ⑷ 文件的读写 重点:文件的基本概念及应用、文件的打开、关闭、常用读写方法 难点:文件的应用

(五)教学实践环节安排

《C语言程序设计》是四年制本科计算机科学与技术、软件工程、网络工程专业及相关专业的一门实践性很强的学科基础课,必须十分重视实践环节。除了以下规定的上机实验以外,提倡学生自己课余抽时间多上机实践。通过上机实验,使学生加深对讲授内容的理解,了解和熟悉C语言程序开发的环境,学会上机调试程序,锻炼学生发现问题、分析问题和解决问题的应用能力,使学生初步具备程序设计和程序调试的能力,为后续课程的学习打下基础。 ⒈ 实验一:最简单的C程序设计,验证性(2学时)

实验目的:了解Turbo C2.0的使用,学会在该系统上如何编辑、编译、运行一个C程序;初步了解C语言的特点;掌握赋值语句的使用方法;掌握C语言数据类型的使用,初步掌握各种数据类型的输入输出方法和各种格式转换符的使用。

⒉ 实验二:逻辑结构程序设计,验证性(2学时)

实验目的:进一步了解Turbo C2.0的使用;了解C语言表示逻辑量的方法;熟练掌握if语句和switch语句;结合程序掌握简单的算法;学习调试程序。 ⒊ 实验三:单重循环结构程序设计,验证性(2学时)

实验目的:掌握用while语句、do-while语句和for语句实现单重循环的方法;掌握单重循环和逻辑结构的综合应用;掌握在程序设计中用循环的方法实现一些常用算法(如迭代法、递推法);进一步学习调试程序。

⒋ 实验四:多重循环结构程序设计,验证性(2学时)

实验目的:熟练掌握用while语句、do-while语句和for语句实现单重循环的方法;掌握双重循环和逻辑结构的综合应用;掌握在程序设计中用循环的方法实现一些常用算法(如穷举等);进一步学习调试程序。

⒌ 实验五:数组及其应用(一),验证性(2学时)

实验目的:掌握一维数组的定义、赋值和输入输出的方法;掌握字符数组和字符串函数的使用;掌握与数组有关的算法(特别是排序算法)。

⒍ 实验六:数组及其应用(二)――查找鞍点程序的设计,综合性、设计性(课内2学时,课外2学时,共4学时)

实验目的:掌握二维数组的定义、赋值和输入输出的方法;掌握与二维数组有关的算法(如矩阵

的转置、矩阵的相乘、鞍点问题等,其中鞍点问题为必做)。 ⒎ 实验七:函数(一),验证性(2学时)

实验目的:掌握定义函数的方法;掌握函数实参与形参的对应关系以及“值传递”的方式;掌握函数的嵌套调用的方法。

⒏ 实验八:函数(二),验证性(2学时)

实验目的:掌握函数的递归调用的方法;掌握全局变量、局部变量、动态变量和静态变量的概念和使用方法;学习对多文件程序的编译和运行。 ⒐ 实验九:指针,验证性(2学时)

实验目的:通过实验进一步掌握指针的概念,会定义和使用指针变量;能正确使用数组的指针和指向数组的指针变量;能正确使用字符串的指针和指向字符串的指针变量;了解二级指针的概念及其使用方法。

⒑ 实验十:结构体与链表――动态链表的设计,综合性、设计性(2学时)

实验目的:掌握结构体类型变量的定义和使用;掌握结构体类型数组的概念和使用;掌握链表的基本概念和应用。

学生根据上述安排进行课程实验,以书面方式完成实验报告,由实验指导教师批改,实验完成情况计入课程总成绩(占30%)。

(六)教学方式与习题要求

建议部分使用大屏幕投影教室进行授课,引入启发式、讨论式、案例式教学方法,在部分专业采用双语教学。在课程讲授过程中,应结合实例,注重讲解程序设计的基本结构和程序设计思想,以提高综合编程能力。

本课程习题在保证教学需求的前提下贯彻少而精的原则。由于本课程实践性较强,应以上机实验作业为主,并要求递交实验报告,要求批改作业和实验报告,每次批改量不少于三分之一。第二章重点掌握算法的传统流程图表示法和N-S流程图表示法,第三章、第四章、第五章、第六章分别突出程序设计的基础知识、顺序结构程序设计、选择结构程序设计和循环结构程序设计,第七章重点突出一维数组和循环结构的综合应用、二维数组和多重循环的综合应用,第八章突出变量的作用域,第十章、第十一章以指针的典型应用——链表为主。

(七)考核办法

采用闭卷形式考核,卷面总分100分,占总成绩的60%,平时成绩(课堂表现作业、作业成绩占10%,、实验表现、实验成绩和实验报告成绩占30%)占总总成绩的40%。

(八)推荐教材或讲义及主要参考书

⒈ 谭浩强编著:《C程序设计(第三版)》,清华大学出版社,2005年,第3版。

⒉ 谭浩强编著:《C程序设计题解与上机指导(第三版)》,清华大学出版社,2005年,第3版。 ⒊ 谭浩强主编:《程序设计(二级)样题汇编》,清华大学出版社,2002年,第2版。

⒋ 教育部考试中心编:《全国计算机等级考试上机考试习题集(三级)》,清华大学出版社,2002年,第2版。

⒌ (美)Al Kelley, Ira Pohl:《C语言教程(英文版)》,机械工业出版社,2004年,第4版。 ⒍ (美)Brian W.Kernighan,Dennis Ritchie:The C Programming Language 2nd Ed, Prentice Hall/Pearson,USA,英文影印版,清华大学出版社,2000年,第2版。

(九)学时分配序号 1 2 3 4 5 6 7 8 9

10 11 12 C 语言概述 程序的灵魂——算法 数据类型、运算符与表达式 最简单的 C 程序设计 逻辑运算和判断选取控制 循环控制 数组 函数 编译预处理 指针 结构体与共用体 文件 合 计 教学内容 学时 分配 2 4 2 4 4 10 12 12 2 8 10 2 72 其 讲授 2 4 2 2 2 6 8 8 2 6 8 2 52 20 2 2 2 2 4 4 4 实验 中 上机 其他实践

本文来源:https://www.bwwdw.com/article/4j31.html

Top