0 特别注意
(1)正修考试题型:程序设计、程序改错与填空、单项选择、画流程图、程序跟踪调试、程序优化。
重修考试题型:程序设计、程序改错与填空、单项选择。
* 重修特指往届学生,降级进入正修班的学生属正修。
* 题型分值分布请阅读本说明之“3 考试试题组成”。
(2)考试为半开卷,其与完全闭卷不同的是考试时允许使用C语言的联机帮助,可以访问http://jszx.cuit.edu.cn上的文章和资源(带△或▲标记的除外,系统会自动禁用),建议学生提前熟悉这些电子资源。
(3)请检查自己在系统中所选择的C编译器是否合适,是否与调试程序所使用的编译器相同,二者不匹配时会造成意外失分——这也是同一程序由不同的学生上传到系统后得分不一样的原因:他们在系统中所选择的C编译器不同。
1 课程成绩计算方法
(1)期末考试的课程成绩=平时成绩(100分制)×0.3+考试成绩(100分制)×0.7,课程成绩未达到60分的需要补考。
(2)程序设计题的重点是考核程序设计算法、编程规范两个方面,其每小题的计分办法为:程序设计算法得分×编程规范系数。
(3)期末考试结束后一周内,课程成绩将报教务处,请及时访问教务处网站查看自己的课程成绩及是否需要补考。
2 考试环境
(1)考试在机房上机完成,总时间170分钟,计算机自动阅卷+人工阅卷。
(2)考试为半开卷,其与完全闭卷不同的是考试时允许使用C语言的联机帮助,可以访问http://jszx.cuit.edu.cn上的文章和资源(带△或▲标记的除外,系统会自动禁用),建议学生提前熟悉这些电子资源。
(3)自动阅卷系统的C语言编译器支持考生从Microsoft VC 6.0、Turbo C、GCC V3.4.5中自行选择,考试时请检查自己所选择的C语言编译器是否合适。
(4)考试时,系统将对程序设计题、程序改错与填空题进行自动评阅——考生提交程序后,系统将很快评分,给出得分率和编程规范的检查结果(指明哪一行、什么原因不符合规范及相应的纠正指南)。
3 考试试题组成
3.0 考试题型及分值分布
(1)正修考试题型:程序设计67分(7小题,其中最后一题为系统给3题、考生选做1题以上、计得分最高的1题)、程序改错与填空8分(2小题)、单项选择10分(10小题)、根据程序代码画流程图5分(1小题)、程序跟踪调试5分(1小题)、程序优化5分(1小题)。
重修考试题型:程序设计82分(8小题,其中最后一题为系统给2题、考生选做1题以上、计得分最高的1题)、程序改错与填空8分(2小题)、单项选择10分(10小题)。
* 重修特指往届学生,降级进入正修班的学生属正修。
3.1 单项选择
重点考查对概念、术语、规范、计算思维、程序设计思想等的理解与掌握,复习时可参考作业“20161学期《C语言程序设计》平时自主学习”中的单项选择、判断、多项选择练习题(登录计算中心作业与考试系统即可查看)。必须说明的是,尽管考试形式上是单项选择,但判断和多项选择中的知识是单项选择题的重要来源、很容易改编成单项选择,而且这些练习试题能帮助学生提出思考的问题、增进对C语言程序设计知识点和编程的理解,也有助于程序设计之理论基础夯实、思路清晰正确。
作业中的每道单选、多选、判断题做完并保存答题后,系统将显示参考答案,以帮助自学。必须强调的是,应当先认真做题,然后比较正确答案,发现自己的问题并认真思考原因,绝不能胡乱做完后直接一睹答案为快,这样对自己的学习没有帮助。同时,系统提供只显示做错的题和错题本功能,支持重做错题本中的试题,以帮助学习、巩固。
3.2 程序设计
程序设计算法得分=本题满分值×正确率。正确率由考试系统自动评阅,其评价标准为:编译无警告通过并且运行结果基本正确,边界条件未处理好则酌情扣分——即评分时只看程序的运行结果是否正确,原则上不检查程序算法内容。程序无法编译链接或编译时有警告提示,肯定没有成绩。
编程题的来源为:一部分新题、题库中适当改一部分题、抽一部分原题,没有题库中试题分几类、每类抽几题的说法。系统将科学组卷,不同难易程度、不同知识点的试题会均衡搭配。
编程题的知识点与难度分配举例:
知识点与难度 大致分值 试题举例
----------------------------------------------------------------------------
(1)基本输入/输出、运算与格式控制 4±1 122, 133, 711, 722
(2)选择结构、命令行 7±1 111, 116, 137, 737, 754, 828
(3)一重循环、一维数组 8±1 225, 258, 261, 269, 274
(4)二重循环、二维数组 10±1 211, 216, 234
(5)基本函数设计 11±1 245, 780, 821, 823
(6)函数、指针综合 12±1 797, 832
(7)文件访问 13±2 317, 319, 322, 325, 340
(8)结构体相关 13±3 763
(9)排序 15±1 719
请注意:考题都会对输入/输出格式作明确要求,答题时须严格遵循题中的规定,建议尽可能使用题中给出的编程素材,以避免不必要的失分甚至得0分。
3.3 编程规范
编程规范系数取值默认为1。编程规范由考试系统自动评阅,针对每一个程序进行:若出现3个以上(含3个)的地方不符合编程规范,则该程序的编程规范系数取值0(相当于该程序的最后成绩计为0分)。对于重修课程的考生,本次考试不评价其编程规范是否符合要求。
编程规范主要要求为:
(1)严格采用阶梯层次组织程序代码,统一使用TAB缩进。
(2)一行只写一条语句。
(3)if、for、do、while、case、switch、default等语句自占一行,且if、for、do、while等语句的执行语句部分无论多少都要加花括号{}。
switch 语句应当有default 分支,if语句的判断条件内不要进行赋值操作。
(4)程序块内的变量应在程序块开始处集中说明且说明之后必须加空行。除用作循环变量的i,j,k外,其它变量的名称最好与其用途有关、不能太简单。
(5)关于空格的使用规定。
(6)程序各部分的放置顺序及各部分间的空行。
(7)关于函数声明的要求:main函数应定义返回值类型、用户自定义函数应在main函数前声明其函数原型。
编程规范的详细要求请阅读《成都信息工程大学非计算机专业C语言初学者编程规范(学生用)》。
3.4 程序改错与填空
复习时可参考作业“20161学期《C语言程序设计》平时自主学习”中的相关试题,重点考查编译/连接问题、基本概念和相关知识点,尽量避免较复杂的算法考查。
3.5 画流程图
复习时可参考作业“20161学期《C语言程序设计》平时自主学习”中的相关试题,重点是对程序逻辑的理解,考题难度与15017.rap相当。
3.6 程序跟踪调试
复习时可参考作业“20161学期《C语言程序设计》平时自主学习”中的相关试题,重点考查单步执行、跟进用户自定义函数、断点设置/运行到断点处/运行到光标处、观察变量值的变化是否符合设计预期、执行顺序是否符合设计预期,考题难度与D13456.C相当——请注意,考试时本题不提供标注对错服务。
3.7 程序优化
复习时可参考作业“20161学期《C语言程序设计》平时自主学习”中的相关试题,主要是运行时间的优化,少量涉及程序可维护性能的优化。考题主要涉及以下知识点:
(1)更快的库函数,乘法比除法快、移位比特定除法更快、自增/自减更优、乘法比幂运算快。
(2)合并多个连续的scanf或printf函数以减少调用开销。
(3)消除过于简单的函数,降低开销。
(4)消除不必要的、无用的语句。
(5)多个if合并为if/else结构比较次数、增强逻辑、增强可维护性。
(6)将次数恒定的小规模循环改为顺序结构。
(7)将恒定结果的循环条件计算移出到循环之前,减少循环体内的计算量(尽量在循环之前计算)。
(8)消除循环体内的恒定的与循环变化无关的判断。
(9)循环中的算法优化,减少不必要的计算、不必要的比较和计算浪费,尽可能消除比较。
(10)将最忙的循环放在最内层。
(11)使用经典的更优的算法,算法优化与字符-数组下标变换、数字字符与数值变换、查表变换。
4.有关建议
(1)要多上机、进系统练习,要领会和适应考试系统的评分规则,避免因输入/输出格式而无谓的失分。
(2)多看看C语言学习的专栏文章:点击此处进入,应该对你有较大帮助。
|