C语言程序设计教学规划非计算机专业.docx
《C语言程序设计教学规划非计算机专业.docx》由会员分享,可在线阅读,更多相关《C语言程序设计教学规划非计算机专业.docx(15页珍藏版)》请在冰点文库上搜索。
C语言程序设计教学规划非计算机专业
非计算机专业《C语言程序设计》教学规划
本教学规划分六大部分:
一、学时安排和授课范围(第2页)
二、上机安排(第3页)
三、建议不讲的内容(第4页)
四、建议不讲的例题(第5页)
五、各章的教学建议(第6页~第15页)
六、要求学生必须掌握的编程题(第16页~第17页)
说明:
①“三、建议不讲的内容”和“四、建议不讲的例题”是为了保证能将第1章~第9章该讲的内容讲完、讲透。
②考试范围不包含“三、建议不讲的内容”和“四、建议不讲的例题”。
③“六、要求学生必须掌握的编程题”共有36题。
期末考试编程题40分,从这36题中抽取(注:
不是原题,有变化)。
请任课老师在平时授课时督促学生融会贯通,期末考试前不划复习范围。
一、学时安排和授课范围
总学时:
60
授课:
40
上机:
20(建议讲完第3章后,才开始上机)
授课范围:
第1章~第9章
章节
建议授课学时数
第1章C语言概述
1
第2章数据类型、运算符与表达式
4
第3章顺序结构程序设计和输入/输出
3
第4章选择结构程序设计
4
第5章循环结构程序设计
5
第6章函数与编译预处理
6
第7章数组
7
第8章指针
7
第9章结构体、共同体和枚举类型
7
合计
44
参考教材:
《C语言程序设计》主编:
尹业安国防科技大学出版社
《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编译预处理
8.1.4多级指针
8.2.3指向函数的指针
8.3.2指针与二维数组
9.4共同体
9.6用typedef定义类型
关于“6.4.2变量的存储方式”,只要求掌握auto和static
关于“8.3.4指针数组与命令行参数”,只要求掌握指针数组
四、以下例题建议不讲:
P28页例3.1(学了后面的内容,就自然而然会了)
P28页例3.2(学了后面的内容,就自然而然会了)
P72页例5.14(不好理解)
P74页例5.15(使用goto语句)
P126页例7.4(选择排序)
P130页例7.7(插入排序)
P180页例8.21(使用行指针)
P182页例8.22(使用二级指针)
P184页例8.23(使用二级指针)
说明:
只要求学生掌握一种排序算法:
冒泡排序。
因此,例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保持一致,都采用冒泡排序,这里侧重函数和指针的使用)
9、补充指针数组中存放字符串首地址的例子(第8章)
在P182页“指针数组”中补充以下例子
注意:
与本文档第9页例子进行比较
六、需掌握的编程题(共36题)
考试编程题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章结构体、共同体和枚举类型(共2题)
习题集:
P82页2
课本:
P209页例9.9