C语言程序设计 Ⅰ 考试要求 注重考查考生理解和掌握本课程的基本知识、基本概念和基本理论,并考查考生运用这些基本知识和基本原理解决现实问题的能力。 本大纲的考核要求分为“识记”、“理解”、“应用”三个层次,具体含义是: 识记:对本课程有关的名词、概念和基本知识的正确记忆。 理解:在识记的基础上,理解本课程所涉及的基本概念、基本原理及它们之间的内在联系。 应用:在理解的基础上,科学分析问题,运用有关理论编程解决问题。 试题对不同能力层次要求的分数比例:识记25%、理解50%,应用25%。
Ⅱ 考试内容大纲 第一章 绪论 一、考核知识点 (一)程序的构成要素:main函数,其他的函数等; (二)头文件、数据说明、函数的开始和结束标志; (三)源程序的书写格式; (四)C语言的编程风格。 二、考核要求 1.识记: (1)C语言的基本特点; (2)源程序的书写格式。 2.理解: (1)程序的构成要素:main函数,其他的函数等; (2)头文件、数据说明。 3.应用: (1)C语言的编程环境。 第二章 C语言基础 一、考核知识点 (一)常量和变量; (二)数据类型:整型数据、实型数据、字符型数据 (三)各类数值型数据间的转换与混合运算 (四)运算符和表达式:算术运算符号和算术表达式,赋值运算符和赋值表达式,逗号运算符号和逗号表达式; (五)运算符的优先级与结合性。 二、考核要求 1.识记: (1)常量、变量的概念和定义方法; (2)表达式的构成; (3)运算符的优先级; (4)运算符的结合性。 2.理解: (1)掌握C语言三种数据基本类型(整型、实型、字符型)及其定义和使用方法; (2)掌握不同类型数据间的转换与运算; (3)掌握算术运算行、赋值运算符和逗号运算符的使用; (4)理解表达式中的计算方法、求值方法; 3.应用: (1)变量的定义; (2)赋值表达式的应用; (3)算术表达式的应用; (4)关系表达式的应用。 第三章 顺序结构 一、考核知识点 (一)语句分类和程序基本结构、算法表示 (二)赋值语句 (三)数据输入输出函数 二、考核要求 1.识记: (1)C语方的语句分类; (2)顺序结构的特点; (3)了解流程图和N-S图的画法。 2.理解: (1)赋值语句的使用; (2)数据输入函数的格式及使用; (3)输出函数的格式及使用。 3.应用: (1)阅读顺序结构的程序; (2)编写顺序结构的程序。 第四章 分支结构 一、考核知识点 (一)关系运算符和关系表达式; (二)逻辑运算符和逻辑表达式; (三)条件运算符和条件表达式; (四)if语句: if 语句的三种形式 (五)switch 语句 二、考核要求 1.识记: (1)选择结构的概念; (2)if语句的三种基本形式; (3)switch语句的特点。 2.理解: (1)关系表达式的求值; (2)逻辑表达式的求值; (3)混合表达式的求值; (2)条件运算符的功能和作用。 3.应用: (1)条件运算符的使用; (2)if语句的使用; (3)if…else…的使用; (4)switch语句的使用。 第五章 循环结构 一、考核知识点 (一) 循环定义与实现思想; (二)实现循环的语句(while、do-while、for); (三)循环的嵌套; (四)break和 continue 语句的使用; (五)循环类问题程序应用举例。 二、考核要求 1.识记: (1)了解循环的概念; (2)解决语句重复执行的方法; (3)break和 continue 的使用形式; 2.理解: (1)理解while、do…while、for循环语句的执行过程; (2)理解while、do…while、for循环执行步骤和相关参数量的变化情况; (3)循环的嵌套使用; (4)掌握循环语句的格式和应用特点; (5)掌握循环程序设计的方法。 3.应用: (1)循环类问题程序应用; (2)实现不通循环语句的相互转换应用。 第六章 数组 一、考核知识点 (一)一维数组:一维数组的定义,一维数组的引用,一维数组的初始化; (二)二维数组:二维数组的定义,二维数组的引用,二维数组的初始化; (三)字符数组:字符号数组的定义,定符数组的初始化,字符数组的引用,字符串和字符号串结束标志,字符数组的输入输出; (四)简单的字符串处理函数。 二、考核要求 1.识记: (1)一维数组的定义; (2)一维数组的引用; (3)一维数组的初始化; (4)二维数组的定义; (5)二维数组的引用; (6)二维数组的初始化; (7)字符串的含义 2.理解: (1)一维数组的定义和引用; (2)二维数组的定义和引用; (3)字符数组的定义和引用; (4)字符串与字符数组的区别。 3.应用: (1)一维数组冒泡排序; (2)简单的字符串处理函数 (3)二维数组遍历。 第七章 函数 一、考核知识点 (一)函数的定义; (二)函数参数和函数的值; (三)函数的调用,函数的嵌套调用; (四)局部变量和全局变量; (五)变量存储类别; (六)变量的作用域和生存期。 二、考核要求 1.识记: (1)函数的定义方法; (2)函数的类型和返回值; (3)函数的形式参数与实际参数的概念 2.理解: (1)参数值的传递; (2)一般的函数嵌套并正确调用函数; (3)局部变量和全局变量; (4)变量的存储类别; (5)变量的作用域和生存期。 3.应用: (1)针对特定的功能,编写实现函数; (2)函数间的相互调用; (3)给函数传递参数。 第八章 指针与文件 一、考核知识点 (一)地址与指针的概念; (二)变量的指针,数组与指针,字符串与指针的应用 (三)文件类型指针,文件的打开和关闭,文件的读写,文件的定位。 二、考核要求 1.识记: (1)指针的概念、特点; (2)指针的分类; (3)指针的数据类型描述; (4)文件的含义; (5)文件的分类、特点。 2.理解: (1)整形、浮点型指针的使用方法; (2)文件指针的使用方法; 3.应用: (1)指针在数组、字符串中的使用; (2)文件打开与关闭; (3)文件的读写 (4)文件的定位; 第九章 结构与枚举类型 一、考核知识点 (一)结构体:结构体类型的定义、结构体类型的引用、结构体类型的初始化; (二)结构体数组; (三)指向结构体类型变量的指针; (四)枚举类型。 二、考核要求 1.识记: (1)枚举数据类型的定义和使用; (2)结构体类型的定义; (3)结构体类型的引用; (4)结构体类型的初始化; 2.理解: (1)理解用指针指向结构体的基本操作; 3.应用: (1)结构体在链表中的应用。 Ⅲ.考试形式及试卷结构 一、考试方法 闭卷,笔试,考试时间为120分钟,试卷满分为100分。本科目使用答题卡。 二、试卷内容比例 第一章占5%,第二章占15%,第三章占5%,第四章占15%,第五章占20%,第六章占15%,第七章占10%,第八章占10%,第九章占5%。 三、试卷题型比例 题型有单项选择题、改错题、程序分析题、填空题、程序设计题等。 选择题占30%,非选择题占70%。 四、试题难度比例 容易题目约占30%,中等题约占50%,难题约占20%。 Ⅳ.参考书目 赵克林主编:《C语言实例教程》(第2版),人民邮电出版社,2012年出版。 Ⅴ.题型示例 一、单项选择题(每小题只有一个选项符合题目要求) 在下面的一维数组定义中,语句有语法错误的是 ( ) A. int a[]={1,2,3}; B. int a[10]={0}; C. int a[]; D. int a[5]; 二、改错题(假设下列语句中的变量均已做适当声明和初始化,指出下列程序段是否有语法错误,若有请标出错误位置,并改正,使程序能正确运行) switch(items) { case 0: cout<<"Radio" case 1: cout<<"Television" case 1.5:cout<<"Video Camera" } 三、程序分析题(分析下列程序代码,并在程序右侧写出程序的输出结果) int main() { int a[8]={6,19,4,12,20,5,18,25}; int* p=a; for(p=a; p<a+8;p++) if(*p<10) cout<<*p<<’ ’; cout<<endl; return 0; } 四、程序填空题(在横线处填上一个语句,使程序实现其相应的功能) 下面程序的功能是将字符串str1复制为字符串str2,其思路是通过两个指针变量p1和p2,分别指向两个字符数组中的有关字符,通过改变指针变量的值使它们指向字符串中的不同的字符,以实现字符的复制。请将空白处补充完整。 #inlcude <iostream> using namespace std; int main() { char str1[]=“I love CHINA!”, str2[20], *p1, *p2; (1) for(; *p1!=’ |