2013年秋c语言复习纲要
“C语言程序设计”课程复习纲要
2013年12月
一、考试范围
教材:朱鸣华、刘旭麟和杨薇等编著.C语言程序设计教程(第2版).机械工业出版社范围:第1章至第8章
复习要点:教材上的例题、习题
注意:会对教材上的题目做改动、选项也可能被调整,请不要死背答案!!
二、考试题型(每年可能会有少量的变化,下面是2012年的,2013年的迟点确定后再上
传到公邮)
1、分类:(1)客观题(60%),需要涂答题卡,请通知学生带2B铅笔。
(2)主观题(40%):填空题、编写程序题
2、题型及分数分布
(1)判断题(20分,20小题,每小题1分)
(2)单选题(40分,20小题,每小题2分)
(3)阅读程序填空题(20分,20空,每空1分)
(4)编写程序题(20分,第1、2小题各5分,第3小题10分)
注意:第3小题要求画流程图,编写函数
三、根据往年的经验,各章的复习纲要如下。但要注意的是,下面的纲要谨供参考,不能作为考试复习的范围,因考试是统考,考试范围不完全在这纲要中。
第1章C语言概述
1. C语言特点(P2)
2. C语言程序的组成与结构(P3-4)
3. 源程序文件、目标文件、可执行文件的后缀分别是什么(P5)
第2章算法与程序设计基础
1. 了解关于设计的著名公式:程序=算法+数据结构(P7)
2. 掌握结构化程序设计的三种基本结构(P9)
3. 掌握流程图及N-S流程图(P9)。注意用尺子画图,不要徒手画,否则可能被扣分。
4. 熟悉结构化程序设计方法(P12)
第3章数据类型、运算符与表达式
1. 标识符的命名规则(P14)
2. 常量与变量的区别(P15,中间偏上)
3. 变量的定义、赋值与使用规则(P15,最后一句)
4. “int i=j=k=0”是错误的(P16)
5. 了解整型常量(P18)
6. 了解实型常量(P19)
7. 理解掌握字符与字符串常量的区别(P20 & P22)
8. 理解运用转义字符(P20)
9. 理解掌握优先级与结合性(P23)
10. 理解数据类型转换(P26)
11. 自增运算和自减运算(P27)
第4章数据的输入和输出
1. 掌握整型的d格式符、实型的f和e格式符、c格式符、s格式符,掌握左或右对齐,掌握数据宽度的确定(P34-36),o、x、g格式符不作要求;
2. 掌握scanf函数中第二类参数为地址列表,而不是变量的列表;(P37)
3. 掌握scanf函数第一类参数——格式控制字符串与键盘输入之间的关系;(P38-39)
4. printf和scanf函数是在stdio.h中声明的,因此需要#include
第5章选择结构
1. 运算结果:0表示假,1表示真;(P45)
2. 关系运算符的优先级区分;(P45)
3. 编写程序时,要特别留意“=”与“==”的区别,极容易出错!(P45)
4. 熟悉逻辑运算符的优先级区分,不需要记住优先级,但要知道分属于不同优先级,且知道优先级的次序;(P46)
5. 逻辑表达式中,只要能确定表达式的值,就不再往下继续执行下一运算符,因此并不是所有运算符都需要执行的;(P47)
6. if语句后面的表达式,可以是:关系表达式、逻辑表达式、算术表达式;(P47最下面)
7. if语句中,若有多条语句,需用花括号括起来,这个要切记;(P48)
8. 理解if-else嵌套时的配对规则;(P48)
9. switch语句中,switch或case后面的表达式的值,只能是字符或整型,不能是其它类型。Case后面的常量表达式只起语句标号的作用,不进行条件判断;(P50)
10. 理解运用条件运算符。(P51)
第6章循环结构
1. while与do-while的特点及区别;(P59 & P61)
2. 循环结束条件;(P59)
3. 当循环次数能明确确定时,常用for循环,但这并不意味着for只能用于循环次数确凿的情形;(参见ppt中关于while、do-while和for的比较)
4. 理解循环嵌套的执行流程;(P66 & PPT相关内容)
5. 理解break语句和continue语句的区别与使用场合;(P66-67)
6. 理解课后的选择题、完善程序题、阅读程序题。(P73-77)
第7章数组
1. 数组的定义与引用的区别,尤其注意数组引用时的下标是从0开始的;(P78-79)
2. 若数组没有进行初始化,则其各元素值是随机的;若进行部分初始化,则没有给出初始化值的元素,其值也缺省地初始化为0;(P80)
3. 掌握冒泡法,理解选择法;(P81,选择发参考PPT)
4. 理解二维数组“按行优先原则存放”的特点,据此理解它的初始化;(P82-83)
5. 掌握字符串的长度与字符串在内存中所占内存空间大小之间的关系,理解字符串在内存中存放时最后都会加终止符‘\0’;(P87-88)
6. 用s格式符实现字符串的输入和输出,理解scanf函数的s格式符与gets函数的区别;
(P88-89)
7. 理解运用常见的字符串函数,尤其注意字符串的拷贝及比较;(P89-91)
8. 理解各课后习题。(P93-97)
第8章函数
1. 理解函数在结构化程序设计中的意义及作用;(P99)
2. 理解运用函数的定义与调用;(P99-102)
3. 函数参数的传递方式:值传递和地址传递;(P102-103)
4. 理解函数返回值的作用,熟悉return的不同用法;(P103-104)
5. 熟悉函数的声明;(P105)
6. 掌握数组名作为函数参数的用法;(P106-109)
7. 函数可以嵌套调用,但不能嵌套定义!理解函数的嵌套调用过程;(P110)
8. 了解局部和全局变量的作用域,熟悉全局变量在函数间传递多个参数的作用(P115-117)
9. 了解变量的4种存储方法;(P117)
10. 掌握宏定义,理解宏定义与变量的关系;(P121)
11. 掌握带参数宏的定义与使用,尤其要注意带参数宏定义时,任意参数要加上圆括号,以避免运算顺序的错乱。这个知识点非常容易出错,要多加小心,可以做做课后相关的习题;(P122-123)
12. 了解文件包含的含义,清楚文件包含可以嵌套;(P123)
13. 理解课后习题(P130-135)
四、考试中的一些技巧和注意事项
1. 对于判断题,若无法确定是否对,根据自己编写程序的经验或者掌握的知识点来推断说法是否正确;
2. 对于阅读程序题,结合画草图来理解各个变量的变化。如果是循环的题目,最好自己按照程序计算2-3重循环,从中知道程序的运行特点,从而得到答案。在与循环结合时,尤其要注意循环结束的临界条件,最容易出错的也是这临界条件;
3. 对于填空题,首先理解题意;然后阅读给出的部分题意,抓住题给程序的特点;最后把缺失的空补充完整。在补充完整后,再自己根据所补充的内容,完整地执行一遍,看结果是否符合题目要求。这一步很关键,是发现所填程序是否有问题的必要方法;
4. 对于编写程序题,要非常注意语法不错。若无思路,可以先画流程图草稿,然后再根据该流程图来编写程序;
5. 画流程图一定要用尺子画,否则可能会被扣分。