《 C 语言程序设计》课程教学目标能力模块(精选5篇)

时间:2019-05-12 17:30:44下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《《 C 语言程序设计》课程教学目标能力模块》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《《 C 语言程序设计》课程教学目标能力模块》。

第一篇:《 C 语言程序设计》课程教学目标能力模块

《C语言程序设计》课程教学目标能力模块

《C语言程序设计》作为专业基础课,要真正体现“专业”“基础”的特点,有两个方面的内容要在课程中落实,一是C语言本身的语法与程序结构,二是通过该门课程的学习掌握一定的算法与常用子程序的编程实现,为后续课程课程打好基础。该门课程中的内容都是程序设计的基本内容,其中课程中的重点仍然是通过多种方法比如编程练习、阅读程序掌握选择、循环、数组、函数、指针与文件以及结构体的用法。

我们试行性地进行课程教学目标能力模块的划分,通过列出每一个单元内容的能力要求并将此能力要求落实在相应的编程实践中。

课程单元:

1、运算符、表达式、输入输出语句 能力要求:

a)能够正确定义、输入、输出并使用常用数据类型:整型、实型、字符型

b)掌握五种基本算术运算符的使用:+、-、*、/、%,知道优先级与结合性

c)掌握逻辑运算符和关系运算符、条件运算符的使用 d)能够正确使用printf()和scanf()进行各种数据正确格式的输入输出

e)编写简单顺序结构程序 基础能力落实:

1)输入一个字母,输出其对应的ASCII码.2)输入一个小写字母,输出其对应的大写字母.3)从键盘输入一个四位数,编程计算该四位数的各位和并输出。4)教材p.41页习题,5,6,7,9,10(关于数据类型、运算符、表达式的练习题,其他类似题目均可)

5)教材p.57页习题4,5,6,7(关于格式化输入输出的练习题,其他类似题目均可)

进阶能力落实: 1)输入一个十进制数,输出其对应的八进制数据。2)输入一个圆的半径,分别求圆的周长,面积和体积。2.选择结构程序设计 能力要求:

a)能够使用if语句编写条件选择程序

b)能够使用嵌套if语句和switch语句编写多分支选择结构程序 基础能力落实:

1)判断一个数的正、负,输出相应信息 2)判断一个数的奇偶,输出相应信息

3)在主函数中输入整型数据n,判断该数是否能被3整除,如果能被3整除,输出“yes”,否则输出“no”

4)将数学式子写成程序语言,如80<=x<=90 5)编程求解分段函数,根据程序写出分段函数的数学表达式 6)从键盘输入三个数,按照从小到大(或从大到小)的顺序输出

7)判断一个年份是否闰年

8)对一个百分制的成绩给出相应的等级(如90分以上A,80分以上B等)

9)从键盘输入两个整数,输出大数(用条件表达式求解)10)p.75习题,6,9,10(阅读程序的训练,类似题目均可)进阶能力落实:

1)从键盘上输入一个数,判断其是否为水仙花数。2)求一元二次方程的根

3)编程实现以下功能,读入两个数(d1,d2)和一个运算符(o),计算d1od2的值。

4)输入一个数,判断是否能被3,5,7整除,并输出同时被几个整除。

3.循环结构程序设计 能力要求:

a)掌握for、do-while、while语句结构

b)能够使用for、do-while、while编写循环结构程序 c)使用for、do-while、while编写多重循环语句 基础能力落实:

1)求1+2+3+…+100的和存入变量sum中,并将sum打印出来。

2)编程计算200――300的偶数和并将和打印输出 3)计算正整数1-n中的奇数之和及偶数之和

4)从5-100之间找出能被5或7整除的数(或类似求1-100之间不能被8整除的数)

5)判断一个循环语句能执行多少次(补充类似练习)6)打印99乘法表(二重循环)

7)求Fibonacci数列的前20个数。该数列的生成方法为:F1=1,F2=1,Fn=Fn-1+Fn-2(n>=3),即从第3个数开始每个数等于前2个数之和。(每行输出4个数)

8)编程输出所有“水仙花数”:所谓水仙花数是指一个三位十进制数,该数的各位数字立方之和,等于该数本身。(例如,153是一个水仙花数,因为1*1*1+5*5*5+3*3*3=153)

9)求出3~100之间的所有素数,并按每行5个数打印输出 10)求满足条件12+2+3+……..n<1000的n的最大值.11)编写一个具有加、减、乘、除四则运算功能的程序,要求能反复多次操作,当输入“#”运算符时退出(switch—case语句应用)。

12)教科书p.95页2,4,7,14,15题(阅读循环程序的练习,或类似习题)

进阶能力落实:

1)编写一个只要输入4位数的年份和该年的元旦是星期几,就可打印全年日历的程序(可作思路开发练习时讲解)。

2)试编写程序,求一个数任意次方的最后三位数,要求x,y从键盘上输入。

3)猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。4)编写程序,从键盘上输入6名学生4门课的成绩,分别统计出每个学生的平均成绩。

5)用牛顿迭代法计算从键盘上输入的自变量x的平方根。6)用穷举法解百马百担问题。4.数组 能力要求:

a)掌握一维数组的使用

b)能够进行二维数组的定义、初始化、输入、输出、引用等操作 c)进行字符串、字符数组操作,熟悉常用字符串处理函数 基础能力落实:

1)有一12个元素的整型数组b,从键盘输入数据,请以每行4个数据各个数据之间空两格的形式输出b数组的12个元素

2)由键盘输入一个字符串,如果字符串中的字符是英文字母,则进行大小写转换,其它字符不变。输出转换后的字符串。

3)定义一个整型数组a[10],将数组a[10]中的10个元素按逆序重新存放。

4)用数组方法求Fibonacci数列的前20个数。该数列的生成方法为:F1=1,F2=1,Fn=Fn-1+Fn-2(n>=3),即从第3个数开始每个数等于前2个数之和。(每行输出4个数)

5)对从键盘输入的一个字符串中的大英字母及数字进行计数。6)有一个3行3列的矩阵,请将其在屏幕上输出。7)将一个2*3的矩阵转置为3*2的矩阵

8)在一个三行三列的矩阵中求出数值最大的元素及其行/列下标并打印输出。

9)不使用库函数实现两个字符串的复制和连接

10)输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。

11)项目单1 进阶能力落实

1)从键盘输入10个字符串,按照字典顺序将其排序输出(二维字符数组)2)*打印杨辉三角形(要求打印出10行)1 11 121 1331 14641 15101051 1。。。

3)从键盘上输入100个字符,统计其中字母、数字和其它字符的个数及其百分比。

4)找出一个二维数据中的鞍点。(鞍点是指位置上的元素在该行上最大,在该列上最小),如果没有鞍点,请输出提示信息。

5)编程将两个矩阵a[3][4]和b[4][5]相乘所得到新矩阵c[3][5],并将结果显示出来。

5、函数 能力要求:

a)能够通过定义、调用函数处理指定问题:如数组排序,数据交换,字符串大、小写转换等

b)能够嵌套调用函数

c)编制递归函数进行求阶乘的运算

d)了解变量的作用域及生存期在程序中的影响 基础能力落实: 1)

在主函数中,输入整数x的值,调用函数,在屏幕上输出y的值。2)编写函数求两个数中的最大数 3)编写函数求三个数中的最大数

4)编写一个函数jc用于计算n!,将计算结果返回。在主函数中输入n的值,调用函数jc,在主函数中打印输出结果

5)编写函数求组合数C=n!/(k!*(n-k)!)6)编写递归函数用于计算n!7)编写函数求x的n次方的值 8)用函数求两个整数的绝对值 9)用函数求两个整数之差的绝对值 8)用函数求1-100的累计和

