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