精品课程之《C语言》

 

 

《C语言程序设计》教学大纲

学 分: 6学分 学 时: 102
课程编码: 040004 适用学制: 三年制高职
适用专业: 计算机应用技术、计算机网络技术

一、课程的性质与任务
(一)课程的性质
本课程是一门计算机应用技术、计算机网络技术专业必修课,也是所开设的第一门语言类课程。本大纲依据《计算机应用技术专业教学计划》、《计算机网络技术专业教学计划》的课程结构而编制。
(二)课程的任务
《C语言程序设计》课程是一门重要的专业必修课,也是我系针对于计算机专业学生所开设的第一门语言类课程。所以我们从基础入手,除了掌握C语言本身的内容外,更要加强学生对程序设计能力的培养,要让学生养成良好的编程,旨在对程序设计的入门。并为后继课程作一个很好的铺垫。通过本课程的学习可以掌握C语言的基本语法,培养用C语言编程的基本能力。
(三)前导课程及后续课程
本教学大纲是为高中起点的三年制高职学生而制定的,前导课程为《计算机引论》,该课程提供了计算机软硬件、计算机操作等最基本的知识,后续课程为《数据结构》、《操作系统》等相关的计算机专业课程。
二、课程的教学目标
1.本门课程是计算机专业的第一门语言类课程,在讲授时应该注意引导,除了掌握C语言本身的知识外,必须注意培养学生程序设计的基本素质。在平时上课的过程中,要不断加强学生对程序设计的兴趣,加强学生对程序设计概念、结构的理解,培养学生在认识问题、分析问题、归纳问题进而用计算机解决问题方面的能力。
2.以能力为本位,注重学生实践技能的提高。在学习C语言知识的同时,能同时培养学生的上机能力,掌握程序调试的方法,为学生学习其他的程序设计语言奠定基础。
3.培养学生的自学能力与学习的自觉性,提高学生的创新意识和综合职业能力的提高。
三、教学内容、基本要求、学时分配

(单元)及名称

主要内容

教学要求

学时

C程序概述

理论教学

1.C的历史背景、特点

2.C程序的组成以及上机环境的熟悉

3.掌握结构化程序设计的三种基本结构以及算法的基本知识

了解高级程序设计语言及C语言的历史背景、特点;了解简单的C程序的组成及特点;熟练掌握C程序的上机步骤以及运行环境的使用;掌握结构化程序设计的基本结构

2

实践项目

C语言上机环境介绍

了解TC环境的特点;掌握C中程序的概念以及程序的基本结构;掌握编辑、编译、连接和运行C程序的方法和步骤。

2

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

理论教学

1.常量和变量

2.整型、实型、字符型数据的特点

3.各种数值型数据间的混合运算

4.算术、赋值、逗号等运算符和表达式

理解C语言中数据类型的分类;掌握每种数据类型的定义、大小、表示、内部存储等内容;理解变量与常量的概念以及变量赋值等基本操作;掌握各种表达式的运算规则和特点。

6

实践项目

数据类型、运算符和表达式

掌握C语言数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对它们赋值的方法; 掌握不同类型数据之间赋值的规律; 学会使用C语言的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用; 进一步熟悉C程序的编辑、编译、连接和运行的过程。

4

顺序程序设计

理论教学

1.C语句概述

2.赋值语句

3.字符及格式化输入输出(printf和scanf)

4.顺序结构程序设计举例

 

了解C语言中语句的特点以及分类;掌握字符数据的输入输出;熟练掌握并灵活运用格式输入输出;运用所学知识能独立编写简单程序并能够上机运行; 简明应用结构化程序设计思想,设计方法。

4

实践项目

最简单的C 程序设计

掌握C语言中使用最多的一种语句——赋值语句的使用方法; 掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。

2

选择结构程序设计

理论教学

1.关系运算符和关系表达式

2.逻辑运算符和逻辑表达式

3.ifswitch语句

4.选择结构程序举例

5.学生总结归纳问题和上机能力的锻炼和培养

熟练掌握关系运算符和关系表达式的概念;熟练掌握逻辑运算符和逻辑表达式的概念;能熟练的对混合表达式求值

熟练掌握if语句的几种使用方法并且能够灵活运用;熟练理解并且掌握switch语句的使用方法;能熟练的运用选择结构求解一些常用问题。

6

实践项目

逻辑结构程序设计

了解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真” ); 学会正确使用逻辑运算符和逻辑表达式; 熟练掌握if语句和switch语句结合程序掌握一些简单的算法; 学习调试程序。

2

循环控制

理论教学

1.循环的分类

2.while以及do_while循环

3.for循环

4.双重循环的应用

5.breakcontinue语句

6.程序举例

了解构成循环的几种方法;熟练掌握while以及do_while循环的使用方法;非常熟练的运用for循环解决实际问题;熟练的运用双重循环并且能够理解多重循环的概念;熟练运用break和continue语句;能够应用循环解决实际问题。

8

实践项目

循环控制

掌握用while语句,do-while语句和for语句实现循环的方法;掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等);掌握利用双重循环解决图形问题。

4

数组

理论教学

1.一维、二维数组的定义与应用

2.字符数组

3.程序举例

掌握一维、二维数组的定义与应用;掌握字符数组定义和使用;熟练应用并且理解各种字符串处理函数;通过数组上机解决一系列典型问题;进一步提高上机实践的能力。

10

实践项目

数组

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

4

函数

理论教学

1.函数概述、定义、参数、调用

2.函数的嵌套调用以及函数的递归

3.数组作为函数的参数

4.局部和全局变量

5.变量的存储类别

6.内部函数和外部函数