9)编写函数求1+1/2+1/3+1/4+。。+1/n的值 10)用自定义函数实现库函数unsignedintstrlen(char*str)的功能(统计字符串str中字符的个数(不包括„'),返回字符个数);

11)不使用库函数strcat(),编程将两个字符串连接起来。12)编写函数将一个字符串中的小写字母改为大写字母(数组元素和数组名作函数参数)

13)有关函数及全局变量等的程序阅读类型题。14)项目单2 进阶能力落实:

1)定义两个函数,分别求两个整数的最大公约数和最小公倍数。2)编写函数,求两个二维矩阵的和。

3)用函数实现牛顿迭代法求一元三次方程的根。4)编写函数,使用递归的方法,5)求三个数的最小公倍数。用函数实现。

6、指针 能力要求:

a)指针变量的定义、使用,以及指针变量作函数参数 b)使用指针进行数组操作 c)使用指针进行字符串操作 基础能力落实:

1)用下标法和指针法引用数组元素

2)使用指针,不使用库函数strcat(),编程将两个字符串连接起来。

3)使用指针,不使用库函数strcpy(),编程将两个字符串连接起来。

使用指针,不用库函数strlen(),编程求字符串的长度。4)使用指向数组的指针,引用数组的指定元素,将指定元素执行清零或求倍数 5)使用指针进行冒泡法排序 6)使用指针求一个字符串的长度 7)项目单3 进阶能力落实:

1)编写一个子串截取函数,viodsubstr(char*source,intstart,intlength,char*dest);source是源字符串指针,start是截取的开始位置,length是要截取的子串的长度,dest是指目标串指针。

2)编写一个程序,计算用户输入的起始时间和终止时间之间的相距天数。

3)编写一个程序,利用指针打印如下图形。*** **** **** **** 4)编写一个函数,完成对n个字符串的排序。

7、结构与链表 能力要求:

a)在程序中正确使用结构体变量、结构体数组以及结构体类型的指针

b)链表处理

c)了解共用型、枚举型数据类型 基础能力落实:

1)定义一个反映学生学号、姓名和性别的结构体变量,同时初始化;

将信息打印输出

2)定义一个结构体数组,用于存放5名学生的学号、姓名及三门课的成绩;

从键盘输入5名学生的以上数据,将成绩平均值最大的学生的学号、姓名、三门课的成绩及平均成绩在屏幕上输出。

3)项目单4 进阶能力落实: 1)利用共用体测键盘的输入。

2)定义一个日期型的结构体,判断键盘上输入的日期是本年度的第几天。

3)编写一个函数,实现链表的插入。4)编写一个函数,实现链表的查询。

8、文件 能力要求:

a)根据题意进行文件操作:打开、关闭、读写 b)进行文件定位操作,了解位置指针与出错检测 c)数组、字符、字符串的读写 基础能力落实:

1)定义一个字符数组str[15],从键盘输入一个字符串“polytechnic”,将此字符串,写入文件string.dat中,分别用fwrite与fputs函数实现

2)定义一个浮点型变量a,从键盘输入数据,将此数写入二进制文件data.dat中

项目单5 3)将一个整型数据、浮点型数据存入文件并读取 4)实现文本文件的复制

5)将一个整型数组、浮点型数组存入文件并分别读取第2,4,6,8或1,3,5,7,9个数

6)将一个结构体数据存入文件并读取。7)项目单5 进阶能力落实:

1)编写一个函数,实现两个文本文件的复制。

2)编写程序,将一个文本文件的内容连接到另外一个文本文件中。

3)将一个文件中,所有的小写字母转化为大写字母后输出。4)编程实现二进制文件与文本文件的相互转化。

9、图形与用户界面技术 能力要求: a)TC实现图形功能的常用库函数 b)根据要求实现简单的图形 c)编制简单的菜单 基础能力落实:

1)编程在屏幕上显示一个简单的直方图 2)编程在屏幕上显示20个同心圆 进阶能力落实: 1)编程实现一个时钟 2)编制简单的菜单

第二篇:《C语言程序设计》课程项目教学技能目标

《C语言程序设计》课程项目教学技能目标

《C语言程序设计》课程项目教学提出了“熟练使用基本知识点,练习设计编写小程序”两个层次的技能目标。

“熟练使用基本知识点”是第一层次的技能目标,该目标要求能够用C语言基本知识点语句准确描述简单问题,做到知识单点的准确把握和使用。课程中有大量的基本知识点需要理解和熟练掌握,学习者要达到“语句和代码”目标级别。该目标训练方法可以有以下几种:

(1)阅读具有针对性的语句和短小程序,一般作为作业题呈现给学习者。

(2)改错题。针对具体知识点进行训练,提高学习者的认识和鉴别能力。可以是作业或上机实践。

(3)填空题。针对具体知识点进行训练,为初级设计能力奠定基础。可以是作业或上机实践。

(4)小问题编程设计。用3~5个语句完成单知识点程序设计练习,主要是上机实践。“练习设计编写小程序”,是第二层次的技能目标,该目标要求能够熟练使用C语言基本知识点语句,运用算法设计思想,解决常见的或小规模的问题,这种程序一般包括10~20个语句。这是多个知识点的综合应用和培养学习者计算机思维的基本训练。

程序设计题型很多,从大量的传统题目和现实中可以找到许多原型。但是为了配合项目教学,需要构造更加合理的、更多来源于现实的题目,甚至有些题目来源于项目基本构造模块。这一级教学目标达到“代码和程序”目标级别,要求所有学习者均应达标。构题方法可以有以下几种:

(1)直接来源于传统经典保留教学题。如,有一些经典数学问题,经典现实问题等。(2)改编传统题目。有些题目编写出的程序基本符合教学要求,但是题目难以反映飞速发展的现实社会,或缺少科学和实际背景等,这种情况可改编原有题目。有些题目来源较好,如来源于前端科研,或来源于专业问题,符合学生专业背景,但程序实现较长或较难,则需要改编题目为多个小题,缩小程序或变为几个相关的题目。

(3)创造新题。可结合所教学生专业,或某些现实情况创造新题,实践教学知识点。更重要的是,结合项目教学,教师和学习者在熟悉项目设计意图的前提下,围绕项目产生新的教学题目和实训题目。

两个层次在课程学习过程中,并不是不同时期的学习内容,应该并行进行。

初级篇

第一章

C语言学习基础之技能目标

第一层次

1、练习C源程序文件的创建(编辑输入、存储编译、简单运行调试)过程,掌握使用VC集成开发环境处理一个C语言程序的步骤:编辑、编译、连接和运行。

要求:

(1)阅读程序,在VC集成开发环境中输入、编译、连接并运行简单C语言程序。(2)阅读并运行简单C语言程序,输入并记住C语言的头文件包含CODE: #include “stdio.h” 或 #include (3)理解并输入简单C语言程序,编译、调试其中的错误部分。(4)在指定位置存储C语言源程序。

2、阅读并运行简单C语言程序,记住C语言主函数的构成。

3、阅读并运行简单C语言程序,记住使用printf语句输出信息的方法。

4、阅读并运行简单C语言程序,理解转义字符(n、t)在printf语句中的作用。

5、区分C语言中的命令和语句。

6、观察错误提示信息,并根据提示信息寻找程序错误。

要求:对一些简单的语法错误,如在头文件后加“;”或在语句后漏输入“;”或关键字拼写错误等的错误提示信息。

第二层次

7、准确描述求解问题的六步法。例:写出求长方体体积的六步法。

8、模拟例题编写程序,使用printf语句输出信息。

要求:可以输出一些图形、软件设计界面、某些特殊信息、提示信息、换行等。

第二章

C程序设计初步之技能目标

第一层次

1、练习简单变量的定义及其初始化。

2、练习简单字符指针变量的定义及其初始化。

3、练习字符一维数组和数值一维数组的定义。

要求:练习各种类型变量的定义及其初始化,记住变量定义语句在程序中的位置。

4、练习符号常量的定义。

5、确定问题领域的数据及其类型。

