2014计算机二级报名时间及考试时间(江苏)?学习复习“秘籍”和数据库~ ~在线急!!~~

考试中心1C计划

用C语言编写的程序称为C语言源程序,源程序文件的后缀是“.”。c”。编译源程序,生成后缀为“.”的目标文件。obj”,然后将目标文件与各种库函数连接,生成一个”。exe”可执行文件。c语言有三种基本结构:顺序结构、选择结构和循环结构。测试点2主要功能

又称主函数,是C程序的入口。Main后面是一对括号和一对花括号,花括号括起来的部分称为主函数的函数体。一个C程序从主函数开始,到主函数体结束,不考虑主函数在整个程序中的位置。每个程序都有且只有一个主函数,其他所有函数都服务于主函数。测试地点3存储形式

计算机将数据以二进制形式保存在计算机中。由0或1组成的二进制称为位,8位构成一个字节,1字节= 8位。二进制、八进制和十六进制通过乘法转换成十进制,十进制通过除法转换成二进制、八进制和十六进制。数据存储的位置就是它的地址。

考点4注意事项

是程序的描述,可以出现在程序的任何地方。注释从“/*”开始到最后一个“*/”,在此期间计算机不会执行任何东西,注释不能嵌套。考点5写作格式

每个语句后面都必须跟一个分号,分号是语句的一部分。多条语句可以写在一行,一条语句可以写在多行。测试点6标识符

是识别名称的有效字符序列,在C程序中可以理解为一个单词。标识符的命名规则是:

(1)标识符只能由字母、数字和下划线组成,字母区分大小写。(2)标识符的第一个字符必须是字母或下划线,而不是数字。c语言标识符分为以下三类。

(1)关键字。它们在程序中有固定的含义,不能用于其他目的。如int、for、switch等。(2)预定义的标识符。具有特定含义的预定义标识符。例如定义、包含等。(3)用户标识符。用户根据需要定义的标识符符合命名规则,与关键字不一样。测试中心7常数和变量

常量是一个在程序运行过程中其值不能改变的量。常量分为五种类型:整型常量、实型常量、字符型常量、字符串型常量和符号型常量。在程序运行过程中其值可以改变的量称为变量。C语言中没有字符串变量。使用字符数组存储字符串。测试站点8整数数据

整数常量以十进制、八进制和十六进制形式表示,没有二进制形式。八进制整数常量加前导数字0,十六进制常量加前导数字0X,8不会出现在八进制常量中。

整型变量可分为基本整型(int)、短整型(short)、长整型(long)和无符号整型。一个基本整数占用4个字节。其他类型整数占用的字节数和取值范围见教材。

c语言知识复习

指针变量用来存储地址,而通用变量存储数值。指针变量可以指向任何数据类型,但是无论它指向的数据占用多少字节,指针变量都要占用四个字节。测试中心2指针变量的定义

格式为:类型名*指针变量名。二维指针int * * p;可以理解为基类型是(int *)类型。测试中心3中指针变量的初始化

指针变量在使用前必须进行初始化,并且要给它们分配一个特定的地址,否则引用时会有副作用。如果它们不指向任何数据,它们将被赋予“空值”NULL。参考测试中心4的指针变量

& amp是地址运算符,*是间接访问运算符,它们是两个互逆运算符。在指针变量名前加一个间接访问操作符,相当于它所指向的量。测试点5的指针操作

*p++和(*p)++: *p++的区别是地址变化,(*p)++是指针变量指向的数据变化。给指针变量加一个整数不是简单的数学加法,而是几个地址的连续移动。当两个指针指向同一个数组时,它们可以比较大小进行相减。

第八章阵列

1阵列测试点的定义

数组是一组相同类型的数据,称为数组元素。格式为:类型名数组名[常量表达式]。数组占用的字节数是元素数和基类型占用的字节数的乘积。测试中心2阵列的初始化