7.怎么运行一个多文件程序

了解函数的基本概念;深刻理解函数定义的形式以及函数参数、函数的值的的概念;掌握函数调用的形式和方法;掌握函数的嵌套调用;理解函数的递归并且能运用递归解决一些简单问题;掌握数组作为函数参数的各种方法;理解局部变量和全局变量的概念以及区别;理解变量的存储类别以及各自的特点;了解内部函数和外部函数的概念;掌握一种运行一个多文件程序的方法;结合前面内容进一步锻炼学生程序编写的素质。

8

实践项目

函数的应用

掌握定义函数的方法; 掌握函数实参与形参的对应关系以及“值传递”的方式; 掌握函数的嵌套调用和递归调用的方法; 掌握全局变量和局部变量动态变量、静态变量的概念和使用方法。

4

预处理命令

理论教学

1.宏定义:不带参数的宏定义;带参数的宏定义。

 2.“文件包含”处理

掌握宏定义的基本概念;掌握文件包含处理的方法和原理;了解条件编译基本概念。

2

实践项目

编译预处理

掌握宏定义的方法;掌握文件包含处理方法; 掌握条件编译的方法

2

 

指针

 

理论教学

1.指针和地址的概念

2.变量的指针和指向变量的指针变量

3.指针变量作为函数的参数

4.数组名作为函数的参数

5.多维数组与指针

理解地址和指针的概念;理解变量的指针和指向变量的指针变量;掌握指针变量作为函数参数的方法;熟练掌握数组与指针的概念。

10

实践项目

指针的应用

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

4

结构体与共用体

位运算(*)

理论教学

1.结构体和共用体类型数据的定义方法和引用方法。

2.用指针和结构体构成链表,单向链表的建立、输出、删除与插入。

3.理解 与位相关的运算

简明应用结构体类型的引出定义,以及结构体变量的定义,引用和初始化;综合应用结构体变量与共用体变量所占内存空间特点。

6

实践项目

1.结构体和共用体

2.位运算

掌握结构体类型变量的定义和使用;掌握结构体类型数组的概念和使用;了解共用体的概念与使用; 掌握按位运算的概念和方法,学会使用位运算符; 学会通过位运算实现对某些位的操作。

2

文件

(*)

理论教学

1.只要求缓冲文件系统(即高级磁盘I/O系统),对非标准缓冲文件系统(即低级磁盘I/O系统)不要求。

2.文件类型指针(FILE类型指针)。

3.文件的打开与关闭(fopen,fclose)。

4.文件的读写(fputc,fgetc,fputs,fgets,fread,fwrite,fprintf,fscanf函数),文件的定位(rewind,fseek函数)。

领会文件的概念;领会基于文件的各种操作。

6

实践项目

文件操作

掌握文件以及缓冲文件系统、文件指针的概念; 学会使用文件打开、关闭、读、写等文件操作函数; 学会用缓冲文件系统对文件进行简单的操作。

4

理论教学

68

实践教学

34

102

 

四、教学建议
本课程既是作为计算机专业学生一门程序设计课程,同时又是一门程序设计的入门课程。我们不仅要让学生掌握C语言本身的语法结构、程序设计的基本要素之外,还必须注意对学生的引导,提高学生对程序设计兴趣,在平时的上课过程中要对学生进行程序设计理念的培养。现提如下几点建议:
1.实践能力为重。做为高职高专的教育,我们应该注重提高学生的实践动手能力,作为程序设计类的课程,我们更应该注重学生的动手能力的培养。我们在教学过程中,不能死板的对着理论知识进行教学,每个知识点、每个例题,都要考虑到可操作性,从提高学生的学习兴趣入手,培养学生的实践能力。
2注重编程理念的培养。不仅要掌握C语言本身的知识外,我们在授课的过程中,要不断注意对学生进行程序设计思想的灌输,让学生逐步认识、理解编程的思想方法和思维方法,灌输一些典型的程序设计案例,拓宽学生的知识面。
3.自学能力的培养。本课程的知识点非常多,教学中如果全部讲授,一则时间不够,二则不能养成学生良好的学习习惯和自学能力。所以我们应该注意选择好授课内容,适当的做好课后作业的布置,加强平时的考核,督促学生养成良好的学习习惯和自学能力。
五、考核方式及评分办法
(一)考核方式
本课程一学期完成,采用理论知识考核和实践项目考核相结合的方式进行学习成绩考核。理论知识考核又包括平时考核(含出勤、课堂提问等)和期末闭卷考试方式;实践项目考核采用平时分项目考核的方式。
(二)评分办法
学期成绩=平时成绩总评×40%+期末考试成绩×60%;课程成绩=学期成绩×50% + 实训成绩总评×50%(折算比例允许在10%范围内活动)。平时成绩根据学生课堂提问情况、学生出勤情况、上课纪律、作业等进行评定;实训成绩根据现场操作情况、实训纪律、安全文明、实训报告等综合评定,其中上机操作步骤占75%、实训报告占10%、实训纪律和安全文明占15%,学生实训成绩按照评分标准按百分制打分。
六、参考教材与参考书
(一)参考教材:
C程序设计(第二版)谭浩强 著 清华大学出版社 2000.10
(二)推荐参考书
C程序设计题解与上机指导(第二版) 谭浩强著
C语言程序设计实训与习题指导 孙淑霞等编著
七、有关说明
经过专业整合后,由计算机应用技术专业教研室对本大纲进行修订,刘海明执笔,密君英担任主审。


制订日期:2005年12月3日


 

版权所有·苏州农业职业技术学院电子信息技术系
地址:苏州市西园路279号