要求:根据给定的问题确定所需定义的数据及其类型。如:计算一个三角形面积时,需要定义哪些数据,类型如何确定?

6、分析复合赋值运算表达式的值。

7、求余运算的应用。例1:判断奇偶数据。

例2:拆分整数的各位数字。(需要使用除运算)

8、分析自加、自减运算符作为前缀运算符时表达式和变量的值。

9、分析自加、自减运算符作为后缀运算符时表达式和变量的值。10、11、12、13、14、15、16、量。

要求:

(1)熟悉无(带)符号十进制、无符号八进制和无符号十六进制输出结果形式。(2)各种附加格式说明符的使用。

17、量。

要求:

(1)熟悉e(E)、g和f格式输出的结果形式。(2)各种附加格式说明符的使用。18、19、20、21、要求:

(1)输入格式控制字符串的书写与表示。(2)程序运行时各种数据输入方式的练习。

22、使用多条printf语句输出不同类型的常(变)量。练习各种转义字符的输出,熟悉其输出或控制效果。使用printf语句输出C语言中的字符型常(变)量。使用printf语句输出C语言中的字符串。使用scanf语句实现各种类型数据的输入。使用格式化输出语句(printf语句)以不同格式输出C语言中的实型常(变)写出给定数学式子的算术表达式。分析逗号表达式的值。

分析简单指针变量和普通变量的关联。分析赋值运算中的类型转换。分析算术运算中的类型转换。

使用强制类型转换运算符实现数据类型的转换。

使用格式化输出语句(printf语句)以不同格式输出C语言中的整型常(变)例:使用printf语句,在屏幕上显示某个学生的学号、姓名、性别、年龄和某门课程的成绩。

23、使用一条printf语句输出不同类型的常(变)量。

例:使用printf语句,在屏幕上显示某个学生的学号、姓名、性别、年龄和某门课程的成绩。

24、使用printf语句和scanf语句实现人机交互。

例:使用printf语句和scanf语句,从键盘输入某个学生的学号、姓名、性别、年龄和某门课程的成绩,并在屏幕上输出。25、26、27、28、29、使用getchar函数实现单个字符的输入,并与printf函数比较。使用putchar函数实现单个字符的输出,并与printf函数比较。使用gets函数实现字符串的输入,并与printf函数比较。使用puts函数实现字符串的输出,并与printf函数比较。使用数学函数表示给定的数学式子。

要求分别练习以下函数:

(1)使用sqrt函数求一个实数的平方根。(2)使用fabs函数和abs函数求一个数的绝对值。(3)使用pow函数求一个数的n次幂。(4)使用三角函数sin求某个弧度的正弦值。(5)使用三角函数cos求某个弧度的余弦值。(6)使用三角函数tan求某个弧度的正切值。(7)使用三角函数atan求某个弧度的余切值。30、过程。阅读并运行有一个main函数和一个自定义无参函数的程序,分析程序的执行第二层次

31、简单算法练习。

例:编写应用两两交换算法处理问题的程序。要求:

(1)利用简单变量实现。

(2)利用指针变量实现。

32、编程实现对多个数据的处理。

要求:练习加、减、乘、除、求余的运算。

33、编程实现数据的分离和整合。

例1:从键盘输入一个三位数,分离出它的百位、十位和个位数字。例2:从键盘输入三个一位数,组成一个三位数。

34、编程实现字符转换。例1:从键盘输入一个小(大)写字母,转换成大(小)写字母后输出。例2:从键盘输入一个字母,变换为其后续的第n个字符并输出。

35、编程实现简单顺序结构程序设计。

例1:已知某几何体数据,求面积、体积等。

例2:已知若干某类型数据,求和、积,并按要求格式输出。例3:任意输入一个字符,输出此字符对应的ASCII码。

例4:设银行定期存款的年利率rate为2.25%,并已知存款期为n年,存款本金为capital元,试编程计算n年后的本利之和deposit。要求定期存款的年利率rate、存款期n和存款本金capital均由键盘输入。

例5:求5!(5的阶乘)。

36、编写有一个main函数和一个自定义无参函数的程序。

第三章

控制结构和数据文件之技能目标

第一层次

1、用C语言合法的表达式构造给定问题的条件。要求:

(1)用关系表达式表示条件。(2)用逻辑表达式表示条件。

2、分析给定表达式的值。要求:

(1)分析给定关系表达式的值。(2)分析给定逻辑表达式的值。

(3)分析逻辑运算中的“短路”现象及影响。(4)分析给定条件表达式的值。(5)分析给定复杂表达式的值。

3、构造switch语句的条件,并分析其取值结果。

4、阅读并运行由条件表达式构成的选择结构程序,分析选择结构程序的执行过程。

5、阅读并运行由if语句构成的单分支选择结构程序,分析选择结构程序的执行过程。

6、阅读由if语句构成的单分支选择结构程序,理解复合语句的作用。

7、阅读由if语句构成的单分支选择结构程序,理解空语句的作用。

8、阅读并运行由if—else语句构成的双分支选择结构程序,分析选择结构程序的执行过程。

9、阅读选择结构程序,理解数值型数据作为条件时,程序的执行过程。

10、执行过程。

11、阅读并运行switch语句构成的多分支选择结构程序,分析选择结构程序的执阅读并运行由if—else语句构成的多分支选择结构程序,分析选择结构程序的行过程。12、13、14、15、16、17、18、19、20、行过程。21、22、23、24、25、26、27、28、29、30、31、32、33、分析switch语句中break语句的作用。

阅读并运行嵌套的选择结构程序,分析选择结构程序的执行过程。阅读并运行由while语句构成的循环,分析循环结构程序的执行过程。阅读由while语句构成的循环,分析空语句的作用。

阅读并运行由do-while语句构成的循环,分析循环结构程序的执行过程。阅读并运行由for语句构成的循环,分析循环结构程序的执行过程。分析计数式循环的循环控制。分析标记式循环的循环控制。

阅读并运行由三种循环语句构成的嵌套结构循环程序,分析循环结构程序的执分析break语句在循环体中的作用。分析continue语句在循环体中的作用。循环次数的确定。练习文件指针的定义。使用fopen函数打开文件。

使用fscanf函数实现文件的读操作。使用fprintf函数实现文件的写操作。使用fclose函数关闭文件。使用feof函数判断文件是否结束。使用结束符判断文件是否结束。

阅读简单的文件操作程序,分析程序的功能。阅读并运行自定义无参函数,分析程序的执行过程。观察错误提示信息,并根据提示信息寻找程序错误。要求:是一些逻辑错误,如判断水仙花数时,将“= =”号输成“=”号等。

第二层次

34、应用if语句编写单分支选择结构程序。

例:现有3个学生,要求按年龄从小到大(升序)排列。

35、应用if—else语句编写双分支选择结构程序。

例1:判断一个数是否是水仙花数。例2:判断某年是否是闰年。

36、应用if—else语句编写多分支选择结构程序。

例:判断从键盘输入的字符属于哪一类字符。

37、应用switch语句编写多分支选择结构程序。

例:设计星期查询程序。编写程序,从键盘输入1~7的整数,代表数字星期,将其转换为英文星期。

38、编写嵌套的选择结构程序。

例:编写程序,求一元二次方程的根。39、40、编写程序计算某个分段函数。编写求极值程序。

例:求两个(或多个)数中的最大(小)数。

41、应用while语句编写循环结构程序。

例:求某班所有学生某门课程的平均值。

42、应用do—while语句编写循环结构程序。

例:某系统用户界面的设计。

43、应用for语句编写循环结构程序。

例:求所有的水仙花数。

44、应用三种循环语句编写嵌套的循环结构程序。

例:打印九九乘法表。45、46、47、48、49、在编写循环结构程序中应用break语句。在编写循环结构程序中应用continue语句。编写求多个数累加和算法程序。编写求累乘积算法程序。编写求累加和和累乘积算法程序。50、51、编写求均值算法程序。编写分类统计程序。

