二级C语言程序设计考试大纲
㈠ 公共基础知识
基本要求
  1. 掌握算法的基本概念。
  2. 掌握基本数据结构及其操作。
  3. 掌握基本排序和查算法。
  4. 掌握逐步求精的结构化程序设计方法。
  5. 掌握软件工程的基本方法,具有初步应用相关技术进行软件开发的能力。
  6. 掌握数据库的基本知识,了解关系数据库的设计。
考试内容
一、基本数据结构与算法
  1. 算法的基本概念;(计算机算法分为数值运算和非数值运算算法。特性:有穷性、有效性、确定性、输入、输出)
      算法复杂度的概念和意义(时间复杂度:程序运行从开始到结束所需要的时间。空间复杂度:程序运行从开始到结束所需存储量。)。
  2. 数据结构的定义;数据的逻辑结构与存储结构(数据逻辑结构可以看作是从具体问题抽象出来的数学模型,它与数据的存储无关。数据在计算机中的映像称为物理结构,即存储结构,可采用顺序存储和链式存储的方法。);数据结构的图形表示;线性结构与非线性结构的概念    (线性结构的特点是数据元素之间是一种线性关系数据元素一个接一个排列。)。
  3. 线性表的定义;线性表的顺序存储结构及其插入与删除运算。
  4. 栈和队列的定义;栈和队列的顺序存储结构及其基本运算。
  5. 线性单链表、循环链表与双向链表的结构及其基本运算。
  6. 树的基本概念;二叉树的定义及其存储结构;二叉树的前序、中序和后序遍历。
  7. 顺序查与二分查算法;基本排序算法(交换类排序,选择类排序,插入类排序)。
二、程序设计基础
  1. 程序设计方法与风格。
  2. 结构化程序设计。
  3. 面向对象的程序设计方法,对象,方法,属性及继承与多态性。
三、软件工程基础
  1. 软件工程基本概念,软件生命周期概念,软件工具与软件开发环境。
  2. 结构化分析方法,数据流图,数据字典,软件需求规格说明书。
  3. 结构化设计方法,总体设计与详细设计。
  4. 软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。
  5. 程序的调试,静态调试与动态调试。
四、数据库设计基础
  1. 数据库的基本概念:数据库(长期存储在计算机内,有组织可共享的大量数据的集合。有较小冗余度、较高数据独立性和易扩展性并可为各种用户共享。永久存储、有组织、可共享三个基本特点。),数据库管理系统,数据库系统(数据库、数据库管理系统、应用系统、数据库管理员)。
  2. 数据模型(一、概念模型二、逻辑模型和物理模型),实体联系模型(实体、属性、联系)及E-R图,从E-R图导出关系数据模型
  3. 关系代数运算(并、差[属于R不属于S]、交、笛卡尔积),包括集合运算及选择、投影、连接运算,数据库规范化理论
  4. 数据库设计方法和步骤:需求分析、概念设计(E-R图,方法:自顶向下、自底向上、逐步扩张、混合策略。  概念设计三种抽象:分类、聚集、概括)、逻辑设计(关系模式)和物理设计的相关策略。basic语言程序设计
考试方式
  1. 公共基础知识的考试方式为笔试,与C语言程序设计(C++语言程序设计、Java语言程序设计、Visual Basic语言程序设计、Visual FoxPro数据库程序设计、Access数据库程序设计或Delphi语言程序设计)的笔试部分合为一张试卷。公共基础知识部分占全卷的30分。
  2. 公共基础知识有10道选择题和5道填空题。
㈡ C语言程序设计
基本要求
1. 熟悉Visual C++ 6.0集成开发环境。
  2. 掌握结构化程序设计的方法,具有良好的程序设计风格。1)自顶向下(2)逐步细化(3)模块化设计(4)结构化编码。
  3. 掌握程序设计中简单的数据结构和算法并阅读简单的程序。
  4. 在Visual C++ 6.0集成环境下,能够编写简单的C程序,并具有基本的纠错和调试程序的能力。
考试内容
一、 C语言程序的结构
1. 程序的构成有且一个main函数和其他函数构成(C程序由函数构成。函数由函数的首部和函数体(声明部分、执行部分)构成)。 
2. 头文件,、数据说明,函数的开始和结束标志以及程序中的注释。
  3. 源程序的书写格式。
  4. C语言的风格。
二、 数据类型及其运算
1. C的数据类型(基本类型(整形、字符型、浮点型、枚举类型),构造类型(数组类型、结构体类型、共用体类型),指针类型,无值类型)及其定义方法。
  2. C运算符的种类、运算优先级和结合性。
  3. 不同类型数据间的转换与运算。
  4. C表达式类型(算术表达式(先乘除,后加减) > 关系表达式 > 逻辑表达式(不包括!) > 条件表达式 > 赋值表达式 > 逗号表达式)和求值规则。