第一维的长度可以不写,其他维度必须写。int a[]={1,2 };Legal,int a[][3]={2,3,4 };Legal,int a[2][]={2,3,4 };不合法。数组初始化元素的默认值为0,未初始化元素的值为random。例如,在int a[5]={0,1,2}中;其中元素a[4]的值为0;而在int a[5]中;在中,元素a[4]的值是一个不确定的随机数。参考测试中心3的元素

数组元素的下标从0开始,以数组长度减1结束。所以int a[5];数组中的最后一个元素是a[4]。为了将数组元素视为一个整体,我们可以将a[4]视为一个整数变量。测试地点4二维阵列

Array a[2][3]={1,2,3,4,5,6 };它包含6个元素,2行3列。第一行是a行[0],第二行是a行[1]。a[0]和a[1]称为行的第一个地址,是地址常数。*(a[0]+1)表示第一行第一个元素跳回一列即元素a[0][1]的值为2,*(a[0]+3)表示第一行第一个元素跳回三即元素a[1][0]考点5行指针

是指针变量,占四个字节,行指针以int (*p)[2]的形式指向一行连续数据;p只能存储两个整数元素的一维数组的第一个地址。注意(*p)两边的括号不能省略,否则就成了指针数组,是几个指针元素的集合。测试站点6阵列名称

数组名是数组的第一个地址。数组名不能单独引用,所有元素不能用一个数组名表示。数组名是地址常量,不能给数组名赋值,所以a++是错的。但是数组名可以作为地址加到一个整数上得到一个新的地址。考点7中元素形式的变换助记法:“脱衣法则”a[2]变成*(a+2),a[2][3]变成*(a+2)[3]然后变成*(*(a+2)+3)。

第九章字符串

考点1字符串常量及其表示

字符串常量是用双引号括起来的字符串,例如“ABC”。当存储一个字符串时,系统自动

c语言知识复习

在尾部加一个空值' \0 ',空值也占用一个字节,即字符串“ABC”需要占用四个字节。

测试站点2字符数组

c语言没有字符串变量,只能用字符数组存储字符串。数组的大小应该比它实际保存的最长字符串多一个元素,以便保存“\0”。考点3字符串分配

赋值可以采用以下形式:charstr [] = "hello!";或者char * p;p= "你好!";,但不是以下形式:char str[10];str = " Hello因为str是地址常量,所以不能进行赋值。测试中心4字符串的输入和输出

可以使用scanf和printf函数,比如scanf ("%s ",str);,还可以使用两个函数,gets和puts,它们专门处理字符串。也可以将值逐个赋给字符数组,但必须在末尾赋一个“\0”。使用gets函数接收空格,使用puts函数在末尾输出一个换行符。测试站点5字符串函数

需要掌握的四个字符串函数:字符串复制函数strcpy()、字符串长度函数strlen()、字符串链接函数strcat()、字符串比较函数strcmp()。使用这些函数需要在预处理部分包含头文件“string.h”。

字符串的长度应小于字符数组的长度,例如:charstr[10]= " hello ";sizeof(str)的值是10(数组长度),strlen(str)的值是5(字符串长度)。这些函数都是考试中常用的,大家一定要熟练使用这些函数。

第十章结构和* * *用法

1考点结构类型描述

一个结构是几种类型数据的集合,结构类型描述格式如下:结构类型名称{type 1成员名称1;类型2成员名称2;};上面整个部分是一个数据类型,和integer int在同一个位置。Typedef可用于将结构类型替换为只有几个字母的短标识符。测试点2结构变量的定义

结构变量是由描述的结构类型定义的变量,与结构类型不一样。结构变量占用的字节数是其所有成员占用的字节数的总和。如struct stu { char name[10];int age} a,b;意味着定义了两个结构变量A和B,每个变量占14字节。a,b和int i,j;变量I和J在同一个位置。

测试中心3的结构构件参考