例:在成批信息处理中,我们经常会对某些信息进行分类统计。编写程序,统计从键盘输入的一串字符中,字母字符、数字字符、空格字符以及其它字符的个数。

52、利用递推算法编写程序解决问题。

例:求fibonacci数列的前30项。

53、利用枚举算法编写程序解决问题。

例1:找出所有的水仙花数。例2:找出所有的完全数。

54、利用辗转相除算法编写程序解决问题。

例:用辗转相除算法求两个数的最大公约数。

55、使用标记变量法编写程序解决问题。

例:判断某个数是否是素数。56、57、58、编写简单的自定义无参函数,实现简单的函数调用。编写文件操作程序,实现批量数据的读写。经典数学公式求解问题。

例:利用公式求∏的值。

中级篇

第四章

函数模块化编程之技能目标

第一层次

1、使用随机函数rand和种子函数srand产生随机数。

2、分析函数首部的合法性。要求:

(1)分析函数参数的个数和类型。(2)分析函数的返回值类型。

3、阅读并运行有返回值函数的程序,分析程序的执行过程。

4、分析常量或简单变量作实参时,函数间数据通过值传递的调用方式。

5、分析变量地址或指针作实参时,函数间的数据通过地址传递的调用方式。

6、阅读并运行包含一般函数调用的多函数程序,分析程序的执行过程。

7、阅读并运行包含函数嵌套调用的多函数程序,分析程序的执行过程。

8、阅读并运行包含函数递归调用的多函数程序,分析程序的执行过程。

9、比较用auto变量和static变量编写的程序。10、11、12、13、14、15、阅读并运行用extern关键字定义的全局变量程序,分析程序的执行过程。阅读并运行包含局部变量、全局变量的程序。阅读并运行包含同名的局部变量和全局变量的程序。阅读并运行简单宏定义及其调用程序。阅读并运行带参宏定义及其调用程序。阅读并运行多源程序文件程序,分析执行过程。

第二层次16、17、18、19、20、21、22、23、24、25、26、27、编写求极值算法的通用函数,利用通用函数实现求极值。编写求累加和算法的通用函数,利用通用函数实现求累加和。编写求累乘积算法的通用函数,利用通用函数实现求累乘积。编写求平均值算法的通用函数,利用通用函数实现求平均值。编写递推算法函数解决问题,利用通用函数实现此类问题的求解。编写枚举算法函数解决问题,利用通用函数实现此类问题的求解。编写辗转相除算法函数解决问题,利用通用函数实现此类问题的求解。编写有局部变量和全局变量的程序。编写有静态变量的程序。编写有多源程序文件的简单程序。编写带参宏定义程序。经典名题。

例1:编写程序,连续输出相邻的15对孪生素数,孪生素数是指相邻的两个数都是素数。

例2:汉诺塔。有三个针a,b,c,其中a针上有64个盘子,盘子大小不等。大的在下,小的在上,要求把这64个盘子从a针移到c针,在移动过程中可以借助b针,每次只允许移动一个盘,且在移动过程中在三根针上都保持大盘在下,小盘在上,要求编写程序打印出移动的步骤。

高级篇

第五、六章

数组与指针之技能目标

第一层次

1、练习一维数组的定义及初始化。

例:利用一维数组存储多个相关数据,如多个实验数据的输入及存储。

2、练习一维数组元素的引用。

3、分析一维数组在内存中所占的字节数。

4、练习一级指针定义和一维数组的关联。

5、练习一维数组元素地址的各种表示方法,分析元素的地址和数组的地址。

6、练习一维数组元素的各种表示方法。

7、练习自加和自减运算符实现指针在数组空间的移动操作。

8、结合指针,应用for循环实现一维数组元素的输入输出。

9、结合指针,应用fscanf函数和fprintf函数实现一维数组元素值的批量输入输出。10、11、12、13、14、15、16、17、18、19、20、21、22、23、24、25、结合指针,应用一维数组实现求极值的操作。结合指针,应用一维数组实现求和的操作。结合指针,应用一维数组实现求平均值的操作。练习二维数组的定义及初始化。练习二维数组元素的引用。分析二维数组的元素个数。

二维数组定义时省略第一维的说明,确定第一维的大小。练习二级指针定义和二维数组的关联。练习行指针的定义及其与二维数组的关联。练习指针数组的定义及其与二维数组的关联。

分析指向不同维数组的指针,该指针自加和自减运算的值及其指向。练习二维数组元素地址的各种表示方法,分析元素的地址和数组的地址。练习二维数组元素的各种表示方法、引用方法。练习字符数组的定义及其初始化。

利用指针,应用双重for循环实现二维数组的输入输出。利用指针,应用二维数组求某(所有)行元素的最大(小)值。26、27、28、29、30、31、32、利用指针,应用二维数组求某(所有)列元素的最大(小)值。利用指针,应用二维数组求某(所有)行元素的和(平均)值。利用指针,应用二维数组求某(所有)列元素的和(平均)值。应用行指针引用二维数组元素做多种处理。应用指针数组引用二维数组元素做多种处理。对指定位置元素的操作(简单元素定位问题)。使用一维字符数组存储、输入、输出字符串。

例:一个人的姓名存储、输入及输出。33、34、35、36、程。37、38、39、40、41、42、43、44、45、46、47、48、49、50、51、52、53、阅读并运行行指针变量作为形参指向二维数组的程序,分析程序的执行过程。练习指针函数的定义。

阅读并运行指针数组作指针型函数参数的程序,分析程序的执行过程。练习指向函数的指针的定义和赋值。

阅读并运行指向函数的指针作函数参数的程序,分析程序的执行过程。阅读并运行指针数组名作函数参数的程序,分析程序的执行过程。阅读并运行指向字符串的指针作函数参数的程序,分析程序的执行过程。使用fgetc函数实现文件的读字符操作。使用fputc函数实现文件的写字符操作。使用fgets函数实现文件的读字符串操作。使用fputs函数实现文件的写字符操作。使用rewind函数实现文件指针的定位操作。使用ftell函数获取文件指针的当前位置。使用fseek函数实现文件指针的定位操作。使用fread函数实现文件的读操作。使用fwrite函数实现文件的写操作。

练习动态存储分配函数,包括malloc和calloc函数。区分用一维字符数组存储字符串时,数组的大小和字符串的长度。应用标准输入输出函数实现字符串的输入和输出。

应用字符串处理函数操作字符数组,包括strcpy、strcmp、strlen、strcat等。阅读并运行指向一维数组的指针变量作函数参数的程序,分析程序的执行过54、55、阅读文件操作程序,分析程序的功能。

观察指针和数组操作中的错误提示信息,并根据提示信息寻找程序错误。

第二层次56、57、58、59、60、61、62、63、64、65、66、67、68、结合指针,应用一维数组和顺序查找算法实现数据的查找。结合指针,应用一维数组和折半查找算法实现数据的查找。结合指针,应用一维数组实现数据的有序插入。结合指针,应用一维数组实现数据在指定位置的插入。结合指针,应用一维数组实现指定位置或指定数据的删除。结合指针,应用一维数组实现数据的逆置。结合指针,应用一维数组实现分类数据的统计。

结合指针,应用一维数组和冒泡排序算法实现数据的排序。结合指针,应用一维数组和选择排序算法实现数据的排序。结合指针,应用二维数组实现矩阵的加操作。结合指针,应用二维数组实现矩阵的减操作。结合指针,应用二维数组实现矩阵的转置操作。

结合指针,应用二维数组对矩阵的某些元素进行某种操作。

例:将3*3矩阵右下半三角元素全部置0。69、70、利用指针移动和比较运算,编程实现字符串的逆置。利用一维数组名作为实参,编写自定义函数解决问题。