三、 基本语句
  1. 表达式语句,空语句,复合语句。
  2. 输入输出函数的调用,正确输入数据并正确设计输出格式。
四、 选择结构程序设计
1. 用if语句实现选择结构。
  2. 用switch语句实现多分支选择结构。
Switch(表达式)
{case 常量表达式1 : 语句1 
  Case 常量表达式2 : 语句2  }
  3. 选择结构的嵌套。
五、 循环结构程序设计
  1. for循环结构。
  2. while和do-while循环结构。(初始化在while和do-while之前完成)
  3. continue语句和break语句。(continue表示结束本次循环,进入下一次循环;break适用于循环和switch语句中,表示跳出循环)
  4. 循环的嵌套。
六、 数组的定义和引用
1. 一维数组和二维数组的定义、初始化和数组元素的引用。
定义:类型说明符 数组名[常量表达式];int a[10];  初始化:int a[10]={1,2,3,4,5}; int a[3][4]={{1,2},{5,6,7},{9,,8,7,6}};
引用:int[10];t=1[6];
  2. 字符串与字符数组。
字符数组定义:char c[10];初始化:char c[]={‘I’,‘A’,‘M’‘\0’};等价于char c[]={“I AM”};
七、 函数
1. 库函数的正确调用。(函数调用时,除数组外的都是单向传递)
  2. 函数的定义方法。(有参数,无参数,空函数)
  3. 函数的类型和返回值。(对于不带回值的函数,应当用“void”定义函数为“无类型”)
  4. 形式参数与实际参数,参数值的传递。
  5. 函数的正确调用,嵌套调用,递归调用。(递归求:n!=n*(n-1) n>1    f=fac(n-1)*n;)
  6. 局部变量和全局变量。
  7. 变量的存储类别(自动(未加static声明的局部变量,平常的都是),静态(加static声明的局部变量),寄存器(resister,有些变量使用频繁,将其放于CPU寄存器中,而不放于内存中),外部(在函数外部定义的全局变量)),变量的作用域和生存期。
存储空间(内存)分为三部分:
1、程序区
2、静态存储区(全局变量放于此)
3、动态存储区(形式参数、自动变量、函数调用时的现场保护、返回地址等)
静态存储方式是指在程序运行期间由系统分配固定的存储空间的方式。动态存储方式是指在程序运行期间根据需要进行动态的分配存储空间的方式。
八、 编译预处理
1. 宏定义和调用(不带参数的宏,带参数的宏)。
(一般形式:#define 标识符 字符串              #define 宏名(参数表) 字符串
#define P 3.4 表示在本程序中用指定的标识符P来代替字符串“3.4”
#define S(a,b)  a*b
  2. “文件包含”处理。
九、 指针
1. 地址与指针变量的概念,地址运算符与间址运算符。(如果有一个变量专门用来存放另一变量的地址(即指针),则它称为“指针变量”)
  2. 一维、二维数组和字符串的地址以及指向变量、数组、字符串、函数、结构体的指针变量的定义。    通过指针引用以上各类型数据。
(指向函数的指针定义:数据类型 (*指针变量名 )(函数参数列表);)
  3. 用指针作函数参数。
实参函数名    f1              f2
              ↓              ↓
Void sub(int (* x1)(int),int (* x2)(int,int))
{int a,b,i,j; a=(* x1)(i);b=(* x2)(i,j); }这样,用* x1,* x2 就可以调用函数f1,f2。
  4. 返回地址值的函数。(类型名 *函数名(参数列表); int *a(int x,int y);)
  5. 指针数组(int * p[4];指针数组中每一个元素都相当于一个指针变量),指向指针的指针(char * *p)。
十、 结构体(即“结构”)与共同体(即“联合”)
1. 用typedef说明一个新类型。(typedef int INTEGER;)
  2. 结构体和共用体类型数据的定义和成员的引用。
(引用:结构体变量名.成员名;)
  3. 通过结构体构成链表,单向链表的建立,结点数据的输出、删除与插入。
十一、位运算
  1. 位运算符的含义和使用。
  2. 简单的位运算。
十二、文件操作
只要求缓冲文件系统(即高级磁盘I/O系统),对非标准缓冲文件系统(即低级磁盘I/O系统)不要求。
  1. 文件类型指针(FILE类型指针)。
  2. 文件的打开与关闭(fopen,fclose)。
(打开:FILE *fp;
fp=fopen (文件名,使用文件方式)  例如:fp=fopen(“al”,”r”);fopen函数带回指向al文件的指针并赋给fp,这样fp就和al联系了
关闭:fclose (文件指针)              例如:fclose (fp);
  3. 文件的读写(fputc,fgetc,fputs,fgets,fread,fwrite,fprinrf,fsacnf函数的应用),文件的定位(rewind,fseek函数的应用)。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。