引用成员有三种方式:(1)结构变量名。成员名称;(2)指针变量名->;成员名:(3)(*指针变量名)。成员名称。圆点(。)称为成员运算符,箭头(->;)称为结构指向运算符。考点4链表

链表是由节点组成的,节点是一个结构变量。每个节点可以分为两部分:数据字段和指针字段。数据字段用来存储要存储的数据,指针字段用来指向下一个节点。链表是考试的难点,C语言和公共* * *《基础部分》都会考,要把握。测试中心5***主体

* * *主题的使用格式和结构类似,* * *主题定义的关键字是union,主题占用的字节数是所有成员中最大的。

XI文件

测试站点1文件类型指针

文件指针是指向结构类型的指针,定义格式为:文件*指针变量名。正在使用的文本

c语言知识复习

当你创建一个文件时,你需要首先定义一个文件指针。测试站点2文本文件和二进制文件

文本形式存储字符的ASCII码,二进制形式存储数据的二进制。例如,“100”是一个ASCII码(001100101100000 0065438),存储三个字符“1”。测试中心3打开文件

文件的打开形式如下:FILE * fpfp=fopen("c:\\lab.c "," Rb ");。fopen函数的第一部分是文件名,第二部分是如何使用文件。打开方式见教材127页,其中R代表阅读,W代表写作,A代表加法,B代表二进制。测试站点4文件功能

判断文件结束feof函数,移动文件指针位置fseek函数获取文件位置ftell函数,移动文件位置到开头rewind函数,文件字符输入输出fgetc函数和fputc函数,文件输入输出fscanf函数和fprintf函数,文件字符串输入输出fgets函数和fputs函数,读写二进制文件fread函数和fwrite函数。

以上函数需要知道该格式是否可以使用,是用于二进制文件还是文本文件。我们要认真复习这一章的教材文件,不要在考试的时候混淆这些文件的作用。

第十二章深入讨论

考点1的编译预处理

每一行以#开头的都是编译预处理的命令行,编译预处理不加符号,不占用运行时间。宏替换只是简单的文本替换,比如#define f(x) (x)*(x)和#define f(x) x*x替换f(2+2)。前者扩展为(2+2)*(2+2),后者为2+2*2+2。

如果源文件f2.c中有# include“f1.c”可以理解为源文件f1.c被原样包含在f2.c中,这样f 1 . C和f2.c就可以合并成一个C程序编译。所以一个C程序必须有一个main函数,但是一个C源文件可能没有main函数。

测试站点2标识符范围

局部变量是在函数或复合语句中定义的变量,它的作用域在定义它的函数中。有三种类型的局部变量:auto、register和static。

自动变量随函数的使用与否而消失;寄存器变量在cpu中分配,没有内存地址;静态变量占用固定的存储单元,在程序执行期间直到程序运行结束才被释放。

全局变量是在函数外部定义的变量。它的作用域是从定义它的位置到整个源文件的末尾,它的生存期是整个程序运行期。全局变量是静态变量。测试站点3动态存储分配

Malloc(size)用于创建连续大小的字节存储区,返回值类型为void *。Malloc函数常用于动态创建链表节点,如int * p;p =(int *)malloc(sizeof(int));。

Calloc(n,size)创建n个同类型的存储空间,可以理解为n个malloc。Free(p)释放动态分配的内存单元。

第二部分公共* * *基础知识材料

第一章数据结构和算法

考试中心1算法的基本概念

算法:指一个有限的指令集,是对解的准确完整的描述。算法不等于程序,也不等于计算方法。算法的基本特征:

决定论,算法中的每一步都必须定义清楚,不允许有歧义;

具有有限性,算法必须在有限的时间内完成,即执行有限步数后可以终止;可行性,算法原则上可以准确执行;掌握足够的信息。

一个算法的要素:一个算法由两部分组成:一个数据对象的运算和操作及其控制结构。算法的基本运算和操作:算术运算、逻辑运算、关系运算和数据传输。算法的基本控制结构:顺序、选择和循环。

