2016年秋季学期计算机专业 《C程序设计》课程期末复习提纲
***同学们要会做本提纲和作业中的题目***
一、复习方法指导和总体要求
本次命题,重在考核C语言基本语法和程序设计; 请重点复习各章要求的基本知识点。
二、参考资料
教材:谭浩强,C程序设计(第四版),清华大学出版社
参考书:谭浩强,C程序设计题解与上机指导(第四版), 清华大学出版社 多媒体课件中使用的教材:谭浩强,C程序设计(第三版), 清华大学出版社
注:本学期开始,教材采用《C程序设计》的第四版本的新教材,结构方面与原有教材变化不大,主要是将第三版教材中的第三章与第四章进行了合并,各章节内容有所填充和丰富,但知识框架和主要知识点无太多变化。多媒体课件中使用的仍是第三版教材,不会对同学们的学习造成影响。重修等学习第三版教材的同学也可继续进行学习,无需更换教材。
本课程多媒体课件采用新版课件,知识点介绍更为详细,有助于更好地学习。
多媒体课件中使用的教材是谭浩强,C程序设计(第四版),清华版。多媒体课件中讲授了第一、三、四、五、六、七、八、九章的内容,其余部分不在本课程要求范围之内,请有兴趣的同学自行学习。
注:学习及复习时请以PPT课件及教材为主要学习资料,PPT课件中精炼了本课程所有重要的知识点,并配以例题,有助于同学们学习理解。多媒体视频教学主要以PPT课件为讲课依据,如果学习中遇到难懂知识点,可参考多媒体视频教学中针对难点重点的详细讲解。PPT课件可从论坛C语言板块置顶区下载。
三、试卷结构
1. 填空题(每小题2分,共20分)
2. 单项选择题(每小题2分,共20分) 3. 判断题(每小题2分,共20分)
4. 计算下面 C 表达式的值 ( 每小题5分 共10分 )
5. 写出表示下列条件成立的一个C语言表达式. (每小题5分 共10分) 6. 程序阅读题( 每小题5分 共10分 ) 7. 程序填空题( 每空2分 共10分 )
四、各章节知识点
第 1 页 共 6 页
教学范围为第一至第十一章(第二章不讲),考试范围为第一至第九章,其中第二章不做考察(考虑到部分同学缺乏实验基础)。其余章节同学们可自行学习。
以下是各章的基本内容。
第一章 程序设计和C语言
1. C 语言的特点
2. 简单的 C 程序介绍 3. C 程序的上机步骤
第三章 最简单的C程序设计——顺序程序设计 1. C 的数据类型: (1) 基本数据类型。
(2) 用户定义的数据类型。 2. 常量和变量:
(1) 符号常量与一般常量。
(2) 变量的定义和赋值。 (整型、浮点型和字符型数据) 3. 各类型数据的混合运算。 4. 运算符与表达式:
(1) 算术、赋值和逗号运算符及其表达式。 (2) 表达式的执行顺序(优先级和结合性)。 5. 赋值语句。
6. 字符的输入输出函数: (1) putchar 函数。 (2) getchar 函数。 7. 格式输入输出: (1) printf输出函数。 (2) scanf输入函数。
第四章 选择结构程序设计 1. 关系运算符和关系表达式: (1) 关系运算符及其优先级。 (2) 关系表达式。
2. 逻辑运算符及逻辑表达式: (1) 逻辑运算符及其优先级。 (2) 逻辑表达式。 3. if 语句。
4. 条件运算符。 5. switch 语句。
第五章 循环结构程序设计 1、while语句。 2、do-while语句。 3、for语句。 4、break语句。
第 2 页 共 6 页
5、continue语句。
第六章 利用数组处理批量数据
1、一维、二维、字符数组的定义、引用和初始化。 2、字符串和字符串结束标记。 3、字符串处理函数。 4、字符数组的输入输出。
第七章 用函数实现模块化程序设计 1、函数定义。
2、形式参数,实际参数。 3、函数值。
4、函数声明,函数调用。 5、数组作为函数参数。
6、全局变量,局部变量的定义。 7、变量的存储类别。 第八章 善于利用指针 1、地址和指针的概念。
2、变量的指针和指向变量的指针变量。 3、数组与指针。 4、字符串与指针。 5、简单的指针运算。
第九章 用户自己建立数据类型 1、结构体定义,引用和初始化
2、结构体数组,指向结构体类型数据的指针
备注:以下内容不做考试要求
第一至第九章(除去第二章)中,以下内容不做考察。 ? 数据的排序方法
? 函数的嵌套调用和递归调用 ? 内部函数和外部函数
? 命令行参数(argc、argv)的说明、含义和使用
? 指向函数的指针 ? 返回指针值的函数
? 指针数组和指向指针的指针 ? 共用体 ? 链表 ? 枚举
? 用typedef定义类型
第 3 页 共 6 页
五、题型举例
1、填空题(每小题2分,共20分)
1.用 float q[3][5]; 定义的数组 q 包含 15 个元素,在机内共占 60 个字节。 2. C语言中程序的三种基本结构为__顺序_,选择 和循环控制 。
3. while循环是先判断表达式,如果为___真______,执行循环体;然后再判断表达式,直到表达式___假____,退出循环。
4.已知 for(j=1,s=0;j<=9;j+=2) s=s+j; 执行循环后,s的值是_____25_ 。
2、单项选择题(每小题2分,共20分) 1.字符型变量以%d类型格式输出时,输出( B ) A 字符本身 B 对应ASCII码 C 任意整数 D 任意字符
2.C语言中不可用作标识符的字符有:( D ) A 字母 B 数字 C 下划线 D %
3.要使用putchar()函数必须在程序前加语句:( C ) A include
3、判断题(每小题2分,共20分)
1.函数体中一定有return( )语句;( 错 ) 2.数组中的元素类型可以不同;( 错 ) 3.任何数组的下标都是从0开始;( 对 )
4、计算下面 C 表达式的值 ( 每小题5分 共10分 )
1、 3 * 6 % 7 / 2 + 18 / 4 答案: 6
2、 15!=8+7||4<5&&3>9/4 答案: 1
5、写出表示下列条件成立的一个C语言表达式. (每小题5分 共10分)
第 4 页 共 6 页
1、字符型变量 h 是大写英文字母的条件.
h>=65 &&h<=90
或者 h>=’A’&& h<=’Z’
6、程序阅读题( 每小题5分 共10分 ) 1.
#include
char s1[101],s2[51]; int L1,L2,i;
printf(\请输入字符串1:\ gtes(s1);
printf(\请输入字符串2:\ gets(s2);
L1=strlen(s1); L2=strlen(s2);
for(i=0;i } 假设运行上述程序时,输入的2个字符串分别为ABCDEF,1234 输出结果为:____ ABCDEF1234__________________________ 7、程序填空题( 每空2分 共10分 ) 1.下面程序的功能是:定义包含姓名与年龄两项信息的结构体;输入15个 人的这两项信息;然后找出其中的年龄最小者,再输出年龄最小者的姓名与年龄。 请填空【?】。 struct st { char name[10]; int age; }; main() { 【1】 p[15]; 【1】 struct st int i,min,m; for(i=0;i<15;i++) scanf(\【2】 ,&p[i].age); 【2】 p[i].name min=p[0].age; m=0; 第 5 页 共 6 页 for(i=1;i<15;i++) if(min>p[i].age) { min=【3】; 【3】 p[i].age m=【4】; 【4】 i } printf(\【5】); 【5】 p[m].name , min(或p[m].age) } 第 6 页 共 6 页