C语言程序设计教学规划非计算机专业.docx
《C语言程序设计教学规划非计算机专业.docx》由会员分享,可在线阅读,更多相关《C语言程序设计教学规划非计算机专业.docx(13页珍藏版)》请在冰豆网上搜索。
C语言程序设计教学规划非计算机专业
非计算机专业《C语言程序设计》教学规划
本教学规划分六大部分:
一、学时安排和授课范围(第2页)
二、上机安排(第3页)
三、建议不讲的内容(第4页)
四、建议不讲的例题(第5页)
五、各章的教学建议(第6页~第14页)
六、要求学生必须掌握的编程题(第15页~第16页)
说明:
①“三、建议不讲的内容”和“四、建议不讲的例题”是为了保证能将第1章~第9章该讲的内容讲完、讲透。
②考试范围不包含“三、建议不讲的内容”和“四、建议不讲的例题”。
③“六、要求学生必须掌握的编程题”共有35题。
期末考试编程题40分,从这35题中抽取(注:
不是原题,有变化)。
请任课老师在平时授课时督促学生融会贯通,期末考试前不划复习范围。
④期末考试采取统考方式,题型如下:
Ø单选题(每题1分,共30分)
Ø填空题(每空2分,共30分)
Ø编程题(5道题,共40分)
一、学时安排和授课范围
总学时:
64
授课:
44
上机:
20(建议讲完第3章后,才开始上机)
授课范围:
第1章~第9章
章节
建议授课学时数
第1章C语言概述
1
第2章数据类型、运算符与表达式
4
第3章顺序结构程序设计和输入/输出
3
第4章选择结构程序设计
4
第5章循环结构程序设计
7
第6章函数与编译预处理
7
第7章数组
7
第8章指针
7
第9章结构体、共同体和枚举类型
4
合计
44
教材:
《C语言程序设计》主编:
尹业安国防科技大学出版社
《C语言程序设计习题与实验指导》主编:
白燕国防科技大学出版社
二、上机安排
建议讲完第3章后,才开始上机;机房软件为MicrosoftVisualC++6.0
序号
实验项目名称
计划学时
实验性质
操作
验证
综合设计
1
顺序结构程序设计
2
√
2
选择结构程序设计
2
√
3
循环结构程序设计⑴
2
√
4
循环结构程序设计⑵
2
√
5
函数与编译预处理⑴
2
√
6
函数与编译预处理⑵
2
√
7
数组⑴
2
√
8
数组⑵
2
√
9
指针
2
√
10
结构体、共同体和枚举类型
2
√
三、以下小节建议不讲:
2.8位运算符和位运算表达式
6.5编译预处理
P143页7.其他常用的字符和字符串处理函数
7.3.3字符串函数应用举例
8.1.4多级指针
8.2.3指向函数的指针
8.3.2指针与二维数组
8.3.4指针数组与命令行参数
9.3单链表
9.4共同体
9.5枚举类型
9.6用typedef定义类型
关于“6.4.2变量的存储方式”,只要求掌握auto和static
四、以下例题建议不讲:
P28页例3.1(学了后面的内容,就自然而然会了)
P28页例3.2(学了后面的内容,就自然而然会了)
P72页例5.14(不好理解)
P74页例5.15(使用goto语句)
P102页例6.22(不好理解)
P105页例6.23(外部变量extern)
P105页例6.24(外部变量extern)
P126页例7.4(选择排序)
P130页例7.7(插入排序)
P180页例8.21(使用行指针)
说明:
只要求学生掌握一种排序算法:
冒泡排序。
因此,例7.4(选择排序)和例7.7(插入排序)都不讲。
五、各章的教学建议
1、弱化printf和scanf的使用(第3章)
不要理会习题集上的复杂刁钻的输入输出习题
对于“3.3.3格式输出函数printf”,只需掌握以下例子即可:
对于“3.4.2格式输入函数scanf”,只需掌握以下例子和课本P39页⑴~⑹即可
2、修改P60页例5.4的代码(第5章)
代码中使用了break语句,而此时break语句还没学,修改为
3、含有自定义函数的程序结构(第6章)
规范程序结构,养成良好习惯
4、补充二维字符数组中存放字符串的输出例子(第7章)
在P139页“字符串数组的定义和引用”中补充以下例子
说明:
对数组的部分元素赋初值时,未赋初值的元素取0值
课本P124页第4行“当存储类型不是static时,其余没有初始化的数据就不可预测”是错误的。
例如:
inta[10]={1,3,5,7,9};//经此部分初始化后,a[5]~a[9]的值为0
5、将P147页例7.17的代码进一步延伸(第7章)
使函数sum_arr具有通用性
或参见P170页例8.12和P171页例8.13
6、将P148页例7.19的代码进一步延伸(第7章)
熟记:
修改形参数组,实参数组也被同样修改(注意:
与P89页例6.11进行比较)
为什么会这样,要等到学了指针P171页才能讲清楚
7、修改P161页例8.6的代码(第8章)
去掉函数min1的定义和调用,因为对于函数min1,VC会给出警告:
warning:
returningaddressoflocalvariableortemporary
8、修改P171页例8.14的代码(第8章)
将排序方法改为冒泡法(与P127页例7.5和P129页例7.6保持一致,都采用冒泡排序,这里侧重函数和指针的使用)
六、需掌握的编程题(共35题)
考试编程题40分,从这里抽取(注:
不是原题,有变化)
第4章选择结构程序设计(共6题)
习题集:
P22页1、2、3、4、5、6
第5章循环结构程序设计(共9题)
课本:
P69页例5.11
习题集:
P31页1、2、3
习题集:
P32页4、5、7
输入两个正整数m和n,求其最大公约数和最小公倍数(提示:
设m和n的较小值为x,则最大公约数的范围在x到1之间,用while循环完成)
输入一行字符,分别统计其中英文字母、空格、数字和其他字符的个数(参考课本:
P60页例5.4完成)
第6章函数与编译预处理(共6题)
课本:
P85页例6.8(此题在第5章已讲过,此处着重函数的使用)
课本:
P89页例6.11(掌握参数的传递是单向的)
习题集:
P46页1(此题在第5章已做过,此处要求用函数完成)
习题集:
P47页4、7、10
第7章数组(共7题)
课本:
P125页例7.3(略作修改:
求一维数组中最小值及其下标)
课本:
P136页例7.9
习题集:
P55页3
习题集:
P56页4、9(第9题要求使用冒泡法排序,参考课本:
P129页例7.6)
求5行5列二维整型数组中,下三角元素之和
编程求字符串的长度(要求不使用函数strlen),将以下代码补充完整
第8章指针(共6题)
课本:
P159页例8.4(注意:
与P89页例6.11进行比较)
在主函数中输入三个整数,调用自定义函数max,函数首部如下,求三个整数中的最大值,在主函数中输出最大值(参考P161页例8.6完成)
int*max(int*p1,int*p2,int*p3)
课本:
P167页例8.9
课本:
P171页例8.14(冒泡法排序在P129页例7.6已讲过,此处着重函数与指针的使用)
习题集:
P75页2(要求不使用系统函数strcat)、4
第9章结构体、共同体和枚举类型(共1题)
习题集:
P82页2