算法的基本设计方法:枚举、归纳、递归、递归和减半递归技术。测试点2算法的复杂性

算法效率的衡量——算法的复杂度:时间复杂度和空间复杂度。

算法的时间复杂度:指执行算法所需的计算工作量。通常,一个算法所用的时间包括编译时间和运行时间。

算法空间复杂度:指执行这个算法需要的内存空间。包括算法程序占用的空间,输入初始数据占用的空间,算法执行过程中需要的额外空间。空间复杂度和时间复杂度是不相关的。测试中心数据结构的基本概念3

数据:数据是客观事物的符号表示,是可以输入计算机并被计算程序识别和处理的符号的总称,如文档、声音、视频等。

数据元素:数据元素是数据的基本单位。

数据对象:数据对象是具有相同属性的数据元素的集合。

数据结构:指一个数据对象中所有数据成员之间关系的集合。测试中心4的逻辑结构和存储结构

数据结构可以分为数据的逻辑结构和存储结构。

数据的逻辑结构是对数据元素之间逻辑关系的描述,与数据存储无关,面向问题,独立于计算机。它包括数据对象和数据对象之间的关系。

数据的存储结构又称数据的物理结构,是数据在计算机中的存储方式,是面向计算机的,包括数据元素的存储方式和关系的存储方式。

数据结构与逻辑结构的关系:数据的一种逻辑结构可以表现为多种存储结构,即数据的逻辑结构与存储结构不一定一一对应。

常见的存储结构有:顺序、链接、索引等。不同的存储结构,处理数据的效率是不同的。

考点5线性结构和非线性结构

线性结构(非空数据结构)的条件:(1)只有一个根节点;(2)每个节点最多有一个前片,最多有一个后片。

非线性结构:不满足线性结构条件的数据结构。

公共事务的基本知识

栈、队列和链表是线性结构,而树和二叉树是非线性结构。测试中心6的线性表及其顺序存储结构

线性表是由一组数据元素组成的,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。

在复杂的线性表中,由几个数据元素组成的数据元素称为记录;由多条记录组成的线性表称为文件。

非空线性表的结构特征;

(1)只有一个根节点a1,没有前件;(2)只有一个终端节点an,没有后置部分;

(3)除了根节点和终端节点,其他所有节点都有且只有一个前因和一个后果。节点数n称为线性表的长度,当n=0时称为空表。线性表的顺序存储结构有以下两个基本特征:(1)线性表中所有元素占用的存储空间是连续的;

(2)线性表中的数据元素按逻辑顺序存储在存储空间中。

元素ai的存储地址是:ADR(AI)= ADR(a1)+(I-1)* k,ADR(a 1)是第一个元素的地址,k代表每个元素占用的字节数。

序列表的操作:查找、插入和删除。考点7线性链表

线性链表是线性表的链式存储结构,数据结构中的每个节点对应一个存储单元,称为存储节点。一个节点由两部分组成:(1)用于存储数据元素值,称为数据字段;(2)用来存储指针,称为指针字段,用来指向上一个节点或下一个节点。

在链式存储结构中,存储数据结构的存储空间可以是不连续的,每个数据节点的存储顺序可以与数据元素之间的逻辑关系不一致,数据元素之间的逻辑关系由指针字段决定。链式存储可以用来表示线性和非线性结构。

在线性单链表中,HEAD称为头指针,HEAD=NULL(或0)称为空表。

链表有两个指针:左指针(Llink)指向antecedent节点,右指针(Rlink)指向后节点。

循环链表:循环链表和单链表的区别在于其最后一个节点的指针字段指向第一个节点的指针,而单链表存储的是空指针。

线性链表的基本操作:查找、插入和删除。考点8栈1和栈的基本概念。

图3循环链表的结构

L D R

图2双向链表的结构

L D R L D R

图1单链表的结构

数据字段指针字段

数据字段指针字段数据字段指针字段