例1:通过函数求数组的最大值,主函数调用并输出结果。例2:通过函数将数组按升序排序,主函数调用并输出结果。71、72、73、利用一维数组元素作为实参,编写自定义函数解决问题。编写自定义头文件,并在程序中包含该头文件。

利用二维数组名作为实参,编写自定义函数解决实际问题。

例:通过函数求3行4列二维数组所有元素的累加和,在主函数调用并输出结果。74、利用字符数组名作为实参,编写自定义函数解决实际问题。

例:通过函数将字符串中的所有小写字母转换成对应的大写字母,在主函数调用并输出结果。75、76、利用指针数组作指针型函数参数,编写程序。编写指向函数的指针作函数参数的程序。77、78、79、80、81、82、83、编写指针数组名作函数参数的程序。编写指针指向字符串的程序。

应用字符数组和指针编写字符串比较函数。应用字符数组和指针编写字符串复制函数。应用字符数组和指针编写求字符串长度函数。应用字符数组和指针编写字符串连接函数。利用指针和数组,编写文件操作程序处理批量数据。

第七、八章

结构体、联合体及用户自定义类型之技能目标

第一层次1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、练习结构体类型的定义。练习结构体类型变量的定义。练习结构体数组的定义。

练习指向结构体变量的指针的定义。练习结构体类型的嵌套定义。练习结构体变量单个成员的引用。练习结构体变量的整体引用。练习结构体类型变量的初始化。练习结构体数组的初始化。练习结构体数组元素的引用。练习使用指针引用结构体成员。练习指向结构体数组的指针的定义。练习使用指针引用结构体数组元素成员。练习可以实现链表的结构体定义语句。写出链表中两个节点互换的实现语句。

要求:互换后链表保存连续。16、17、18、19、写出链表中两个节点间插入一个节点的实现语句。写出在链表末尾插入一个节点的实现语句。写出链表中删除一个节点的实现语句。

阅读并运行有关结构体和文件的程序,分析程序的执行过程。20、21、22、23、24、25、26、27、28、29、30、练习共用体类型的定义。练习共用体类型变量的定义。练习共用体变量的引用。练习枚举类型的定义。

练习使用typedef定义数据类型。分析结构体变量所占字节数。分析共用体变量所占字节数。

分析结构体变量作为实参时,对应的形参和实参间数据的传递。分析返回值为结构体类型的函数。分析共用体类型变量的值。

观察错误提示信息,并根据提示信息寻找程序错误。

第二层次31、32、33、34、35、36、37、38、39、编程用尾插法实现链表的建立。编程用头插法实现链表的建立。编程输出链表中的结点。编程统计链表的结点个数。编程查找链表中某个结点。编程实现链表的插入。编程实现链表的删除。

应用指向结构体变量的指针作为参数,编写自定义函数。编写有关结构体和文件的程序。

例:建立一个班级的人员情况表,其数据项应包括学号、姓名、百分制记分的3门课程的成绩,计算该班5名学生的每门课程的平均成绩,按平均成绩进行排序处理,并将原有数据和排序后的数据存入文件stdu.txt中。

第三篇:《C语言程序设计》课程教学设计

《C语言程序设计》课程教学设计

理学院电子科学系计算机基础教研室 赵永梅

《C语言程序设计》是大学计算机基础教学系列中的核心课程之一,是计算机及信息类专业本科生必修的一门专业基础课。它讲述了C语言的语法、数据类型、结构化程序设计方法等方面的内容,从而形成一个比较完整的、系统的计算机及信息类专业计算机程序设计基础教学内容,是学员从技术的角度学习计算机的主要基础课,具有不可替代的基础性、先导性和全局性作用。

一、课程教学对象分析

本课程的教学对象是培训部计算机类专业一、二年级本科层次学员。所有教学对象都应该已经学习过《大学计算机基础》,但由于学员的计算机基础的较大差异,针对教学对象的实际情况,应当根据教育部高等学校计算机科学与技术教学指导委员会《关于进一步加强高等学校计算机基础教学的意见》暨计算机基础课程教学基本要求,给以适当的分类、分层次教学,即一般要求和较高要求,使学员掌握C语言的简单程序设计的基本技术和方法。

二、课程基本理念

本课程以培养复合型的专业技术人才为目标,全面贯彻素质教育和创新教育思想,着力提高人才培养质量。通过本课程的学习应使学员掌握正确的程序设计方法与思想。具有初步的利用计算机分析问题、解决问题的意识与能力,为学员将来到社会从事专业应用软件的开发打下重要基础。

三、课程设计思路

以本课程的基本理念为指导,对课程目标分别从知识与技能、过程与方法、情感态度与价值观等方面进行了具体明确的阐述。课程内容与教学要求主要阐述学员学习本课程必须掌握的内容要点及达到的基本要求,并注明了重点和难点。在实施建议部分,分别对课程教学实施、课程考核评价、教材选编使用、课程资源开发与利用以及教学保障等提出了明确建议。本课程是一门实践性很强的课程,应改变传统的注重语法规则的应试型教学模式,合理安排教学实践环节,加强程序设计技能的教学,以培养学员的专业技能,突出学员学习的主体地位。可通过与实际应用结合紧密的例题,增设小型工程应用项目的研究或运用案例式教学,提高学员编程的技巧。

四、课程教学目标

以《计算机程序设计》的课程标准为参考,根据教育部新的精神和要求,通过课堂教学与实践教学,让学员了解《C语言程序设计》这门课程的性质、地位和在工程应用中的价值;熟练掌握C语言的语法,掌握程序设计的基本思想和方法,具备良好的程序设计风格和程序的调试技能。能够利用软件工程的思想,运用数据结构基本知识和算法,解决实际生活中或者专业课中涉及到的实际问题,从而培养学员分析问题、解决问题的能力。

五、课程教学内容

(一)教学内容

根据《C语言程序设计》课程标准,参照相关专业人才培养方案以及后续课程的开设情况,讲授8个教学单元的教学内容。

第一单元:C语言概述

教学内容:C语言的特点、C语言源程序简介、C语言源程序的基本结构、C程序的编辑、编译、链接和运行

学时分配:讲课2学时,实习2学时

目的和要求:了解C语言及其特点、掌握C语言源程序基本结构、掌握C语言源程序集成开发环境

重 点:C语言源程序的基本结构。难 点:C语言源程序集成开发环境。第二单元:基本数据类型及其运算 教学内容:C语言的基本数据类型及其分类、变量与常量、各种运算符及其表达式

学时分配:讲课4学时,实习2学时

目的和要求:了解C语言的数据类型、掌握常量与变量的概念和使用方法、掌握C语言中的整型数据、浮点型数据和字符型数据的表示方法、掌握各种运算符和表达式的使用方法、掌握各类数值型数据之间混合运算的方法

重 点:基本数据类型及其分类 难 点:各种运算符和表达式的使用 第三单元: 结构化程序设计

教学内容:算法的概念及特性、算法的描述、结构化程序设计方法、C的语句、赋值语句、数据的输入与输出、顺序结构程序设计、关系运算、逻辑运算和条件运算、if语句、switch语句、while、do„while、for、break、continue语句、循环结构程序设计

学时分配:讲课22学时,实习6学时

目的和要求:理解算法的概念和特性、掌握用N-S图描述算法、初步了解结构化程序设计的思想、掌握用N-S图描述三种基本结构、掌握C语句的种类和特点、掌握数据输入、输出的方法、掌握顺序结构程序设计方法、掌握关系运算、逻辑运算和条件运算、掌握if语句和switch语句的执行过程、掌握选择结构程序设计方法、掌握三种循环语句的执行过程和区别、掌握break和continue语句的用法、掌握循环结构程序设计方法。

重 点:算法的概念及特性、C的语句、逻辑运算,if语句和switch语句构成选择结构、三种循环语句

难 点:掌握用N-S图描述算法、数据的输入与输出、switch语句的执行过程、循环结构程序设计

第四单元:函 数

