C语言知识点记录
1,栈底指针不变,栈顶指针变化。
2,结构化程序包括:顺序,分支,循环。
3,详细设计的任务是为软件结构图的每一个模块确定实现算法和局部数据结构。
4,数据操纵语言:负责数据的操纵,包括查询及增,删,改查。
5,运算符两侧的运算数据类型可以不一致,且结果与精度较高的保持一致。
6,不能将变量或常量赋值给一个表达式。
7,没有字符串变量,只有字符串常量。字符串比较大小可以使用库函数或者自己写代码,不可以用关系运算符。
8,删除结点:p->next=q->next;free(q);
9,feof函数的用法是从输入流读取数据,如到达文件末尾,函数值为非零值,否则为0。
1,循环队列中队空和队满,头尾指针都相等。
2,表示实体间联系的是:二维表,
3,数据字典所定义的对象都包含于数据流图。
4,软件需求规格说明书的作用不包括:软件可行性研究的依据。
5,C语言源程序名的后缀是c,目标文件的扩展文件是obj,可执行文件的扩展名是exe。
6,gets函数:直到读到一个换行符为止,可以记录空格。scanf函数,空格会被忽略。getchar函数输入空格,回车都可以记录,
7,C程序中以#号开始的都是预处理命令。
8,fprintf函数对文件的处理是覆盖的。
1,前序遍历:先遍历根节点,再遍历右子树。
2,对象之间进行通信的构造叫消息。
3,数据库设计不包括算法设计,包括概念,逻辑,物理。
4,C程序中,主函数不能被其他函数调用。函数中不能定义另外一个函数。
5,C程序是由函数组成的。
6,字符0的ASCII码值为048,\0是空值,其ASCII码值为0。
7,else总与离它最近的上面的if匹配。
8,*的运算级别高于++的运算级别。
9,字符串常量是用双引号括起来的。一个反斜线代表一个转义符。
10,strcmp函数对字符串进行比较,如果相等则返回0。
11,数组不能直接赋值给另一个数组名。
12,在编译时,程序对C源程序进行预处理时用100 替换N。
13,异或运算,结果不同返回1,相同返回0.
14,空间复杂度:指算法在执行过程中所需要的内存空间,时间复杂度:指执行算法所需要的计算工作量。两者没有之间关系。
15,冒泡排序法:是在扫描过程中逐次比较相邻两个元素,进行交换。
16,软件包括:程序,数据,及文档。
17,可行性研究不属于开发阶段任务。
18,结构化方法软件需求分析工具主要有数据流图,数据字典,判定数,判定表。
19,每一个二维表称为一个关系。
20,某类型和格式C语句被转化为的机器指令的条数是固定的。
21,C语言中可以用一个标识符代表一个常量,称为符号常量,通常采用大写字母表示,在主函数中不能再被定义。
22,C语言中不可以出现,双逗号,可以出现双分号,表示空语句。
23,fseek函数用于二进制方式打开的文件,移动文件读写指针位置。将文件内部的位置指针从新指向一个流的开头,最后只保留一个数。
1,快速排序最坏情况就是每次选的基准数都和其他数做过比较,次数为n(n-1)/2。
2,测试步骤:单元测试,集成测试,确认测试,系统测试。
3,自然连接是一种特殊的等值连接,含有一个或多个共有属性。
4,算法:0或多个个输入,一个算法对于某个输入的循环次数是可以事先估计出来的。
5,dowhile语句:条件执行和循环执行次数一样。
6,逗号表达式把其后最后一个值赋给。
7,typede对已存在类型使用一个新名字。
1,循环队列是队列的一种顺序存储结构,不是链式结构。
2,任一二叉树中,度为0的叶子结点总比度为2的结点多一个。
3,概念模式:数据库系统中全局数据逻辑结构的描述。外模式:用户的数据视图,给出了每个用户的局部数据描述。内模式:物理模式,给出了数据库物理存储结构与物理存取方法。
4,一个关系中应该由一个或多个候选关键字。
5,软件危机:软件需求的增长得不到满足,软件开发成本和进度无法控制,软件质量难以保证,软件不可维护,软件成本不断提高,生产效率低。(软件过程不规范不属于危机。)
6,数据流图是结构化分析方法中使用的工具,是一种功能模型,是在可行性研究阶段用到的。软件设计阶段用到:系统结构图,PAD图,程序流程图。
7,E后面的指数必须为整型。
8,C语言中没有逻辑类型,整型烈性可以无误差表示自然数,小数不行。
9,函数的形参和实参分别占用不同的存储单元。
10,指针数组赋值:指针是对的,数字应该在定义时赋值。
11,调用外部函数以后会产生c参数的一个副本,但不会改变c原本的值。
12,‘w’只读方式打开,只能写不能读。
1,数据库三级模式:外模式,概念模式,内模式,提高了数据库的逻辑独立性和物理独立性。
2,数据库概念设计阶段得到的是E-R模型。
3,C语言中的标识符分为3类:关键字,预定义标识符,用户标识符。
4,每个字符变量被分配一个字节的空间。
5,A ASSCII值为65,‘1’值为47。
6,带链的栈,不过头尾指针怎样,都无法确定数量。
7,中序遍历:访问根结点在访问左子树和右子树两者之间。
8,模块的扇出是指本模块的直属下层模块的个数
9,软件功能三要素是方法,工具和过程。
10,数据库中存储的是:数据及数据之间关系。
11,n表示投影运算,针对属性,(谁他)表示选择运算,针对元组,^为关系交,无穷表示自然连接。
12,E-R图是实体联系图,不能描述算法。
13,实型变量中不可以存放整型数。
14,变量没有初始化,默认值与编译器有关,不同则不同。
15,(int *)malloc(sizeof(int));
16,如果文件到末尾,eof函数值为非零值,否则为0.
1,可以使用算法在执行过程中所需要基本运算的次数来度量算法的工作量。与各种外来因素都无关。
2,求平均比较次数,使用最好与最坏情况的概率平均。
3,前序遍历:访问根节点在访问左右之前,中序遍历:访问根节点在左右之间,后序遍历:访问根节点在左右之后。
4,软件生命周期:软件产品从提出,实现,使用,维护到停止使用,退役的过程称为软件生命周期。
5,把数据和实现操作的代码集中起来放在对象的内部。
6,在关系数据库中用关系模型表示数据结构,表示为一个二维表。
7,数据库六种范式:第一范式,第二范式,第三范式,BCNF,第四范式,第五范式。数据库只需满足第三范式即可。
第一:主属性不为空且不重复,字段不可分。
第二:是第一范式,每个非主属性都没有对主键的部分依赖,
第三:是第二范式,没有非属性对主键的传递依赖和部分依赖。
8,计算机只能处理二进制表示的目标程序。
9,double 8字节 float 4字节 int 2字节 char 1字节
10,printf输出数据隐含右对齐,赋值语句是一种执行语句,必须放在函数的可执行部分,输出数据所占的宽度由系统决定
11,空语句:“;”
12,逻辑真值对应非0,逻辑假值对应0.,分支结构是根据表达式的值,并不仅仅式算术表达式的值。关系运算符两边可是任意合法的表达式。
13,关系运算符的结果有真假两种。
14,指针变量可以通过求地址运算符来获取地址值,可以通过指针变量,可以通过标准函数。p=NULL(指向具有一个确定的值“空”),p=0,p='\0'等价
15,指针变量的赋值只能赋予地址,绝不能赋予其他数据。
16,数组的下标下限是0.
17,不能直接给数组名赋值,不能用数组名给数组名赋值。
18,字符串数组:数组中每个元素都是一个存放字符串的一维数组。
19,两个字符串不可以用关系运算符进行大小比较,可以使用函数。C语言本身没有提供对字符串整体操作的运算符。strlen返回实际占用大小加上结尾符。
20,可以定义静态局部变量,只要是用户定义的标识符,都有一个有效的作用域。
21,使用typedef来说明一种新的类型名。新类型名与旧是等价的。
22,定义结构体时编译程序并不会给它分配内存空间。
23,位运算的对象只能是整型或字符型数据,取反为一位操作数,右移有些情况下不是补0.
24,文件指针,不是文件位置指针,不可以写入任意字符,一个指针变量指向一个文件。
1,在栈中,栈底指针保持不变,有元素入栈,栈顶指针增加。
2,关系数据库中,关系模式设计属于:逻辑设计。
3,三种基本结构可以表示任意复杂的算法。
4,常量的类型可以从字面上进行区分。整型常量和实型常量都是数值型常量。
5,C语言中实型常量只有十进制一种。
6,printf函数使用“\%”来输出百分号
7,printf和scanf都可以指定数据的宽度,复合语句可以是一条也可以没有。
8,算术运算符比逻辑运算符级别高,“非”级别最高,&&有可能出现短路情况。
9,字符常量可以参与任何整数运算。
10,double类型的指针,+1,代表移动了8个字节。
11,sizeof求出字符串的字符个数,strlen求出字符串的实际字符。
12,函数递归使用栈区来递归,需要额外开销。
13,声明变量不分配空间,定义分配。函数的形参属于局部变量。
14,#include可以出现在程序中间,可以有任意数量。修i改了需要重新链接。
15,如果是同类型的结构体变量,可以整体赋值。可以含有指向本结构体的指针成员。
16,按位异或^,按位或|,按位取反~,按位与&。
17,EOF在文本文件中做结束符,值为-1.
18,循环队列中,对头指针和队尾指针的动态变化决定队列的长度。
19,堆排序最坏情况下,比较次数最少,。
20,实体之间多对多联系在关系模型中的实现方式是:建立新的关系。
21,sizeof是一种操作符,不是函数调用。
22,%%d输出%d两个普通字符。
23,26个英文字母。
24,eof函数,没有结束时返回0,解释是返回非0值
25,软件工程3要素:方法,工具和过程。
26,程序流程图是详细设计阶段使用的工具。
27,int类型占由4个字节
28,基类型不同的指针地址可以相同,指针的基类型决定该指针访问的每个内存单元包含多少字节,两个指针变量之间可以比大小,也可以赋值,相减以后得到的是两个指针的位偏移量,不可以加乘除,void类型指针中的数据不能访问,只可以通过显示转换。
29,extern对全局变量进行说明。
30,结构体名只是编码,没有自己的存储单元。
1,树中的节点数等于数中所有节点的度之和再加1。
2,结构化程序设计原则是模块化。
3,确定软件是否开发的文档是:可行性报告。
4,基本路径测试属于白盒测试动态测试。
5,在关系中凡是能唯一标识元组的最小属性集称为键或码。
6,E标识:前面必须有数字,后面必须为整数。
7,%d按照十进制输出。
8,‘\0’结束符的ASCII码为0.
9,相同结构体可以直接赋值。