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

上传人:b****7 文档编号:9029112 上传时间:2023-02-02 格式:DOCX 页数:19 大小:22.57KB
下载 相关 举报
《C语言程序设计》课程项目教学技能目标.docx_第1页
第1页 / 共19页
《C语言程序设计》课程项目教学技能目标.docx_第2页
第2页 / 共19页
《C语言程序设计》课程项目教学技能目标.docx_第3页
第3页 / 共19页
《C语言程序设计》课程项目教学技能目标.docx_第4页
第4页 / 共19页
《C语言程序设计》课程项目教学技能目标.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

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

《《C语言程序设计》课程项目教学技能目标.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计》课程项目教学技能目标.docx(19页珍藏版)》请在冰豆网上搜索。

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

《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、使用格式化输出语句(printf语句)以不同格式输出C语言中的整型常(变)量。

要求:

(1)熟悉无(带)符号十进制、无符号八进制和无符号十六进制输出结果形式。

(2)各种附加格式说明符的使用。

17、使用格式化输出语句(printf语句)以不同格式输出C语言中的实型常(变)量。

要求:

(1)熟悉e(E)、g和f格式输出的结果形式。

(2)各种附加格式说明符的使用。

18、练习各种转义字符的输出,熟悉其输出或控制效果。

19、使用printf语句输出C语言中的字符型常(变)量。

20、使用printf语句输出C语言中的字符串。

21、使用scanf语句实现各种类型数据的输入。

要求:

(1)输入格式控制字符串的书写与表示。

(2)程序运行时各种数据输入方式的练习。

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

例:

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

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

例:

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

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

例:

使用printf语句和scanf语句,从键盘输入某个学生的学号、姓名、性别、年龄和某门课程的成绩,并在屏幕上输出。

25、使用getchar函数实现单个字符的输入,并与printf函数比较。

26、使用putchar函数实现单个字符的输出,并与printf函数比较。

27、使用gets函数实现字符串的输入,并与printf函数比较。

28、使用puts函数实现字符串的输出,并与printf函数比较。

29、使用数学函数表示给定的数学式子。

要求分别练习以下函数:

(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、阅读并运行由if—else语句构成的多分支选择结构程序,分析选择结构程序的执行过程。

11、阅读并运行switch语句构成的多分支选择结构程序,分析选择结构程序的执行过程。

12、分析switch语句中break语句的作用。

13、阅读并运行嵌套的选择结构程序,分析选择结构程序的执行过程。

14、阅读并运行由while语句构成的循环,分析循环结构程序的执行过程。

15、阅读由while语句构成的循环,分析空语句的作用。

16、阅读并运行由do-while语句构成的循环,分析循环结构程序的执行过程。

17、阅读并运行由for语句构成的循环,分析循环结构程序的执行过程。

18、分析计数式循环的循环控制。

19、分析标记式循环的循环控制。

20、阅读并运行由三种循环语句构成的嵌套结构循环程序,分析循环结构程序的执行过程。

21、分析break语句在循环体中的作用。

22、分析continue语句在循环体中的作用。

23、循环次数的确定。

24、练习文件指针的定义。

25、使用fopen函数打开文件。

26、使用fscanf函数实现文件的读操作。

27、使用fprintf函数实现文件的写操作。

28、使用fclose函数关闭文件。

29、使用feof函数判断文件是否结束。

30、使用结束符判断文件是否结束。

31、阅读简单的文件操作程序,分析程序的功能。

32、阅读并运行自定义无参函数,分析程序的执行过程。

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

要求:

是一些逻辑错误,如判断水仙花数时,将“==”号输成“=”号等。

第二层次

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、在编写循环结构程序中应用break语句。

46、在编写循环结构程序中应用continue语句。

47、编写求多个数累加和算法程序。

48、编写求累乘积算法程序。

49、编写求累加和和累乘积算法程序。

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、阅读并运行用extern关键字定义的全局变量程序,分析程序的执行过程。

11、阅读并运行包含局部变量、全局变量的程序。

12、阅读并运行包含同名的局部变量和全局变量的程序。

13、阅读并运行简单宏定义及其调用程序。

14、阅读并运行带参宏定义及其调用程序。

15、阅读并运行多源程序文件程序,分析执行过程。

第二层次

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、利用指针,应用双重for循环实现二维数组的输入输出。

25、利用指针,应用二维数组求某(所有)行元素的最大(小)值。

26、利用指针,应用二维数组求某(所有)列元素的最大(小)值。

27、利用指针,应用二维数组求某(所有)行元素的和(平均)值。

28、利用指针,应用二维数组求某(所有)列元素的和(平均)值。

29、应用行指针引用二维数组元素做多种处理。

30、应用指针数组引用二维数组元素做多种处理。

31、对指定位置元素的操作(简单元素定位问题)。

32、使用一维字符数组存储、输入、输出字符串。

例:

一个人的姓名存储、输入及输出。

33、区分用一维字符数组存储字符串时,数组的大小和字符串的长度。

34、应用标准输入输出函数实现字符串的输入和输出。

35、应用字符串处理函数操作字符数组,包括strcpy、strcmp、strlen、strcat等。

36、阅读并运行指向一维数组的指针变量作函数参数的程序,分析程序的执行过程。

37、阅读并运行行指针变量作为形参指向二维数组的程序,分析程序的执行过程。

38、练习指针函数的定义。

39、阅读并运行指针数组作指针型函数参数的程序,分析程序的执行过程。

40、练习指向函数的指针的定义和赋值。

41、阅读并运行指向函数的指针作函数参数的程序,分析程序的执行过程。

42、阅读并运行指针数组名作函数参数的程序,分析程序的执行过程。

43、阅读并运行指向字符串的指针作函数参数的程序,分析程序的执行过程。

44、使用fgetc函数实现文件的读字符操作。

45、使用fputc函数实现文件的写字符操作。

46、使用fgets函数实现文件的读字符串操作。

47、使用fputs函数实现文件的写字符操作。

48、使用rewind函数实现文件指针的定位操作。

49、使用ftell函数获取文件指针的当前位置。

50、使用fseek函数实现文件指针的定位操作。

51、使用fread函数实现文件的读操作。

52、使用fwrite函数实现文件的写操作。

53、练习动态存储分配函数,包括malloc和calloc函数。

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、练习使用typedef定义数据类型。

25、分析结构体变量所占字节数。

26、分析共用体变量所占字节数。

27、分析结构体变量作为实参时,对应的形参和实参间数据的传递。

28、分析返回值为结构体类型的函数。

29、分析共用体类型变量的值。

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

第二层次

31、编程用尾插法实现链表的建立。

32、编程用头插法实现链表的建立。

33、编程输出链表中的结点。

34、编程统计链表的结点个数。

35、编程查找链表中某个结点。

36、编程实现链表的插入。

37、编程实现链表的删除。

38、应用指向结构体变量的指针作为参数,编写自定义函数。

39、编写有关结构体和文件的程序。

例:

建立一个班级的人员情况表,其数据项应包括学号、姓名、百分制记分的3门课程

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1