教学内容:函数的定义与声明、函数的调用与返回、数组作为函数的参数、变量的存储类别、内部函数和外部函数

学时分配:讲课4学时、实习2学时

目的和要求:理解函数的基本概念、掌握函数的定义、声明、调用和返回、掌握数组作为函数的参数的特性、掌握变量的作用域及存储方式、了解内部函数和外部函数的使用方法及区别

重 点: 函数的定义和调用,数组作函数的参数 难 点: 函数的递归调用和嵌套调用 第五单元:数 组

教学内容:数组的概念、一维数组的定义、引用和初始化、二维数组的定义、引用和初始化、字符数组的定义、引用和初始化、字符串处理函数

学时分配:讲课6学时、实习2学时

目的和要求:理解数组的基本概念、掌握数组的定义、初始化和数组元素的引用方法、掌握字符数组和字符串处理函数的使用、掌握与数组有关的常用算法(冒泡排序和选择排序)

重 点:数组的定义、初始化和数组元素的引用 难 点:二维数组和字符数组的应用 第六单元:结构体和共用体

教学内容:结构体类型及其使用方法、指向结构体类型数据的指针、用指针处理链表、共用体类型及其使用方法、枚举类型及其使用方法、用typedef定义新类型

学时分配:讲课4学时、实习2学时

目的和要求:理解结构体、共用体类型和枚举类型的概念、掌握结构体、共用体和枚举类型数据的使用、了解用指针处理链表的方法和意义、掌握typedef命令的使用方法

重 点:结构体、共用体类型和枚举类型数据的使用方法 难 点:指针处理链表的方法 第七单元:指 针 教学内容:指针的概念、指针与变量、指针与数组、指针与字符串、指针与函数

学时分配:讲课6学时、实习2学时

目的和要求:理解指针的概念、掌握指针变量的定义、引用方法及运算、掌握通过指针访问数组的方法、掌握通过指针处理字符串的方法、掌握使用指针作为函数的参数、掌握函数指针、掌握指针数组和指向指针的指针

重 点:指针的概念、指针作函数的参数、数组的指针和字符串的指针

难 点:函数的指针、指针数组和指针的指针 第八单元:文 件

教学内容:文件类型指针、文件的打开与关闭、文件的读写 学时分配:讲课2学时,实习2学时

目的和要求:掌握文件概念及文件的打开与关闭、掌握文件的顺序和随机读写、了解文件的出错检测

重 点:文件的打开、关闭和读写函数的使用 难 点:文件类型指针

(二)教学实践

本课程是一门实践性很强的课程,上机实习是教学过程中的一个重要环节,目的是使学员熟练掌握C程序编辑、编译、链接和运行的基本步骤,提高学员在TURBOC环境下,运用C语言对具体问题进行程序设计的能力。按照课程标准,本课程共安排20 学时的上机实习。

为了更好地开展教学实践,给每位学员统一发放了与主讲教材配套的上机指导书《C程序设计上机实践指导书》,以辅助理论教学,提高学员的程序设计的能力。

实践教学内容与课时分配如下: 实验1: TURBOC 2.0环境下的基本操作 课时分配:2学时 实验目的:

(1)掌握TURBOC 2.0的基本操作;

(2)掌握TURBOC 2.0环境下编辑、编译、链接和运行程序的基本方法;

(3)初步了解C语言源程序的基本结构。实验2 :基本数据类型及其运算 课时分配:2学时 实验目的:

(1)掌握C语言的基本数据类型,学会变量的定义和赋值;(2)熟练掌握C语言有关运算符、表达式的使用方法;

(3)进一步熟悉C语言程序的编辑、编译、链接和运行的基本步骤。实验3: 顺序结构程序设计 课时分配:2学时 实验目的:

(1)熟练掌握各种基本类型数据的输入、输出方法;(2)熟练掌握赋值语句的使用方法;

(3)熟练掌握格式输入、输出函数的使用方法。实验4 :选择结构程序设计 课时分配:2学时 实验目的:

(1)掌握关系表达式、条件表达式以及逻辑表达式;(2)熟练运用if语句的不同形式编写程序;(3)掌握switch语句的使用方法。实验5: 循环结构程序设计 课时分配:2学时 实验目的:

(1)熟练掌握while,do„while,for语句的使用;(2)掌握在程序设计中用循环方法实现的一些常用算法;(3)进一步熟悉调试程序的方法。实验6: 函数 课时分配:2学时 实验目的:

(1)掌握实参和形参在函数间进行“值传递”的对应关系和传递方法;

(2)掌握函数的嵌套调用和递归调用;(3)理解变量的存储类别和作用域。实验7: 数组 课时分配:2学时 实验目的:

(1)掌握数值型数组的初始化和输入、输出的方法;(2)掌握字符数组的初始化和字符串的输入、输出方法;(3)掌握数组下标的表示方法。实验8: 结构体与共用体 课时分配:2学时 实验目的:

(1)掌握结构体类型和结构体变量的定义和使用方法;(2)学会构造合理的数据结构解决实际问题的方法;(3)理解动态内存分配的概念;(4)掌握简单链表的定义和操作;(5)掌握共用体数据的定义和使用方法;(6)掌握枚举类型数据的定义和使用方法。实验9: 指针 课时分配:2学时 实验目的:

(1)理解指针和地址的概念;掌握指针变量的定义和使用方法;(2)掌握用指针处理数组的方法;(3)掌握字符串指针的使用方法;(4)掌握函数的指针的使用方法;(5)掌握指针数组和指针的指针的使用方法;(6)掌握指针变量的运算。实验10: 文件 课时分配:2学时 实验目的:

(1)掌握文件的打开和关闭方法以及文件的读写方法;(2)了解文件的定位以及出错的检测。

六、教学方法手段

(一)教学方法

通过对基础知识的讲解,突出基本概念、基本思想的讲授和基本技能的训练,结合案例精讲多练,注重讲解与实际应用结合紧密的例题,加强实践练习。在教学过程中,贯穿“讲授式”、“启发式”、“案例式”、和“研讨式” 等教学方法。

注意教学方法的灵活性,教学过程中,借助现有的多媒体设备,灵活运用教学方法,再现问题情景,增加互动氛围,培养学员分析问题、解决问题的能力和探究意识。

作业量每次3-5题,难度应当适中,教员应做到定时批阅,及时讲评。

注重实践环节。实习课(20学时),在教员指导下,单人单机自主进行。实习内容根据程序设计基本技能中的要求合理设计,依次实施。

适当增加一些小型项目或以大作业的形式,使学员进一步加强学习的自主性,培养解决综合问题的能力。

(二)备课与课堂设计 1.备课

按照人才培养方案、课程标准和教学基本要求,在开课前需要深刻理解本课程各单元的主要教学内容,以课程教学组为基本单位组织集体备课,统一教学要求、统一授课标准、统一课程进度。认真撰写教案、制作课件并对针对重点如何突出、难点如何突破进行讨论与试教练讲。

2.课堂设计

将课程的全部教学内容分解落实到有限的25次课堂面授(50学时)和10次自主上机实习(20机时)之中去。在开课之前适当时候组织学员进行摸底考试,并且在开课后的两周之内及时组织召开教学联系会,全面了解学员对C语言的掌握情况和掌握程序设计方法的情况,以便因材施教,有的放矢。

七、教学评价

本门课程采用笔试与上机考试(机试)成绩相结合的方式评价。笔试成绩占70%,上机考试成绩占30%。

第四篇:C语言程序设计课程教学设计

C语言程序设计课程教学设计

苏小红

一 课程内容体系 :

基本描述

课程名称: C 语言程序设计

英文译名 : C PROGRAMMING LANGUAGES 总 学 时: 50 ; 讲课学时: 30 ; 实验学时 : 0 ; 上机学时 : 30 授课对象 :非计算机专业 本科生 授课单位 :计算机科学与技术学院 主讲教师 :苏小红等

