理论教学大纲
广西中医药大学信息管理与信息系统专业教学大纲
《C语言程序设计》课程教学大纲
课程基本信息
课程编号:BJ0901007
课程类别:专业基础课
课程性质:必修课
学时/学分:4学分,总学时68,理论32,实验32
一、课程简介
C语言是国内外广泛使用的一种计算机语言,它以其丰富灵活的控制和数据结构,简洁而高效的语句表达、清晰的程序结构、良好的移植性、较小的时空开销,已被广泛的应用于系统软件和应用软件的开发中。
本课程是计算机、自动化、通信、电子类专业的一门专业基础课。课程的主要任务是引导学生进入计算机程序设计的广阔空间、培养学生的逻辑思维能力、抽象能力和基本的计算机程序设计能力。
本课程以C语言为载体,使学生对计算机程序设计有一个初步的正确的认识,学会阅读用计算机程序设计语言编写的简单应用程序,掌握结构化程序设计的基本方法和用计算机解决实际问题的基本步骤,训练学生的逻辑思维能力,培养其严谨的思维方式和良好的程序设计风格,为进一步学习其它专业基础课程和专业课程打下良好的基础。
二、课程目标
1.建立知识目标
通过C语言程序设计的学习,使学生学会语言程序设计的概念,掌握各种数据类型的分类及特点、常量和变量的定义和使用,掌握常用函数及自定义函数的调用等。
2.建立能力目标
能熟练使用开发工具vc++6.0编写程序,且利用语言编程简单的数学问题常、生活当中的问题,通过函数调用理解结构化,模块化程序设计的理念
3.建立态度目标
培养良好的编程习惯,掌握程序设计的方法步骤,培养利用计算机编写程序解决现实问题的思维思路
三、教学目的要求与内容
第一章 程序设计和C语言
1. 教学内容:
1.1 什么是计算机程序
1.2 什么是计算机语言
1.3 C语言的发展及其特点
1.4 最简单的C语言程序
1.5 运行C程序的步骤与方法
1.6 程序设计的任务
2. 教学目的及要求:
1) 了解C语言的历史、特点
2) 掌握C语言的运行环境,初步了解运行一个C语言程序的过程
3. 教学重点及难点:
1) C语言的特点
2) C程序的上机步骤
第二章 算法--程序的灵魂
1. 教学内容:
2.1 什么是算法
2.2 简单的算法举例
2.3 算法的特性
2.4 怎样表示一个算法
2.5 结构化程序设计方法
2.教学目的及要求:
1) 掌握算法的概念和特点
2) 掌握用流程图、N-S流程图、伪代码表示算法
3) 理解结构化程序设计方法的概念
3.教学重点及难点:
用流程图、N-S流程图、伪代码表示算法
第三章 最简单的C程序设计——顺序程序设计
1. 教学内容:
3.1 顺序程序设计举例
3.2 数据的表现形式及其运算
3.3 C语句
3.4 数据的输入输出
2. 教学目的及要求:
1) 掌握基本数据类型的存储和表示方式,以及不同类型数据转换原则与方法
2) 掌握运算符和表达式的使用方法
3) 掌握语句的概念和使用方法
4)掌握数据输入输出函数的使用,并能够编写简单的顺序结构程序
3. 教学重点及难点:
1) 基本数据类型的存储和表示方式
2) 不同类型数据转换原则与方法
3)运算符和表达式的运用
4)语句的使用
5)输入输出函数的使用
第四章 选择结构程序设计
1. 教学内容:
4.1 选择结构和条件判断
4.2 用if语句实现选择结构
4.3关系运算符和关系表达式
4.4 逻辑运算符和逻辑表达式
4.5 条件运算符和条件表达式
4.6 选择结构的嵌套
4.7 用switch语句实现多分支选择结构
4.8选择结构程序综合举例
2. 教学目的及要求:
1) 掌握关系运算符和关系表达式、逻辑运算符和逻辑表达式、条件运算符和条件表达式的使用方法
2) 能够运用if语句、switch语句实现选择结构,掌握if语句的嵌套
3. 教学重点及难点:
1) 字三种运算符和表达式的使用
2)if语句及if语句的嵌套
第五章 循环结构程序设计
1. 教学内容:
5.1 为什么需要循环控制
5.2 用while语句实现循环
5.3 用do---while语句实现循环
5.4 用for 语句实现循环
5.5 循环的嵌套
5.6 几种循环的比较
5.7 改变循环执行的状态
5.8 循环程序举例
2. 教学目的及要求:
1) 熟练掌握三种循环语句的运用
2) 掌握循环的嵌套
3) 掌握break和continue语句的运用
3. 教学重点及难点:
1)三种循环语句的使用
2)循环的嵌套
第六章 利用数组处理批量数据
1.教学内容:
6.1 怎样定义和引用一维数组
6.2 怎样定义和引用二维数组
6.3 字符数组
2.教学目的及要求:
1) 掌握一维数组和二维数组的概念、初始化和引用
2) 掌握字符数组和字符串的应用
3) 学会使用字符串处理函数
3.教学重点及难点:
1) 数组的初始化、引用
2) 字符串的处理
第七章 用函数实现模块化程序设计
1.教学内容:
7.1为什么要用函数
7.2怎样定义函数
7.3调用函数
7.4对被调用函数的声明和函数原型
7.5函数的嵌套调用
7.6函数的递归调用
7.7数组作为函数参数
7.8局部变量和全局变量
7.9变量的存储方式和生存期
7.10 关于变量的声明和定义
7.11 内部函数和外部函数
2.教学目的及要求:
1) 掌握函数的定义和调用方法
2) 掌握函数的嵌套和递归调用
3) 了解变量的存储类别和作用域
3.教学重点及难点:
1) 函数的定义和调用
2) 函数的嵌套调用
第八章指针
1. 教学内容:
8.1 指针是什么
8.2 指针变量
8.3 通过指针引用数组
8.4 通过指针引用字符串
8.5 指向函数的指针
8.6 返回指针值的函数
8.7 指针数组和多重指针
8.8 动态内存分配与指向它的指针变量
8.9 有关指针的小结
2.教学目的及要求:
1) 掌握指针、指针变量的区别
2) 掌握数组、指针、指针数组的关系
3)了解指向函数的指针、返回指针值的函数、指针数组
3.教学重点及难点:
1) 指针的定义、引用
2) 指针变量
3) 指针与数组的关系
4) 指针与函数的关系
第九章 用户自己建立数据类型
1.教学内容:
9.1 定义和使用结构体变量
9.2 使用结构体数组
9.3 结构体指针
9.4 用指针处理链表
9.5 共用体类型
9.6 使用枚举类型
9.7 用typedef声明新类型名
2.教学目的及要求:
1)掌握结构体、共用体、枚举类型的定义和使用方法,类型和变量的区别
2)掌握有关链表的操作
3.教学重点及难点:
1)结构体定义和使用方法
2)链表的操作
四、教学重点与难点
本课程是计算机类工科各专业学习的一门高级语言程序设计课程,具有一般较强的计算机编程知识即可学习本课程。通过本课程的学习,学生应掌握 C 语言的基本语法,还应掌握面向过程的程序设计的基本思想,基本概念和基本方法,并能运用所学的知识和技能对一般问题进行分析和程序设计,编制出高效的 语言应用程序,为学习以后的课程如 java,c#等面向对象高级程序设计打好基础。
五、教学方法与手段
1.课堂讲授:
教学方法采用课堂讲授与课件配合使用,使用多媒体教学方式,使学生掌握基本概念和基本操作。
2.作业:
每章节可布置课后习题4~5道题。
六、教学内容目标与学时分配
章节 | 学时分配 | |||||||
讲课 | 习题课 | 实验课 | 上机课 | 讨论课 | 其他 | |||
1 | 2 | 2 | ||||||
2 | 2 | 2 | ||||||
3 | 4 | 4 | ||||||
4 | 4 | 4 | ||||||
5 | 2 | 2 | ||||||
6 | 4 | 4 | ||||||
7 | 6 | 6 | ||||||
8 | 6 | 6 | ||||||
9 | 6 | 6 | ||||||
10 | 2 | 2 | ||||||
合计 | 34 | 34 | ||||||
七、考核方式、成绩评定及评价方法
考试采用平时和期末笔试相结合的方式。其中平时占40%。标准是平时出勤情况、回答问题情况、平时实践完成作业情况;最后有一个实践的综合作业,一个较复杂的程序设计。期末笔试占60%,在笔试中:基础知识占30%,应用占70%。选择题、写出程序的运行结果、完善程序和编写程序。
八、教材与参考资料
1.教材:C程序设计(第四版) 谭浩强
2.参考资料:《CPrimerPlus》 中文版