一、考试的基本要求
C语言是电子、计算机、人工智能、大数据技术、电子商务、信息管理等专业的一门专业基础课,主要学习结构化、模块化的编程思想,掌握编程的技巧,是后继专业技能和专业课程的基础。通过课程的学习,要求学生掌握算法设计思想,掌握结构化程序设计的基本概念、方法和技巧,培养学生良好的程序设计风格、程序阅读与分析、程序设计和调试能力,进一步培养学生综合分析问题、解决问题及创新设计能力,使学生具备初步的高级语言程序设计能力,为后续课程的学习和应用开发打下扎实的程序设计基础。
二、考试的范围和内容
考核知识点一:C程序构成及运行流程
1.考核内容:
程序的构成,main函数和其他函数;头文件,数据说明,函数的开始和结束标志以及程序中的注释;C语言源程序的书写格式及风格。
2.考核要求:
了解:程序的构成、函数的构成
掌握:运行C程序的步骤与方法,培养程序设计和调试动手的能力,使学生具备良好的程序设计风格。
考核知识点二:算法、数据类型及表达式
1.考核内容:
算法的概念、特性、表示;C的数据类型(基本类型,构造类型,指针类型,无值类型)及其变量定义方法;C运算符的种类、运算优先级和结合性;.不同类型数据间的转换与运算;C表达式类型(赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式)和求值规则。
2.考核要求:
了解:算法的特性及表示方法;C运算符的运算优先级和结合性;数据类型间的转换。
掌握:变量的定义,C表达式的求解
应用:算法的设计及用流程图、伪代码表示算法,建立“自顶向下、逐步细化”、“分而治之”等程序设计的思想。
考核知识点三:C语句及输入输出函数
1.考核内容:
表达式语句,空语句,复合语句;输入输出函数的调用,正确输入数据并正确设计输出格式。
2.考核要求:
了解:输入输出函数用法。
掌握:数据的输入输出各种格式符的含义及用法。
应用:正确输入数据并正确设计输出格式;自增、自减运算符,区别i++ 与 ++i,i-- 与 --i。
考核知识点四:选择结构程序设计
1.考核内容:
用if语句实现选择结构;用switch语句实现多分支选择结构;选择结构的嵌套。
2.考核要求:
了解:IF结构(包括单分支、多分支、IF嵌套)及SWITCH结构的语法构成。
掌握:选择结构的执行功能;选择结构的嵌套。
应用:选择结构的应用。
典型例题:两数互换、闰年判断、求解一元二次方程的实根和复根、分段函数。
考核知识点五:循环结构程序设计
1.考核内容:
for循环结构;while和do-while循环结构;continue语句和break语句;循环的嵌套。
2.考核要求:
了解:(for循环、while循环、do-while循环)的语法构成及区别;数学函数库的基本函数。
掌握:三种循环结构的执行功能;循环嵌套。
应用:三种循环结构的应用。
典型例题:斐波拉契数列、素数、水仙花数、回文数、完数、规律图案的输出。
考核知识点六:数组
1.考核内容:
一维数组和二维数组的定义、初始化和数组元素的引用;字符串与字符数组。
2.考核要求:
了解:一维数组、二维数组、字符数组的定义;字符数组与其它数组的区别。
掌握:一维、二维数组元素的下标及指针引用;各种字符串处理函数的作用。
应用:一维数组、二维数组、字符数组的应用。
典型例题:排序算法、打擂台算法、起泡法排序、选择法排序、杨辉三角形、三阶或五阶魔方阵、利用折半查找法查找某个数据、规律图案的输出。
考核知识点七:使用函数实现模块化设计
1.考核内容:
库函数的正确调用;函数的定义方法;函数的类型和返回值;形式参数与实在参数,参数值传递;函数的正确调用,嵌套调用,递归调用;局部变量和全局变量;变量的存储类别(自动,静态,寄存器,外部),变量的作用域和生存期。
2.考核要求:
了解:函数定义及调用方法;形参与实参的概念及含义,参数的“单向传递”;全局变量与局部变量定义,变量的作用域及存储类别。
掌握:参数的传值与传址;函数的调用过程;全局变量与局部变量的应用,变量的存储类别、变量的作用域的应用。
应用:函数的定义、调用及应用;嵌套调用、递归调用。
典型例题:汉诺塔问题,登阶梯游戏。
考核知识点八:指针定义及使用
1.考核内容:
地址与指针变量的概念,地址运算符与指针运算符;一维、二维数组和字符串的地址以及指向变量、数组、字符串、函数、结构体的指针变量的定义;通过指针引用以上各类型数据;用指针作函数参数;返回地址值的函数;指针数组,指向指针的指针。
2.考核要求:
了解:指针概念及应用。
掌握:数组、指针与函数结合应用,包括指针变量、数组指针、函数指针(指向函数的指针)、指针函数(返回指针值的函数)、指针数组、多重指针等。
应用:指针做函数参数的作用;灵活应用指针函数,指针数组,函数指针。
考核知识点九:用户自己建立数据类型
1.考核内容:
用typedef说明一个新类型;结构体和共用体类型数据的定义和成员的引用;指针与结构体;通过结构体构成链表,单向链表的建立,结点数据的输出、删除与插入。
2.考核要求:
了解:结构体、共用体的定义;结构体变量、结构体数组、结构体指针;链表。
掌握:结构体、共用体的区别;结构体类型和共用体类型产生的必要性。
应用:结构体、共用体的应用。
三、考试题型和分值结构(总分100分)
1.填空题 (10空,每空2分,共20分)
2.单选题 (15题,每题2分,共30分)
3.判断题 (10题,每题1分,共10分)
4.程序运行结果题 (4题,每题4分,共16分)
5.编写程序题 (3题,共24分)
四、考试形式
笔试(闭卷)。
五、考试时间
90分钟
六、主要参考书目
1.教材:
谭浩强. 《C程序设计》(第五版),清华大学出版社,2017年。
2.参考书:
谭浩强. 《C程序设计学习辅导》(第五版),清华大学出版社,2017年。
谭浩强. 《C程序设计教程》(第3版),清华大学出版社,2014年。