先修课程 :高等数学,计算方法 课程要求 :必修课 课程分类 :专业基础课 开课学期 : 2

教学定位 :

本课程为专业基础课,属我校所有理工科专业本科教学计划中的主要必修课程之一。在计算机教育方面,C 语言是为数不多的与国外保持内容同步的课程之一,可见,它在本科生教学中的地位之重要不言而喻。由于 C 语言是许多后续专业课程的基础,因此,在本科生教学体系中中,C 语言教学仅是起点,而非终点。本着面向未来的精神,本课程的教学宗旨是要努力把 C 语言从应试课程转变为一种实践工具,主要目的不再局限于使学生单纯地了解和掌握 C 语言的基本语法规范,而是要致力于培养学生运用 C 语言解决实际问题的编程能力,以 C 语言为工具,介绍程序设计的基本思想和方法,培养学生无论以后在学习、工作中使用什么语言编程,都能灵活应用这些思想和方法的能力。

知识点与学时分配 :

第 1 章 程序设计 ABC(1 学时)

计算机与人之间的关系、计算机与程序设计语言之间的关系、程序设计语言的故事、程序设计语言的工作机理。

第 2 章 数据类型、运算符与表达式(3 学时)

为什么引入数据类型、C 语言基本数据类型、常量、变量、算术运算符、关系运算符、逻辑运算符、赋值运算符、增 1 减 1 运算符、强制类型转换运算符、位运算符、逗号运算符、运算符的优先级和结合性、各种运算表达式。

第 3 章 简单的 C 程序设计(2 学时)

C 语句分类、表达式语句、复合语句和空语句、字符输入输出函数、格式输入输出函数。第 4 章 程序的控制结构(5 学时)

算法的概念及其描述方法、条件语句、循环语句、流程转移控制语句(goto、continue 和 break)、自顶向下、逐步求精的结构化程序设计方法。第 5 章 函数(4 学时)

程序结构的艺术、函数定义、函数调用、函数返回值、函数原型、参数传递、变量的作用域和存储类,函数封装、模块分解原则、模块化程序设计方法。第 6 章 数组(4 学时)

一维数组、二维数组、向函数传递一维数组、向函数传递二维数组、字符数组、字符串处理函数。第 7 章 指针(4 学时)

指针的概念、为什么引入指针的概念、变量的指针作函数参数、字符指针做函数参数、指针和数组之间的关系、指针数组、代码风格、防御性程序设计。第 8 章 结构体和共用体(4 学时)

结构体类型、结构体变量、结构体数组、向函数传递结构体指针、共用体类型。第 10 章 文件操作(2 学时)

计算机中的流、文件、基本文件操作、高级文件操作。复习总结(1 学时)

第五篇:《C语言程序设计》课程教学大纲

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

一、课程教学目的

本课程系统学习C语言的基本知识和基本语法,较好地训练学生解决问题的逻辑思维能力以及编程思路和技巧,使学生具有较强的利用 C 语言编写软件的能力,为培养学生有较强软件开发能力打下良好基础。

二、课程教学要求

通过本课程的学习,应熟练掌握 C 语言中的基本知识、各种语句及程序控制结构,熟练掌握 C 语言的函数、数组、指针、结构体、链表等数据结构的基本算法;并能熟练地运用 C 语言进行结构化程序设计;具有较强的程序修改调试能力;具备较强的逻辑思维能力和独立思考能力。

三、课时分配

本学科计划学时为246学时,其中理论与实训课时比例为7:3。

四、课程教学重、难点

课程教学重点:掌握C语言变量类型及不同类型常量的表示;标准的输入输出函数的使用;运算符及常用数学函数的使用;控制流程、数组和指针的使用;结构体、链表的构造使用;函数结构、函数参数传递及递归等方面的知识;基本的文件操作。难点:指针的使用、结构体链表的构造和使用及函数的参数传递。

五、课程教学方法(或手段)

本课程实践性较强,故采用讲授和上机操作相结合的方式进行教学。

六、课程教学内容 第一章 C语言概述 1.教学内容

(1)编程历史的回顾、程序设计介绍(过程式,面向对象,函数式,逻辑式);(2)C语言的历史背景、特点;(3)C语言源程序的格式和程序结构;(4)C程序的上机步骤。2.重、难点提示

(1)重点:掌握简单的 C程序格式,包括main()函数、数据说明、函数开始和结束标志等;

(2)难点:编程入门以及对语言的理解。第二章 算法 1.教学内容

(1)算法的概念及特性;评价算法优劣的方法(时间和空间);(2)简单算法举例;

(3)算法的表示(自然语言、流程图、N-S流程图);(4)结构化程序设计的基本思想及基本步骤。2.重、难点提示

(1)重点: 算法流程图三种基本结构(以后各章学习中利用流程图强化对程序的理解);

(2)难点: 算法概念以及对结构化程序设计思想的理解。第三章 数据类型、运算符与表达式 1.教学内容

(1)基本数据类型及其常量的表示法(字符和字符串常量),各种数制(八、十、十六进制)的整型数和长整型数,实型数(float和double);

(2)变量的类型说明、初始化及引用;(3)运算符与表达式: 2.重、难点提示

(1)重点: 掌握 C的几种基本数据类型,不同类型数据间的混合运算规则;不同运算符的使用特点,清楚每种运算符的优先级与结合性;各种表达式的含义与使用要点。

(1)难点:不同类型数据间的混合运算;运算符的优先级与结合性。第四章 最简单的 C 程序设计 — 顺序程序设计 1.教学内容

(1)C程序结构和语句的构成;

(2)顺序结构程序的设计:赋值语句的使用要点;(3)数据的输入与输出: 2.重、难点提示

(1)重点: 顺序结构程序的表达式语句形式; 输入/输出函数的表示与调用方法; 利用流程图加深对顺序结构程序的理解。

(2)难点: 格式输入与输出表示中各种格式字符的表示含义。

第五章 选择结构程序设计 1.教学内容

(1)关系运算符和关系表达式;(2)逻辑运算符和逻辑表达式;

(3)if语句(if;if„else„;if„else if„else„);(4)switch和break语句。2.重、难点提示

(1)重点:关系、逻辑运算符及其表达式的语法形式;掌握if语句;switch语句; 利用流程图加深对选择结构程序的理解。

(1)难点: 关系与逻辑运算符表达式的结果判定; if语句嵌套的层次判定;程序中使用break语句运行结果的判定。第六章 循环控制 1.教学内容

(1)用goto语句构成循环、for语句、while语句和do„while语句;(2)循环嵌套;

(3)break,continue语句。2.重、难点提示

(1)重点:掌握while语句与do while语句的结构,for语句的结构,其使用方法;常见的循环嵌套形式;正确区分for语句、do„while语句与while语句;break语句和continue的应用及其区别;

(2)难点:分析总结常用的程序设计方法及算法特点,并能编写相应的程序。第七章 数组 1.教学内容

⑴ 数组的含义与存储特点; ⑵ 数组的定义与使用; ⑶ 字符数组。2.重、难点提示

(1)重点:掌握一维数组、二维数组;字符数组与字符串的概念与定义方法,常用的字符串处理函数。

(2)难点:数组下标的起始数问题;利用数组形式进行程序设计的一般方法与典型算法。

第八章 函数 1.教学内容 ⑴ 函数的定义;

⑵ 函数的调用(一般调用、嵌套调用、递归调用),return语句; ⑶ 参数的传递方式:形式参数与实在参数; ⑷ 局部变量与全局变量; ⑸ 变量的动态存储与静态存储; ⑹ 内部函数与外部函数。2.重、难点提示

(1)重点: 掌握函数定义的一般形式;函数的调用的几种形式;函数嵌套调用的一般过程;数组名作为函数的参数的一些特点;局部变量与全局变量的概念及它们的使用特点。

