江汉大学《C语言程序设计》课程教学大纲.docx
- 文档编号:3309807
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:11
- 大小:20.06KB
江汉大学《C语言程序设计》课程教学大纲.docx
《江汉大学《C语言程序设计》课程教学大纲.docx》由会员分享,可在线阅读,更多相关《江汉大学《C语言程序设计》课程教学大纲.docx(11页珍藏版)》请在冰豆网上搜索。
江汉大学《C语言程序设计》课程教学大纲
教学大纲
《C语言程序设计》课程教学大纲
课程名称
C语言程序设计
课程编码
课程英文名称
C Language Programming
课程性质
基础课
总学时学分
64\4
理论\实验
40\24
周学时数
4
先修课程
《大学计算机基础》
开课院系
数计学院计算中心
适用专业
所有理工科类专业本科学生
编写人
朱晓燕
审批人
一、课程简介
高级语言程序设计是高等院校非计算机专业学生的一门计算机技术基础课程,是计算机三个层次目标教育中第二层次的课程,旨在培养学生具有设计程序、编写程序和调试程序的知识和能力。
C语言是一种通用的高级程序设计语言,同时又具有其它高级语言所不具备的低级语言功能,不但可用于编写应用程序,还可用于编写系统程序,因而得到广泛应用。
本课程的学习难度高于其它高级语言程序设计课程,一般适于对程序设计具有较高要求的专业学生学习。
本课程的内容主要由两条主线组成,一是数据类型,为了对实际问题进行准确描述和在机内进行表示,于是有了整型、单精度实型、双精度实型、字符型数据,也有了数组、结构体、位、指针以及文件等等,可据需要选用它们来存储实际问题中的数据,作为程序中被处理的对象。
二是程序设计方法,它包括顺序、选择、循环三种基本结构,加上模块化设计思想----C的函数式布局。
这两条主线有机结合,引导着课程的展开,引导着学习与应用的深入。
二、教学目的
本课程是所有理工科类专业本科学生必修课程,属于通识教育课程。
本课程的教学目的在于使学生通过学习C程序设计的基本语言知识(数据类型、控制结构、语法规则等)和基本编程技术(程序分析、算法与编程、常用程序模块等),对面向过程的高级语言程序设计技术有比较完整的理解,并形成程序设计的初步能力,能自己分析问题,按模块化程序设计的要求,编写结构完整、具有一定难度的控制和出错处理功能、由多个功能模块组合形成的小型程序。
并通过实施阶段报告(Project)和实例研究(CaseStudies)制度及课程设计,使学生得到程序设计方面的基本训练,为今后进一步学习其他程序设计技术和进行实用软件开发打下坚实的基础。
三、教学要求
本课程各教学环节的安排、要求如下:
课程讲授环节:
全程采用多媒体教学方法;
实验环节:
请参照本课程实验教学大纲;
作业方面:
以江大数计学院计算中心实践指导教材——《C语言程序设计实训教程》(王琳艳主编)为主,结合教材部分课后练习,通过大量的上机实践,培养学生设计程序、编写程序和调试程序的知识和能力;
考核:
教考分离,采用统一上机考试。
四、课程重点与难点
1.本课程重点:
1) C程序的调试方法
2) 数据结构、运算符、表达式
3) 顺序、选择、循环结构程序设计
4) 数组的运用
5) 模块化程序设计(函数)
6) 编译预处理
7) 指针
8) 结构体和共用体
9) 文件的读写
2.本课程难点:
1) 程序控制结构
2) 多重循环及常用算法
3) 数组的应用
4) 模块化程序设计(函数)
5) 变量的作用域
6) 指针的运用
7) 结构体类型
8) 文件的读写
五、选用教材及参考书目
1.选用教材
杨路明主编《C语言程序设计教程》(第3版),北京邮电大学出版社,2007
王琳艳主编《C语言程序设计实训教程》,华中科技大学出版社,2008
2.参考书目
谭浩强主编《C程序设计教程》,清华大学出版社,2005
谭浩强主编《二级教程—C语言程序设计》,高等教育出版社,2006
六、教学内容
教学时间分配表
章 节
内 容
学 时
备 注
第一章
C语言程序设计概述
2
第二章
C语言数据类型、运算符与表达式
4
第三章
顺序结构程序设计
4
第四章
选择结构程序设计
4
第五章
循环结构程序设计
4
第六章
函数与编译预处理
6
第七章
数组
6
第八章
指针
6
第九章
结构体数据类型与链表
2
第十章
共用体与枚举类型
1
第十一章
文件
1
总学时
教学40学时 辅导 学时 机动 学时
共40学时
第一章 C语言程序设计概述
1.1 高级语言与机器语言的关系
源程序与目标程序,编译的概念
1.2 算法(简介)
算法的概念;程序=数据结构+算法;三种基本结构的程序流程图
1.3 C语言的一般程序结构
函数结构,语句书写格式,注释语句,给出典型例子
1.4 C程序的开发环境(重点)
熟练掌握VisualC++6.0的基本操作;文件打开、编辑、修改、保存、调试、编译
第二章 数据类型、运算符与表达式(重点)
2.1 C语言的数据类型
C程序处理实际问题中的数据,数据的实际含义及其在内存中的实现,分出了各种数据类型。
由本节内容初步认识C的各种数据类型。
2.2 常量与变量
2.2.1常量和符号常量
2.2.2变量
变量的概念,变量的内在实质,标识符的概念,标识符的构成规则
C对变量定义的强制性------“先定义,后使用”
2.3 整型数据
2.3.1整型常量
整型常量的表示方法,整型常量的类型
2.3.2整型变量
整型变量在内存中的存放形式,整型变量的分类,整型变量的定义
2.4 实型数据
2.4.1实型常量
实型常量的表示方法,实型常量的类型
3.4.2实型变量
实型变量在内存中的存放形式,实型变量的分类,实型变量的定义
2.5 字符型数据
2.5.1字符常量
字符常量的表示方法,转义字符:
\n,\r,\\等等
2.5.2字符变量
字符变量的定义,字符变量的作用
2.5.3字符数据的存储与使用
注意字符数据与整型数据的相通性
2.5.4字符串常量
定界符,结束标志,’a’与”a”的区别,TurboC2.0没有字符串变量
2.6 变量赋初值
概念;方法;多个同类变量赋同一初值
2.7 运算符和表达式
2.7.1算术运算符和算术表达式
C运算符简介;基本的算术运算符;算术表达式和运算符的优先级与结合性;
自增、自减运算符;
2.7.2 赋值运算符和赋值表达式
赋值运算符,运算结果及其数据类型;复合的赋值运算符;赋值表达式
2.7.3 逗号运算符和求字节运算符
形式,作用,运算结果
2.7.4 条件运算符
形式,作用,运算结果
2.8 各类数值型数据的混合运算
运算结果类型的确定;强制类型转换
第三章 顺序结构程序设计(重点)
3.1 C语言的基本语句
C语句分类;C语句书写格式
3.2 数据输入与输出(重点)
数据输入输出时关注的要点:
[设备,]格式,对象,次序
C程序中数据输入输出功能的承担者
3.2.1 字符数据的输入输出
putchar()和getchar()以及getch()函数
3.2.2 格式输出函数printf
一般格式;格式字符
3.2.3 格式输入函数scanf
一般格式;格式说明;使用scanf函数应注意的问题
3.3 顺序结构程序设计举例
补充课堂练习
第四章 选择结构程序设计(重点)
4.1 关系运算符和关系表达式
4.1.1关系运算符及其优先次序
注意写法
4.1.2关系表达式
注意运算结果,真值与假值的表示
4.2 逻辑运算符和逻辑表达式
4.2.1逻辑运算符及其优先次序
注意写法
4.2.2逻辑表达式
注意运算结果,真值与假值的表示;注意&&运算和||运算时的“短路”效应
4.3 if语句
4.3.1if语句的三种形式
条件表达式的运算结果的真、假的判定;每种形式的if语句的执行过程,例题
复合语句
4.3.2if语句的嵌套
一般形式;else与if配对的规则
4.4 switch语句
一般形式;break语句的使用;执行过程
4.5 选择结构程序举例
第五章 循环控制(重点)
5.1 while语句
一般形式,循环条件,循环体;执行过程;复合语句的循环体;
循环条件的变化,死循环的处置与防止
5.2 dowhile语句
一般形式;执行过程;“当型循环”循环与“直到型循环”循环的区别
5.3 for语句
一般形式;执行过程;
了解for语句中三个表达式的多种用法;认识for循环与while循环一般在用途上的侧重处
5.4 break语句和continue语句
break语句的作用;continue语句的作用
5.5 循环的嵌套
几种形式;执行过程;并认识循环的并列与嵌套在形式上与实质上的区别
5.6 循环结构程序举例
第六章 函数与编译预处理(重点)
6.1 模块化程序设计与函数
C程序的组成;模块化的设计思想;模块化的作用;
标准函数;用户自定义函数
6.2 函数定义与调用
6.2.1 标准库函数
常用标准库函数与相应的头文件
6.2.2 函数的定义
无参函数的定义形式;有参函数定义的一般形式;
6.2.3 函数的调用
函数的调用的一般形式;实参与形参在的个数、位置、类型上的一一对应;
函数调用的方式;函数语句;函数表达式;函数参数
返回函数值的方法;返回值的个数;函数值的类型;空类型的概念
对被调用函数的声明和函数原型
6.2.4 参数的传递(重点)
实参对形参的单向值传递
6.3 函数的嵌套和递归调用
了解函数嵌套调用的执行过程;递归调用(略)
6.4 变量作用域与存储方式
6.4.1 局部变量和全局变量
局部变量的概念,作用范围
全局变量的概念,作用范围;全局变量的作用
6.4.2 变量的存储类别(简介)
动态存储方式与静态存储方式
auto变量
用static声明静态局部变量
6.5 编译预处理
不带参数的宏定义
文件包含处理
6.6 函数设计举例
第七章 数组(重点)
作用;数组、下标、维、数组元素的概念
7.1 一维数组
7.1.1一维数组的定义
定义方式;数组元素个数的确定,下标的起点与止点
7.1.2一维数组元素的引用
数值类数组逐个元素进行输入、处理、输出的“个体性”
7.1.3一维数组的存储结构与初始化
数组的顺序存储结构
对数组元素初始化的几种方法
7.2 二维数组的定义和引用(简介)
7.3 字符数组与字符串(重点)
一个元素存放一个字符
7.3.1字符数组的定义与初始化
定义方式;数组元素个数的确定,下标的起点与止点
注意,初始化时花括弧中字符的个数不要多于数组的长度
处理时必须逐个元素进行;
输入、输出时,可逐个元素进行(也可写成整体形式)
7.3.2字符串和字符串结束标志
字符串常量的定界符;字符数组所起的字符串变量的作用;
'\0’的作用;chars[]={”abc”};与chars[]={’a’,’b’,’c’};的区别
7.3.3字符数组的输入输出
个体法:
逐元素以%c格式符输入输出,scanf输入时加地址符&
整体法:
全数组用%s格式符输入输出,scanf输入时不加地址符&
数组名的功能:
代表数组的首地址
7.3.4字符串处理函数
了解常用字符串处理函数:
puts(),gets() (stdio.h)
strcat(),strcpy(),strcmp(),strlen()(string.h)
7.4 数组作为函数的参数
数组元素作函数实参;
数组名作函数参数,实参、形参都用数组名----地址传递
第八章 指针(重点)
主要作用:
存放变量的地址,使之多一种灵活处理的手段;函数调用时传递和接收地址,以获得多个处理结果;可用以指代数组及数组元素,可指代字符串常量;可用以构成链表数据结构;能方便地代表所打开的文件
8.1 指针和指针变量
地址和指针的概念;指针变量的概念
定义指针变量的一般形式
用取地址运算与赋值语句使指针变量指向某一变量
指针变量只能存放地址;&取地址运算符;*指针运算符
8.2 指针与函数
指针作为函数参数:
此时函数的调用、函数的定义,地址传送的实质,与值传送的区别
8.3 指针与数组
分清:
数组的指针、数组元素的指针;
指向一维数组的指针
认识数组起始地址的几种表示方法
指向数组元素的指针
若指针变量p已指向数组a的起始地址,认清:
p+i、a+i、&a[i]与*(p+i)、*(a+i)、a[i]的含义
8.4 指针与字符串
8.4.1字符串的表示形式
用字符数组存放一个字符串;用字符指针指向一个字符串;
8.4.2字符串指针作函数参数(重点)
用字符数组作实际与形式参数;形参用字符指针变量
8.5 命令行参数
8.6 程序举例
第九章 结构体数据类型和链表
结构体的概念、定义
结构变量的初始化、引用
了解通过指向结构体类型数据的指针引用结构变量成员
第十章 共用体与枚举类型(简介)
了解共用体和枚举类型的概念
了解位运算概念;
并补充:
课程所有重点内容的答疑及习题、上机实验问题的答疑
第十一章 文件
文件的概念;FILE指针;
fopen()和fclose()函数;
了解其他文件函数:
fputc(),fgetc(),fread(),fwrite(),fprintf()和fscanf()
七、执行大纲使用说明
本课程是一门实践性很强的课程,教学中应参照此大纲,紧密配合实验进度安排讲授,授课地点应该安排在支持多媒体教学的场合。
本课程的考核实行教考分离,统一上机考试;总评成绩中,平时作业和实验报告占30%,期末考试占70%。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计 大学 语言程序设计 课程 教学大纲