哈工大轻松C语言
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
语言
习C
从应
变应试为应用
语言
试课
以培养能力和
变成
程转
提高兴趣为目标
一件
变为 实践
以语法和结构为核心
很快 乐的
工具 以程序设计方法为主线
事情
以应用为背景 4
教材简介
5
教材简介
• 国内55所院校使用
6
新版增加的内容
• 强化知识点、算法、编程方法与技巧
– 【编程提示】
• 每章小结中增加常见错误的总结
• 但没有任何语言能防止我们犯错误,每个为预防某些问 题而设置的语言特征都会带给它自身额外的代价
• 作为程序员应知道所用语言中有潜在危险和引起错误倾 向的那些语言特征
– 如goto语句,全局变量,无限制的指针,自动类型转换
18
学习方法
• 学会基本的排错方法
–利用调试工具
• 单步运行,逐条语句跟踪
–粗分细找
31
C语言编程题考试自动评分系统简介
• 注意事项 • 编程题
– 独立编写程序的能力 – 相当于英语中的作文 – 看清题目要求 – 灵活掌握,理解原理,不要死记硬背 – 万变不离其中
32
感谢同学们对我们工作的支持!预祝 同学们考试取得优异的成绩!
SuXiaoHong
33
四级过滤
有语法错误 也能评分
采分点语句 匹配
教师 手工核26对
C语言编程题考试自动评分系统简介
方法可以用于作弊检测
27
C语言编程题考试自动评分系统简介
• 注意事项
• 使用规范的编程方法,不要滥用技巧—— 聪明反被聪明误
• 参考新版学习指导中的习题解答
– KISS (Keep It Simple Software)
14
学习方法
• 学会基本的排错方法
–改错很像侦破案件,有坏事发生了,而仅有的信息 是它的确发生了。
–必须从结果出发,逆向思考 –教会?学会?练会? –只可“练”会,不可言传 – 学以致用 → 用以致学
–改错的第一步是找出错误的根源,然后对症下药 –寻找错误根源的过程,称为调试
15
学习方法
• 学会基本的排错方法
• 语法 • 重视error,同样重视warning
–运行时错误比较隐蔽
• 逻辑、语义 • 如除0错,死循环,未初始化,下标越界,内存泄露,野
指针…
17
学习方法
• 在程序设计语言的发展中,一个重要的努力方向就是想 通过语言特征的设计帮助避免错误
– 如下标范围检查,受限制的指针甚至完全取消指针,内存回收, 强类型检查
• 学生设计的优秀案例(游戏程序)分析 • 常见错误案例分析
• 欢迎大家指出错误,提出修改建议!
7
教材简介
• 配套外版翻译教材
– C大学教程(第5版) – C How to program, Fifth Edition – P. J. Deitel, H.M. Deitel等 编著 – 苏小红等 翻译
• 世界上最好的调试工具是那些有经验的人 • 定位大致的范围:归纳、推理、二分、排除
19
学习方法
• 学会基本的排错方法
–粗分细找
–采用注释的办法切掉一些代码
• 减少有关的代码区域,调试无误后再将它们打开注 释,即采用分而治之的策略将问题局部化
–插入打印语句
• 观看屏幕输出结果
–缩减输入数据
• 设法找到能导致失败的最小输入
• printf(“%6.2f\n”,sum);
30
C语言编程题考试自动评分系统简介
• 注意事项 • 程序填空题
– 阅读和编写程序的能力 – 相当于英语中的完形填空
• 程序改错题
– 调试错误程序的能力 – 笔试语法错误居多,机试运行时错误居多 – 每章后面的常见错误小结 – 学习指导中的错误案例分析
猜对: right并提示大小 猜错:wrong
12
学习方法
猜多个数 10次猜不对就 猜下一个数
最多猜10次 直到猜对为止 只猜1次
13
学习方法
• 学会基本的排错方法
–改错是个大悲大喜的过程,一天之内可以让人在 悲伤的低谷和喜悦的巅峰之间跌宕起伏。
–如果改过了成千上万个错误,…… –别人嚼过的馍不香
–难点: –症状和根源可能相隔很远
• 有人问阿凡提:“我肚子疼,该用什么药?”
–症状可能在另一个错误被纠正后暂时消失 –症状并不是某个程序错误引发的,如误差累积 –症状可能时隐时现,如“内存泄露” –很难产生完全一样的输入条件,难以恢复“错误的
现场”
16
学习方法
• 学会基本的排错方法
–编译错误不可怕
案完全一致
减少对记忆内容的考核,增加对应用能力的考核
24
C语言编程题考试自动评分系统简介
机上考试 自动评分
根据程序的结构 和语义,衡量实 现编程任务的正 确程度,更加符 合人工阅卷结果
将上机实验和考试有机结合,能真正测试能力
25
C语言编程题考试自动评分系统简介
程序运行 结果测试
程序结构 和语义分析
读程序 写程序
10
学习方法
• 实践,实践,再实践
– 好问 → 善问
– 提出问题时,必须先给出对问题的思考
– 老师领进门,出徒在个人
– 学习中的循环程序
读程序
学生自学20%
写程序
教师上课教 20%
独立思考5%
教师答疑5%
上机编程实验50%
11
学习方法
循序渐进式编程方法——如猜数游戏
想一个1~100 之间的数
不断升级,无纸考试
传统的单一闭 小班机考 全校机考
卷笔试
试点三次 试点四次 22
C语言编程题考试自动评分系统简介
现有的其他系 统只能对客观 题型自动评分
机上考试
机上考试
自动评分 人工阅卷
减少对记忆内容的考核,增加对应用能力的考核
23
C语言编程题考试自动评分系统简介
机上考试 ACM自动评分
有语法错误不能评 分,不考察程序结构 和语义,仅凭运行结 果,要求程序输出结 果(文本)与标准答
– 附加的改错题不要改变原来数据输入输出格式及 提示信息
• 拷贝粘贴是最安全的方法
29
C语言编程题考试自动评分系统简介
• 注意事项 • 单项选择题
– 基本概念 – 看清题目要求
• 以下不能对二维数组a进行正确初始化Fra Baidu bibliotek语句是
• 写出程序运行结果题
– 阅读程序能力 – 相当于英语中的阅读理解 – 不要忽略输出数据的格式(提示信息,换行等)
8
配套的教辅资源
教材 课程管理 网络教学
教材网站
http://book.sunner.cn
课程管理网站
http://cms.hit.edu.cn/elite
在线教学网站
http://cms.hit.edu.cn
面向读者
面向教师
面向学生
9
学习方法
• 实践,实践,再实践
– 卖油翁的故事,熟能生巧
课外作业练习 课内实验练兵 机上考试实战 创新实践提高 循序渐进编程
报告人 计算机科学与技术学院
教授,博士生导师 苏小红
sxh@hit.edu.cn
1
主要内容
• 教材简介 • 学习方法 • 机考系统简介
2
存在 问题
教材简介
只以讲述语法为主,应试教育
程序实例缺乏趣味性和实用性
理论和实践相脱节 重视“记忆”能力的考核 忽视“动手”能力的考核
3
把C
教学理念的更新
把学
验证 魔方 矩阵
20
教辅 系统
C语言编程题考试 自动评分系统简介
C语言编程题考试 自动评分系统
软件著作 权专利
C语言教学 题库与组卷系统
软件著作
权专利
21
C语言编程题考试自动评分系统简介
90
80 70
纸上谈兵
60
50 笔试
平时
40
机考
30
机上实战
20
10 0 04前 04~05 06年 07~08 09~10 未来
• Correct is better than fast
• Simple is better than complex
• Clear is better than cute
• Safe is better than insecure
• Short is better than long
• Flat is better than deep
28
C语言编程题考试自动评分系统简介
• 注意事项
• 要求程序输出结果(文本)与答案完全一致
– 包括提示信息的内容及格式和位置,以及格式字 符(空格和换行符)的位置和数量
– 严格按照题目要求的输入输出格式编写scanf 和 printf 语句
• 输出格式必须为"x = %d\n"
• 输入提示信息为"Input a,b,c:\n"