(2)难点:不同的函数参数传递方法在程序中应用的结果判定;利用函数调用方法实现程序设计中涉及的参数定义、参数传递以及返回值问题;函数调用的理解。第九章 预处理命令 1.教学内容

⑴ 预处理的概念与特点; ⑵ 符号常数和宏的定义; ⑶ “文件包含”处理。2.重、难点提示

(1)重点:宏定义的方法;“文件包含”与预处理的应用。(2)难点:宏定义的方法。第十章 指针 1.教学内容

⑴ 指针与地址的概念;

⑵ 指针变量的定义,初始化;指针变量的引用(取地址运算符&及指针运算符*);指针变量作为函数参数的应用;

⑶ 指针与数组(数组的指针和指向数组的指针变量); ⑷ 字符串的指针和指向字符串的指针变量;

⑸ 函数的指针和指向函数的指针变量、返回指针值的指针函数; ⑹ 指针数组和指向指针的指针;

⑺ 对main()函数命令行参数的基本了解。2.重、难点提示

(1)重点:指针变量定义、初始化和引用;数组的指针和指向数组的指针变量;字符串的指针和指向字符串的指针变量;指针数组与指向指针的指针。

(2)难点:指针概念深刻理解;区别指向数组的指针和指针数组;指向指针的指针; 有关指针的数据类型定义和指针的相关运算。第十一章 结构体与共用体 1.教学内容

⑴ 定义结构体类型变量的方法;

⑵ 结构体变量的引用与结构体变量的初始化; ⑶ 结构体数组与指向结构体数据的指针; ⑷ 指向结构体类型数据的指针及用指针处理链表; ⑸ 共用体; ⑹ 枚举类型;

⑺ 用typedef定义类型。2.重、难点提示

(1)重点:掌握结构体类型变量的定义方法;结构体类型变量的引用方法;结构体类型变量如何在定义的同时初始化; 通过图示正确理解链表的概念和形态,共同体的含义、共同体类型变量的定义方法。

(2)难点:结构体与共用体概念的掌握;各种结构体结构的定义。第十二章 位运算 1.教学内容

⑴ 运算符和位运算; ⑵ 位运算举例; ⑶ 位段。2.重、难点提示

(1)重点:掌握各种位运算符,运算规则和优先级。(2)难点:各种位运算符的运算规则和优先级。第十三章 文件 1.教学内容

⑴ 文件类型指针; ⑵ 文件的打开与关闭; ⑶ 文件的读写; ⑷ 文件的定位。2.重、难点提示

(1)重点:掌握文件操作的相关标准函数;(2)难点:文件的读写和定位操作。

七、实验教学内容

实验项目(一):C 语言中控制语句的使用(1)项目类别:必做(2)项目性质:综合性(3)项目主要目的要求:

掌握各类控制语句的书写格式,能在具体问题解决时给出合适的程序控制结构;用分支结构实现程序的条件控制;用循环结构实现程序中重复执行操作的控制。(4)主要仪器:计算机(5)实验考核方法:随堂考查 实验项目(二):C 语言中数组的使用(1)项目类别:必做(2)项目性质:综合性(3)项目主要目的要求:

掌握数组这种构造类型的特点,如何用数组数据对象并对数据对象进行处理;熟练掌握一维数组的定义、引用、初始化,用一维数组来对字符进行处理;掌握二维数组的定义、引用、初始化,用二维数组实现矩阵的有关方法算法。(4)主要仪器:计算机(5)实验考核方法:随堂考查 实验项目(三):C 语言中函数的使用(1)项目类别:必做(2)项目性质:综合性(3)项目主要目的要求:

C语言中用函数来实现子功能模块,掌握系统函数的调用方法及用户自定义函数的定

义、调用方法;用自定义函数来实现一个具体问题;用自定义函数的嵌套调用来实现一个复杂问题。

(4)主要仪器:计算机(5)实验考核方法:随堂考查 实验项目(四):C 语言中指针的使用(1)项目类别:必做(2)项目性质:综合性(3)项目主要目的要求:

掌握指针变量的运用,通过指针引用数组元素的方法,函数指针变量作函数的参数;在程序中进行指针变量的运算操作,指针变量作函数的参数;数组元素的指针。(4)主要仪器:计算机(5)实验考核方法:随堂考查

实验项目(五):C 语言中结构体与链表的使用(1)项目类别:必做(2)项目性质:综合性(3)项目主要目的要求:

掌握结构体类型变量的定义和使用;结构体类型数组的概念和应用;链表的创建与使用;检共用体的概念与使用。(4)主要仪器:计算机(5)实验考核方法:随堂考查

实验项目(六):C 语言中文件的使用(1)项目类别:必做(2)项目性质:综合性(3)项目主要目的要求:

掌握文件以及缓冲文件系统、文件指针的概念;学会使用文件打开、关闭、读、写等文件操作函数;学会用缓冲文件系统对文件进行简单的操作。(4)主要仪器:计算机(5)实验考核方法:随堂考查

八、课程考核方式 1.考核方式:

闭卷考试 2.成绩构成:

平时+期末

九、选用教材和参考书目

[1]《C程序设计》(第三版),谭浩强编,清华大学出版社,2007。

[2]《数据结构—用C语言描述》(第二版),唐策善编,高等教育出版社,2004。[3]《程序设计基础与C语言》(第一版),梁力.郭晓玲.高浩编,西安电子科技大学出版社,2001。

[4]《C语言程序设计》(第二版)刘德恒编,电子工业出版社,2001。

下载《 C 语言程序设计》课程教学目标能力模块(精选5篇)word格式文档
下载《 C 语言程序设计》课程教学目标能力模块(精选5篇).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    c语言程序设计课程教学大纲2012

    《C语言程序设计》课程教学大纲 课程编号: 适用专业:机械制造、数控、焊接 专业责任教学单位:机电工程系 总学时:36学时 考核形式:闭卷 笔试 课程类型:专业基础课 选读方式:必修课......

    C语言程序设计课程教学大纲

    C语言程序设计课程教学大纲 中央电大教务处教学管理科 2007年08月29日 第一部分 大纲说明 1. 课程性质、任务与目的 《C语言程序设计》是中央电大计算机科学与技术专业(专科......

    《C语言程序设计》课程教学的探讨(5篇)

    《C语言程序设计》课程教学的探讨 文/刘在英张丽晓 作者简介:刘在英(1977.-),男,山东人,硕士,副教授,研究方向:图像与大数据处理。 张丽晓(1979.-),女,河北人,博士研究生,讲师,研究方向:数据......

    C语言程序设计

    1. Problem A: Hello world! Description Xiao_ming有两个哥哥,大哥叫Da_min,二哥叫Er_min。三兄弟放学回家,父母分别跟他们打招呼。 Input 无 Output 请输出: Hello Da_min, He......

    C 语言程序设计

    《C 语言程序设计》主要在计算机软件、计算机网络、计算机应用、通信技术、智能电子、电子信息工程、多媒体以及核工程与核技术等专业中开设,是电子信息类、机械类等工科专业......

    C语言程序设计课程作业_A资料

    C语言程序设计课程作业_A 一、单选题 1. (4分)设有以下定义int k=7, x=12;,则能使值为3的表达式是( )     答案 D A. x%=(k%=5) B. x%=(k-k%5) C. x%=k D. (x%=k)-(k%=5......

    《C语言程序设计(实践)》课程教学大纲.

    《C语言程序设计(实践)》课程教学大纲 一、课程的性质和任务 课程性质:《C语言程序设计(实践)》是多媒体技术专业《C后续课程设计课程。 本课程的任务是:通过课程设计,为学生提供......

    《C语言程序设计》A课程考核说明

    中央广播电视大学计算机科学与技术专业 C语言程序设计A课程考核说明(2008) 一、考核说明 《C语言程序设计》课程是全国电大系统计算机科学与技术专业(本科)的一门基础必修课程。......