C语言知识点总结
C语言基本知识点
1. C语言中规定,标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须
是字母或下划线,而且标识符不能是C语言的关键字。
2.scanf函数的一般格式是:
3.scanf(格式控制,地址表列)
4.逻辑与“&&”,逻辑或“ll ”,逻辑非“!”
逻辑与运算符“&&”,当参与运算的两个量都为真时,结果才是真,否则为假;逻辑或运算符“ll ”,当参与运算的两个量有一个为真时,结果是真,否则为假;逻辑非运算符“!”,当参与运算的量为真时,结果才是假,否则为真。
5. for循环可以用于循环次数不确定的情况: for循环是先判断表达式,后执行循环体语
句;在for循环中,可以用break语句跳出循环体,从而接着执行循环体后面的语句。
6.逻辑非运算符“!”的优先级大于不等于运算符“!=”的优先级。
7. do-while语句的一般形式为:do循环体语句 while(表达式);,其中循环体语句可以
是复合型语句,但必须用花括号括起来。while后必须要有分号作为语句的结束,在do-while循环中,不可以省略while。
8.调用函数不可能改变实参指针变量的值,但可以改变实参指针变量所指变量的值。
9.共用体变量中起作用的成员是最后一次存放的成员,在存入一个新的成员后原有的成
员就失去作用。
10. C语言中规定,标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须
是字母或下划线,而且标识符不能是C语言的关键字。
11.读字符串函数fgets函数的功能是从指定的文件中读一个字符串到字符数组中,函数
调用的形式为fgets(字符数组名,n,文件指针):其中的n是一个正整数。 fgets( str,n,fp);的意义是从fp所指的文件中读出n-1个字符送字符数组 str中。
12.程序设计语言是用于来书写计算机程序的语言,其基本成分有以下4种,数据成分:
用来描述程序中的数据。运算成分:描述程序中所需的运算。控制成分:用来构造程序的逻辑控制结构。传输成分:定义数据传输成分,如输入输出语言。
13.软件工程包括3要素,即方法、工具和过程。方法是完成软件工程项目的技术手段;
工具支持软件的开发、管理、文档生成:过程支持软件开发的各个环节的控制、管理。
14.数据库逻辑设计的主要工作是将E─R图转换成指定RDBMS中的关系模式。首先,从E—R图到关系模式的转换是比较直接的,实体与联系都可以表示成关系,E一R图中属性也可以转换成关系属性。实体集也可以转换成关系。
15.所谓满二叉树是指这样的一种二叉树;除最后一层外,每一层上的所有结点都是有两
个叶子结点。这就是说,在满二叉树中,层上的结点数都达到最大值,即在满二叉树的第k层上有2k-1个结点,且深度为m的满二叉树有2m-1个结点。
16.一些流行的程序语言允许过程的递归调用。递归调用就是过程调用本身。递归实现的
是:当过程每一次执行后,都能返回到最近一次调用它的过程中。这样各调用点之间形成一种后进先出关系,而栈结构正适合来存储这些调用点。
17.软件工程鼓励研制和采用各种先进的软件开发方法、工具和环境。工具和环境的使用
又进一步提高了软件的开发效率、维护效率和软件质量。
18.数据处理的最小单位是数据项;由若干数据项组成数据元素;而数据是指能够被计算
机识别、存储和加工处理的信息载体;数据结构是指数据之间的相互关系和数据运算。
19.数据库系统数据具有高共享性和低冗余性,但不能完全避免数据冗余﹔数所据的一致
性是指在系统中同一数据的不同出现应保持相同的值。
20. switch语句,其一般形式为;
21. switch《表达式)
22. {
23. case常量表达式l:语句l;
24. case常量表达式2:语句2:
25 ...
26. case常量表达式n:语句n;
27. default:语句n+1;
28. }
其语义是计算表达式的值。并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default 后的语句。
29.结构体变量所占内存长度是各成员占的内存长度之和。每个成员分别占有其自己的内
存单元,而共用体变量所占的内存长度等于最长的成员的长度。
30.在一维数组中要注意的是下标表达式的常量表达式的值必须是大于等于零,并且小于自身元素的个数,既数组长度。
31.如果一个字符数组用来作为字符串使用,那么在定义该字符数组时,数组的大小就应
该比它将要实际存放的最长字符多一个元素,以存放’l0’。
32.“ll”表示或的意思,“l”是按位或的意思,“&&”是并且的意思,C语言中没
有“or"”.
33,函数 fopen的功能:打开一个文件调用方式FILE*fp;fp=fopen(文件名,使用文件
方式);
函数fprintf 的功能:传送格式化输出到一个文件中调用方式: fprintf(文件指针,格式字符串,输出表列);
函数fclose的功能:关闭一个文件调用方式: fclose(文件指针);
函数fscanf 的功能:从磁盘文件执行格式化输入调用方式: fscanf(文件指针,格式字符串,输入表列)。
34.C语言规定,一个函数中调用另一个函数(即被调用函数)需要具备的条件有;
①首先被调用的函数必须是已经存在的函数(是库函数或用户自己定义的函数)。②如果使用库函数,一般还应该在本文件开头用#include命令将函数调用有关库函数时所需要到的信息“包含”到本文件中来。
③如果使用自定义函数,而且该函数与调用它的函数在同一个文件中,一般还应该在主调函数中对被调用的函数作声明,即向编译系统声明将要调用此函数,并将有关信息通知编译系统。
35.定义结构体类型的变量有几种的方法如下:
36.①定义结构体类型的同时,定义结构体类型的变量,如下面的定义中在定义结构体
类型aa的同时定义了该类型的变量td1。上述选项B中将宏名AA用宏体struct aa替换进去后,与该定义形式一样,因此是正确的。这一定义形式中,结构体类型名 aa是可以省略的,
37. struct aa
38. {…
39. }tdl;
40.②先定义结构体类型,然后再定义结构体类型的变量,形式如下:41. struct aa
42.{
43.
;
struct aa tdl;
这种定义形式也可演变为,先用类型定义语句 typedef将该结构体类型定义成一个类型名AA,然后直接用该类型名AA去定义一个变量(这时不再需要使用关键字struct了)。
44.函数strcpy的功能是字符串拷贝,用法 char*strcpy(char*str1l,char*str2),作用是将字
符串⒉复制到字符串Ⅰ中去。二维数组可以看做是一种特殊的一维数组,它的元素又是一个一维数组。
45.尽管C语言以传值方式进行函数调用,但也可以通过传递指针的值(变量的地址)来
达到修改实参变量值的目的,这是此题主要说明的问题。其次是要应注意表达式*(z++)的值是*z。
46.“!”表示逻辑非运算符,“! =”等于运算符,逻辑非运算符比等于运算符的优先级
低。
47.①printf 函数的浮点数缺省输出格式:在printf函数的输出中,若无输出宽度限制,每
种数据都有一个缺省的输出宽度,一般浮点数的小数位数是6位,不管输出格式是%f或%lf 皆如此。
48.printf函数的浮点数宽度限制输出:小数部分按指定数输出,且对数据傲四舍五入
处理。
49.3printf 的整数限宽输出:没有宽度制的整数原数输出。
50.关于C语言,我们应该了解以下必须要掌握的基础知识:
①C程序是由函数构成的。
②一个函数由两部分组成:函数的首部和函数体。
③一个C程序总是从main函数开始执行的,而不论main函数的整个程序中的位置如何(main函数可以放在程序最开始,也可以放在程序最后,或写在一些函数之前,在另一些函数之后)。
④C程序在书写上,表现形式比较自由,一行内可以写几个语句,一个语句可以分写在几行上。每个语句和数据定义的最后必须有一个分号。
⑤C程序本身没有输入输出语句。输入和输出的操作是由库函数scanf和 printf等函数来完成。⑥可以用/定……*/对C语言的程序的任何部分作注释。
51.C语言相对其他高级语言来说,放宽了语法检查,因此程序设计自由度大,并不是不
检查语法,C语言的程序是由函数构成的。函数不能嵌套定义,但是可以嵌套调用。
52,实体是客观存在且可以相互区别的事物。实体可以是具体的对象,如一个学生,也可
以是一个抽象的事件,如一次出门旅游等。因此,实体既可以是有生命的事物,也可是无生命的事物,但它必须是客观存在的,而且可以相互区别。
53.在文件系统中,相互独立的记录其内部结构的最简单形式是等长同格式记录的集合,
易造成存储空间大量浪费,不方便使用。在数据库系统中,数据是结构化的,这种结构化要求在描述数据时不仅描述数据本身,还要描述数据间的关系,这正是通过采用特定的数据模型来实现的。
54.通常,将软件产品从提出、实现使用维护到停止使用退役的过程称为软件生命周期。
它可以分为软件定义、软件开发及软件运行维护3个阶段。
55.在结构化程序设计思想提出之前,在程序设计中曾强调程序的效率,现在,与程序的
效率相比,人们更重视程序的可理解性。
56,关系模型较之格式化模型(网状模型和层次模型)有以下方面的优点,即数据结构比
较简单、具有很高的数据独立性、可以直接处理多对多的联系,以及有坚实的理论基础。
57.分布式数据库系统具有数据分布性、逻辑整体性、位置透明性和复制透明性的特点,
其数据也是分布的;但分布式数据库系统中数据经常重复存储,数据也并非必须重复存储,主要视数据的分配模式而定。若分配模式是一对多,即一个片段分配到多个场地存放,则是冗余的数据库,否则是非冗余的数据库。
58.头结点不仅标识了表中首结点的位置,而且根据单链表(包含头结点)的结构,只要
掌握了表头,就能够访问整个链表,因此增加头结点目的是为了便于运算的实现。
59.算法分析是指对一个算法的运行时间和占用空间做定量的分析,一般计算出相应数量
级,常用时间复杂度和空间复杂度表示。分析算法的目的就是要降低算法的时间复杂度和空间复杂度,提高算法的执行效率。
60,树是一个或多个结点组成的有限集合,其中一个特定的结点称为根,其余结点分为若
干个不相交的集合。每个集合同时又时一棵树。树有且只有1个根结点。
61.软件需求规格说明书(SRS,Software Requirement Specification)是需求分析阶段的最
后成果,是软件开发中的重要文档之一。它有以下几个方面的作用:①便于用户、开发人员进行理解和交流;②反映出用户问题的结构,可以作为软件开发工作的基础和依据:③作为确认测试和验收的依据。
62.外模式是用户的数据视图,也就是用户所见到的数据模式
全局数据视图的描述称为概念模式,即数据库中全部数据的整体逻辑结构的描述;物理存储数据视图的描述称为内模式,即数据库在物理存储方面的描述;
存储模式为内模式。
63.结构化查询语言(Structured Query Language,简称SQL)是集数据定义、数据操纵
和数据控制功能于一体的数据库语言。
64.软件工程的目标是,在给定的成本、进度的前提下,开发出具有有效性、可靠性、可
理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。基于这一目标,软件工程的理论和技术性研究的内容主要包括:软件开发技术和软件工程管理。
65.使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定
的需求或是弄清预期结果与实际结果之间的差别。软件测试是为了发现错误而执行程序的过程。测试要以查找错误为中心,而不是为了演示软件的正确功能。
66.内模式(Internal Schema)又称物理模式(Physical Schema),它给出了数据库物理存
储结构与物理存取方法,如数据存储的文件结构、索引,集簇及hash 等存取方式与存取路径。
67.数据库管理系统(Database Management System,简称DBMS)是数据库的机构,它
是一种系统软件,负责数据中的数据组织、数据操纵、数据维护、控制及保护和数据服务等,数据库管理系统是数据库系统的核心。
68.在C语言中,各语句间可以用分号隔开,一行可以书写多个语句;
C语言中进行运算的数据类型必须一致的规定,因此实型变量中不允许存放整型数,存放整型数据其实是把整型转化为实型在存放。
由于实型变量是用有限的存储单元存储的,因此能提供的有效数字总是有限的,在有效的位以外的数将被舍去,由此可能产生一些误差。
69.“%”是求余运算符或模运算符,“%”两侧均应为整型数据
70.在C语言中,自增1运算符记为“++”,其功能是使变量的值自增1。自减1运算符
记为“--”,其功能是使变量值自减1。自增1,自减1运算符均为单目运算,都具有右结合性。可有以下几种形式:
++l i自增1后再参与其他运算--Ii自减1后再参与其他运算i++i参与运算后,i的值再自增1i-- i参与运算后,i的值再自减1
在理解和使用上容易出错的是i++和++i。特别是当它们出在较复杂的表达式或语句中时,常常难于弄清,因此应仔细解析。
71,运算符“%”的两侧都应该是整型数。另外,x%=k,等价于x=x%k。
72.用strcpy(函数,该函数的调用方式是:
73.strcpy (字符数组,字符串)其中“字符串”可以是字符串常量,也可以是字符
数组。函数的功能是将“字符串”完整地复制到“字符数组”中,字符数组中原有内容被覆盖。使用该函数时注意:
①字符数组必须定义得足够大,以便容纳复制过来的字符串。复制时,同结束标志'10’一起复制。
②不能用赋值运算符“=”将一个字符串直接赋值给一个字符数组,只能用strcpyO函数来处理。
另外本题还考查连接字符串的 strcat ()函数,其调用方式是:strcat(字符数组,字符串)
功能是把“字符串”连接到“字符和数组”中的字符串尾端,并存储于“字符数组”中。“字符数组”中原来的结束标志,被“字符串”的第一个字符覆盖,而“字符串”在操作中未被修改。使用该函数时注意:
①由于没有边界检查,编程者要注意保证“字符数组”定义得足够大,以容纳连接后的目标字符串;否则,会因长度不够而产生问题。
②连接前两个字符串都会有结束标志’\0’,连接后“字符数组”中存储的字符串的结束标志’\0′被舍弃,只在目标串的最后保留一个’io'。
74. scanf函数的输入方法。Scanf()函数是格式输入函数,它从标准输入设备(键盘)
读取输入的信息。其调用格式为: scanf(“<格式化字符串>”,<地址表>);,格式化字符串包括以下三类不同的字符:
② 格式化说明符:格式化说明符与printf ()函数中的格式说明符基本相
②空白字符:空白字符会使scanf()函数在读操作中略去输入中的一个或多个空白字符。③非空白字符:一个非空白字符会使scanf ()函数在读入时剔除掉与这个非空白字符相同的字符。地址表是需要读入的所有变量的地址,而不是变量本身。这与printf)函数完全不同,要特别注意。各个变量的地址之间同“,”分开,还要注意的是在输入时,输入形式应与格式化字符串对应一致。
75.指针数组的定义、赋初值、数组元素的引用与赋值等操作和一般数组的处理方法基本
相同。其格式是:存储类型数据类型*指针数组名1[长度1]{初值 1},…功能是定义指向“数据类型”变量或数组的指针型数组,同时给指针数组元素赋初值。这些指针变量具有指定的“存储类型”。
76.类是面向对象语言中必备的程序语言结构,用来实现抽象数据类型。类与类之间的继
承关系实现了类之间的共享属性和操作,一个类可以在另一个已定义的类的基础上定义,这样使该类型继承了其超类的属性和方法,当然,也可以定义自己的属性和方法.
77.在树结构中,每个结点只有一个前件,称为父结点,没有前件的结点只有一个,称为
树的根结点;每一个结点可以有多个后件,它们都称为该结点的子结点。没有后件的结点称为叶子结点。
78.面向对象模型中,最基本概念是对象和类。对象是现实世界中实体的模型化;将属性
集和方法集相同的所有对象组合在一起,可以构成一个类。
79.若将属性、操作相似的对象归为类,也就是说,类是具有共同属性、共同方法的对象
的集合。所以,类是对象的抽象,对象则是其对应类的一个实例。
80,数据独立性是数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依赖
于应用程序。也就是说,数据的逻辑结构、存储结构与存取方式的改变不会影响应用程序。数据独立性一般分为物理独立性与逻辑独立性两级。
81.在关系模型中,把数据看成一个二维表,每一个二维表称为一个关系。表中的每一列
称为一个属性,相当于记录中的一个数据项,对属性的命名称为属性名;表中的一行称为一个元组,相当于记录值。
82.软件测试的目标是在精心控制的环境下执行程序,以发现程序中的错误,给出程序可
靠性的鉴定:调试也称排错,它是一个与测试有联系又有区别的概念。具体来说,测试的目的是暴露错误,评价程序的可靠性,而调试的目的是发现错误位置,并改正错误。
83.程序设计语言是用于书写计算机程序语言,其基本成分有以下4种,数据成分:用来
描述程序中的数据。运算成分:描述程序中所需的运算。控制成分:用来构造程序的逻辑控制结构。传输成分:定义数据传输成分,如输入输出语言。
84.软件需求规格说明书(SRS,Software Requirement Specification〉是需求分析阶段的
最后成果,是软件开发中的重要文档之一。它有以下几个方面的作用:
①便于用户、开发人员进行理解和交流;
反映出用户问题的结构,可以作为软件开发工作的基础和依据;③作为确认测试和验收的依据。
85.数据库逻辑设计的主要工作是将E-R 图转换成指定RDBMS中的关系模式。首先,从
E-R图到关系模式的转换是比较直接的,实体与联系都可以表示成关系,E-R图中属性也可以转换成关系的属性。实体集也可以转换成关系。
86. C语言的转义字符见下表所示。
转义字符﹑转义字符的意义in
回车换行
\ t横向跳到下一制表位置
\ v竖向跳格
\ b退格
\r回车
\ f换页
l l反斜线符“、”单引号符
\ a鸣铃
. ddd
1~3位八进制数所代表的字符
xhh1~2位十六进制数所代表的字符
87.为便于表示各种数据类型,机器中采用了BCD码(表示十进制数)、ASCII码(字符
型)、汉字机内码等等各种码。数据采用了补码、原码和反码为表示形式。实型数据表示方法有浮点法和定点法等,考生需熟练掌握各种码的含义,并用之来计算、比较。需要提出的是,在机器内部,所有码都是由二进制编码而成的,它都是以二进制存储在机器之中的。字符“5”和“7”的ASCII的值分别为53和55,其二进制形式分别为00110101和l 00110111。
88.算法的复杂度主要包括算法的时间复杂度和算法的空间复杂度。
所谓算法的时间复杂度是指执行算法所需要的计算工作量; 算法的空间复杂度一般是指执行这个算法所需要的内存空间。
89.链式存储结构克服了顺序存储结构的缺点:它的结点空间可以动态申请和释放:它的
数据元素的逻辑次序靠结点的指针来指示,不需要移动数据元素。故链式存储结构下的线性表便于插入和删除操作。
90.数据结构概念一般包括3个方面的内容,数据的逻辑结构、存储结构及数据上的运算
集合。数据的逻辑结构只抽象的反映数据元素之间的逻辑关系,而不管它在计算机中的存储表示形式。
91,结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、模块化限制使用
goto语句,总的来说可使程序结构良好、易读、易理解、易维护。
92.软件设计包括软件结构设计、数据设计、接口设计和过程设计。其中结构设计是定义
软件系统各主要部件之间的关系;数据设计是将分析时创建的模型转化为数据结构的定义:接口设计是描述软件内部、软件和操作系统之间及软件与人之间如何通信;过程设计则是把系统结构部件转换成软件的过程性描述。
93.确认测试的任务是验证软件的功能和性能,以及其他特性是否满足需求规格说明定各
种需求;集成测试的主要目的是发现与接口有关的错误。
94.数据流图包括4个方面,即加工(转换)(输入数据经加工变换产生输出)数据流(沿
箭头方向传送数据的通道,一般在旁边标注数据流名)、存储文件(数据源)(表示处理过程中存放各种数据的文件)、源和潭(表示系统和环境的接口,属系统之外的实体)。
95.数据库中的数据具有"集成"与"共享""的特点,亦即是数据库集中了各种应用的数据,
进行统一构造与存储,而使它们可以被不同应用程序所使用。
96.E-R模型即实体-联系模型,是将现实世界的要求转化成实体、联系、属性等几个基本
概念,以及它们之间的两种联接关系。数据库逶辑设计阶段包括以下几个过程:从E-R图向关系模式转换,逻辑模式规范化及调整、实现规范化和RDBMS,以及关系视图设计。
97.人工管理阶段是在20世纪50年代中期以前出现的,数据不独立,完全依赖于程序;
文件系统是数据库系统发展的初级阶段,数据独立性差;数据库系统具有高度的物理独立性和一定的逻辑独立性。
98.构成C程序的基本单位是函数,一个C程序总是从main函数开始执行,而不论main
函数在整个程序中位置如何。C语言的函数定义都是互相平行、独立的,在定义函数时,一个函数内不能定义另一个函数。C函数定义的一般格式有两种:传统格式和现代格式。传统格式也称K&R格式,是早期编译系统使用的格式;现代格式又称ANSI格式,是现代编译系统使用的格式。
99.结构化程序设计方法就是只采用三种基本的程序控制结构来编制程序,从而使程序具
有好的结构。这三种基本结构分别是顺序结构、选择结构和循环结构。
100.40000已经超过了C语言规定的短整型的范围。要将这样的数赋值给一个长整型的变
量,需要在整型常量后面加字母L。
101.在C语言所有的运算符中,逗号运算符的优先级最低。C语中区分大小,所以APH
和 aph是两个不同的变量。赋值表达式a-b表示将b的值付给a,而b本身的值保持不变;通过键盘可以向计算机输入允许的任何类型的数据。选项D)中当从键盘输入数据时,对于整型变量可以输入整型数值和字符,对于实型变量可以输入实型数和整型数值等。
102. sizeof ()长度运算符,或称字节数运算符。该函数用于数据类型和变量。注意: sizeof
操作符不能用于函数类型,不完全类型或位字段。不完全类型指具有未知存储大小的数据类型,如未知存储大小的数组类型、未知内容的结构或联合类型void类型等。
103.当自加运算符做后缀表达式的时候,表达式的值不变,只有变量的值增1,所以表达
式(x++*1/3)相当于(11*1/3)取整后为3。
104. strlcn函数计算字符串长度的方法。该字符串中包含的字符是:' \ t’(跳格符)、'
""《双引号)、'\065’(ASCI值为八进制065,也即十进制为51的字符)、'\ xff’(ASCII值为十六进制ff,也即十进制为255的字符)、' \n’(换行符)。
105.在给数组赋值时,可以用一个字符串作为初值,这种方法直观,方便而且符合人们的
习惯。数组 array的长度不是5,而是6,这点必须要注意。因为字符串常量的最后由系统加上一个’\0’,因此,上面的初始化与 char array []=('C' ,' h’ ,' i’ ,'n' ,' a’ , 10’};等价。
106.数据的逻辑结构有线性结构和非线性结构两大类。
107.常用的存储表示方法有4种,顺序存储、链式存储、索引存储、散列存储。其中,顺
序存储方法是把逻辑上相邻的结点存储在物理位置也相邻的存储单元中。
108.继承的优点:相似的对象可以共享程序代码和数据结构,从而大大减少了程序中的冗
余,提高软件的可重用性。
109.基于软件工程的目标,软件工程的理论和技术性研究的内容主要包括:软件开发技术和软件工程管理。软件开发技术包括:软件开发方法学、开发过程、开发工具和软件工程环境,其主体内容是软件开发方法学。软件工程管理包括:软件管理学软件工程经济学,以及软件心理学等内容。
110.在关系操作中,所有操作对象与操作结果都是关系。而关系定义为元数相同的元组的
集合。因此,关系操作的特点是集合操作。
111.一些较流行的程序语言允许过程递归调用。递归调用就是过程调用本身。递归实现的
是:当过程每一次执行后,都能返回到最近一次调用它的过程中。这样各调用点之间形成一种后进先出关系,而栈结构正适合来存储这些调用点。
112.软件工程的目标是,在给定的成本、进度的前提下,开发出具有有效性、可靠性、可
理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。基于这一目标,软件工程的理论和技术性研究的内容主要包括:软件开发技术和软件工程管理。
113.内模式(Internal Schema)又称物理模式(Physical Schema),它给出了数据库物理存
储结构与物理存取方法,如数据存储的文件结构、索引、集簇及hash等存取方式与存取路径。
114.数据库系统的数据具有高共享性低冗余性,但不能完全避免数据冗余;数据的一致性
是指在系统中同一数据的不同出现应保持相同的值。
115.数据库管理系统(Database Management System,简称DBMS)是数据库的机构,它
是一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等,数据库管理系统是数据库系统的核心。
116.在C语言中,实数有两种形式表示,即十进制数形式和指数形式,在指数形式中,e3、
2.1c3.5、.e3、e 等都是不合法的指数形式。再如 123c3或123E3都代表123乘以10的3次方。注意,字母c的前面必须有数字,且c的后面必须是整数。
117.在C语言中,对于不同类型的数据用不同的格式字符,其中,“%d”是按整型数据的
实际长度输出,“%md”中,m为指定的输出字段的宽度,如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。
118.for语句中的表达式可以部分或全部省略,两个“:”不能省略。
119.用户调用标准库函数前不必重新定义,而只需使用预编译命令将该函数所在文件包括
到用户源文件中即可。而且,系统允许用户重新独定义标准库函数,但此时该函数将失去原有含义。因此,正确答案为选项B)。调用函数时,必须要注意以下语法: ①函数名必须与所调用的函数名字完全一致;②实参的个数与形参的个数一致;
③函数必须先定义,后调用。如果被调用的函数的返回值为int型或char型,则被调用函数的定义也可以放在调用的位置之后。
如果在函数调用之前没有对函数作声明,则编译系统会把第一次遇到的该函数形式作为函数的声明,并将函数类型默认为 int型。
120.有参函数的定义一般形式是:
类型标识符﹐函数名(形式参数表列){声明部分
语旬
形式参数之间是以逗号“.”隔开。
121.EOF是文本文件的文件结束标志,NULL是打开文件错误的时候返回值。Foef (fp)
用来判断文件位置指针是否在文件末尾,文本文件和二进制文件均可以使用此函数。如果遇到文件结束就返回1,否则返回0。
122.在C语言中,将一个字符常量放到一个字符变量中,实际并不是把该字符木身放到内
存单元中去,而是将该字符的相应ASCII码放到存储单元中。
123.在树形结构中,每一个结点只有一个前件,称为父结点,没有前件的结点只有一个,
称为树的根结点;每一个结点可以有多个后件,它们都称为该结点的子结点。没有后件的结点称为叶子结点。
124.结构化分析方法主要包括:面向数据流的结构化分析方法(SA-Structured analysis),
面向数据结构的Jackson方法(JSD-Jackson system development method)和面向数据结构的结构化数据系统开发方法(DSSD-Data structured system devclopment mcthod).
125.在面向对象模型中,最基本的概念是对象和类。对象是现实世界中实体的模型化:将
属性集和方法集相同的所有对象组合在一起,可以构成一个类。
126.模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程,由
此分解来降低复杂性。
127.数据是现实世界符号的抽象,而数据模型(data model〉则是数据特征的抽象,它从
抽象层次上描述了系统静态特征、动态行为和约束行为,为数据库系统信息的表示与操作提供一个抽象的框架。
128.数据模型按不同的应用层次分成3种类型,它们是概念数据模型〈(conceptual data
model)、逻辑数据模型(logic data model)、物理数据模型( physical data model)。
129.数据结构是研究数据元素及其之间的相互关系和数据运算的一门学科,它包含3个方
面的内容,即数据的逻辑结构、存储结构和数据的运算。
130.串的长度指的是串中的字符的个数,且其字符个数可以为零。
131.计算机算法是指解题方***而完整的描述,它有以下几个基本特征:可行性、确
定性、有穷性和拥有足够的情报。
132.对象有如下一些基本特点,即标识惟一性、分类性、多态性、封装性和模块独立性。
133.软件工程概念的出现源自软件危机。所谓软件危机是泛指在计算机软件的开发和维护
过程中所遇到的一系列严重问题。总之,可以将软件危机归结为成本、质量、生产率等问题。
134.软件设计遵循软件工程的基本目标和原则,建立了适用于在软件设计中应该遵循的基
本原理和与软件设计有关的概念,它们是抽象、模块化、信息隐蔽和数据独立性。自底向上是集成测试中增量测试的一种。
135.软件的显著特点是规模庞大,复杂度超线性增长,在开发大型软件时,要保证高质量,
极端复杂困难,不仅涉及技术问题,更重要的是必须要有严格而科学的管理。
136.数据库系统(Database System,简称DBS)含数据库(Databasc,简称DB)和数据库管理
系统(Databasc Management System,简称DBMS)。
137.关系模型允许定义3类数据约束,它们是实体完整性约束、参照完整性约束及用户自
定义的完整性约束。其中前两种完整性约束由关系数据库系统支持,对于用户自定义的完整性约束,则由关系数据库系统提供完整性约束语言,用户利用该语言给出约束条件,运行时由系统自动检查。
138.条件运算符要求有三个操作对象,称三目(元〉运算符,它是C语言中惟一的一个三
目运算符。条件表达式的一般形式为:表达式1?表达式2:表达式3
其求解顺序是:先求解表达式1,若为非0(真)则求解表达式2,此时表达式2的值就作为整个条件表达式的值。若表达式1的值为О(假),则求解表达式3,表达式3的值就是整个条件表达式的值。并且注意++、--的用法。
139.8进制中,不可能包括8以上的数字,它的范围只在0-7之间,以0开头。同样,十
六进制是以Ox开头,数字在0-9和 a~f之间。
140。“%ed %d %d”表示按整型数形式输入数据,输入数据时,在两个数据之间以一个或多个空格间隔,也可以用回车键或Tab 键。
141.k=n++的意思是先将n的值赋给k,然后n的值再加1
142.C语言中的函数可以进行递归调用,但是不能在函数中定义函数,函数不必要有返回
值,若有返回值,则返回值类型必确定。
143.在线性表的任何位置插入一个元素的概率相等,即概率为p=1/(n+1),则插入一个元
素时所需移动元素的平均次数为E=1/ (n+1)n+1n=1 (n-i+1 ) =n/2。
144.用树型结构表示实体类型及实体间联系的数据模型称为层次模型,用有向图结构表示
实体类型及实体间联系的数据模型称为网状模型,用二维表格结构表示实体及联系的数据模型称为关系模型。
145.典型的数据流类型共有两种:变换型和事务型。
变换型是指信息沿输入通路进入系统,同时由外部形式变换成内部形式,进入系统的信息通过变换中心,经加工处理以后再沿输出通路变换成外部形式离开软件系统;在很多软件应用中,存在某种作业数据流,它可以引发一个或多个处理,这些处理能够完成该作业要求的功能,这种数据流就叫做事务。
146.数据独立性是数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依赖
于应用程序。也就是说,数据的逻辑结构、存储结构与存取方式的改变不会影响应用程序。数据独立性一般分为物理独立性与逻辑独立性两级。
147. strcmp函数的原型是char*strcmp(charRs1,char*s2〉 ;功能是对s1和s2所指字符串
进行比较,若s1<s2返回负数,s1—=s2返回0,若s1>s2返回正数。
148.数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构。
149.常见的过程设计工具有:程序流程图、N-S图PAD图和HIPO 图。其中,为了避免流
程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为N-S图。
150.面向对象的世界是通过对象与对象间彼此的相互合作来推动的,对象间的这种相互合
作需要一个机制协助进行,这样的机制称为消息。消息是一个实例与另一个实例之间传递的信息,它请求对象执行某一处理或回答某一要求的信息,它统一了数据流和控制流。
151.常见的需求分析方法有:结构化分析方法和面向对象的分析方法。结构化分析的常用
工具有:数据流图(DFD)、数据字典(DD)、判定树和判定表等。
152.在关系数据库中,用二维表来表示实体之间联系。
153.关系是由若干个不同的元组所组成,因此关系可视为元组的集合,将E-R图转换到关
系模式时,实体与联系都可以表示成关系。
154.c语言的程序是由主函数main()开始运行,由主函数来调用其他函数。
155.赋值表达式的左侧不能为常量或表达式。如:表达式a+7=c+b非法
156.反斜杠字符”\“赋给字符,应该写成ch=w'
157.在链表的运算过程中,采用链接方式即循环链表的结构把空表与非空表的运算统一起
来。循环链表具有两个特点:
①在循环链表中增加了一个表头结点,其数据域为任意或根据需要来设置,指针域指向线性表的第一个元素的结点。循环链表的头指针指向表头结点。
②循环链表中最后一个结点的指针不是空,而是指向表头结点。
158.基于软件工程的目标,软件工程的理论和技术性研究的内容主要包括:软件开发技术
和软件工程管理。
软件开发技术包括:软件开发方法学、开发过程、开发工具和软件工程环境,其主体内容是软件开发方法学。
软件工程管理包括:软件管理学、软件工程经济学、软件心理学等内容。
159.与结构化需求分析方法相对应的是结构化设计方法。
结构化设计就是采用最佳的可能方法设计系统的各个组成部分以及各个成分之间的内部联系的技术。也就是说,结构化设计是这样一个过程,它决定用哪些方法把哪些部分联系起来,才能解决好某个具体且有清楚定义的问题。
160.关系模型允许定义三类数据约束,它们是实体完整性、参照完整性以及用户定自己义
的完整性约束,其中前两种完整性约束由关系数据库系统自动支持。
实体完整性约束要求关系的主键中属性值不能为空,这是数据库完整性的最基本要求,因为主键是惟一决定元组的,如为空则其惟一性就成为不可能的了。
参照完整性约束是关系之间相关联基本约束,它不允许关系引用不存在的元组:即在关系中的外键要么是所关联关系中实际存在的元组,要么是空值。
自定义完整性是针对具体数据环境与应用环境由用户具体设置的约束,它反映了具体应用中数据的语义要求。
161.数据模型按不同的应用层次分为三种类型,它们是概念数据模型、逻辑数据模型和物
理数据模型。概念数据模型简称概念模型,是一种面向客观世界、面向用户的模型;它与具体的数据库管理系统无关。
162.栈和队列都是一种特殊的操作受限制的线性表,只允许在端点处进行插入和删除。二
者的区别是:栈只允许在表的一端进行插入或删除操作,是一种“后进先出”的线性表:而队列只允许在表的一端进行插入操作,在另一端进行删除操作,是一种“先进先出”的线性表。
163.链表采用的是链式存储结构,它克服了顺序存储结构的缺点:它的结点空间可以动态
申请和释放;它的数据元素的逻辑次序靠结点指针来指示,不需要移动数据元素。但是链式存储结构也有不足之处:
①每个结点中的指针域需额外占用存储空间;②链式存储结构是一种非随机存储结构
164.测试的目的是发现软件中错误。经验表明,程序中存在错误的概率与该程序中已发现
的错误数成正比。这一现象说明,为了提高测试效率,测试人员应该集中对付那些错误群集的程序。
165.软件生命周期分为软件定义、软件开发及软件运行维护3个阶段。本题中,详细设计、
软件编码和软件测试都属于软件开发阶段:维护是软件生命周期的最后一个阶段,也是持续时间最长,花费代价最大的一个阶段,软件工程学的一个目的就是提高软件的可维护性,降低维护的代价。
166.数据库(Database,简称DB)是数据的集合,它具有统一的结构形式并存放于统一
的存储介质内,是多种应用数据的集成,并可被各个应用程序所共享。数据库中数据具有“集成”、“共享”之特点。
167.数据处理是指将数据转换成信息的过程;
数据的物理独立性是指数据的物理结构的改变,不会影响数据库的逻辑结构;
关系中的行称为元组,对应存储文件中的记录,关系中的列称为属性,对应存储文件中的字段。
168.计算机语言分为低级语言、汇编语言和高级语言,C语言属于高级语言,但并不是说
C语言比其他语言高级:除了低级语言外,其他各种语言都必须编译成能被计算机识别的二进制数才能执行;C语言出现于1972年至1973年间,并不是出现最晚语言。
169.函数的形参和实参具有以下特点:
① 形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。
②实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使实参获得确定值
③实参和形参在数量上,类型上,顺序上应严格一致,否则会发生“类型不匹配”的错误。
④函数调用中发生的数据传送是单向的。即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化。
170. Fseek函数的调用形式为:fseek(文件指针,位移量,起始点)
“起始点”用0,1或2代替,0代表“文件开始”,1为“当前位置",2为“文件末尾”。“位移量”指以“起始点”为基点,向前移动的字节数。ANSIC和大多数C版本要求位移量是long 型数据。这样当文件的长度大于64k时不致出现问题。ANSI C标准规定在数字的末尾加一个字母L,就表示long 型。
171.EOF是指向文本文件的结束标志,NULL是打开文件错误时的返回值。Feof (fp〉用
来判断文件是否在文件末尾,文本文件和二进制文件均可以使用此函数,如果遇文件结束就返回1,否则返回0。
172.算法是指解题方***而完整的描述。它有4个基本特征,分别是可行性、确定性、
有穷性和拥有足够的情报。
173.对于长度为n的有序线性表,在最坏情况下,二分查找只需要比较log2n次,而顺序
查找需要比较n 次。
174.将属性、操作相似的对象归为类,就是,类是具有共同属性、共同方法的对象的集合。
175.数据库管理系统是位于用户与操作系统之间的一层系统管理软件,是一种系统软件,
是用户与数据库之间的一个标准接口。其总是基于某种数据模型,可以分为层次模型、网状模型和关系模型。
176.在函数中,可以通过指针变量来引用调用函数中对应的数组元素,此操作是通过传递
数组的首地址来实现。
177.外模式是用户的数据视图,也就是用户所见到的数据模式;
全局数据视图的描述称为概念模式,即数据库中全部数据的整体逻辑结构的描述;物理存储数据视图的描述称为内模式,即数据库在物理存储方面的描述;
存储模式即为内模式。
178.在C程序中,判断逻辑值时,用非О表示真,用О表示假。逻辑表达式计算时,逻辑
表达式值为真是用1表示的,若逻辑表达式的值为假,用О表示。
179.switch 语句的语法格式为:
switch(表达式)
case常量表达式1:语句组1;case常量表达式2:语句组2;…
case常量表达式n:语句组 ntdefault:语句组n+1;
}
另外,注意以下几点关于switch语句的重点:①系统在执行时计算开关表达式的值;
②根据所得的值在各个case 标号表达式中寻找匹配,直到发现与表达式匹配的标号(本例中匹配的是case ' B’:);
③找到匹配后执行后面相应的语句表,顺序往下执行;
④如果无相匹配的标号,若存在default标号,则执行该语句标号后面的语句表n+l;当不存在 default标号时,不执行switch 中的任何一个语句表。
一般而言,在多分支结构中总会出现“意外”的情况,这时均可归入 default:程序段,作统一的处理。Default标号是可选性的,不必每次都有,视需要而定。Switch语句中还可以包含switch 语句,形成switch 的嵌套。
180.引用结构体变量中成员中的方式为:结构体变量名.成员名,指针变量名->成员名,(*
指针变量名) .成员名。
181.带参数宏定义如下:#define宏名(参数)字符串。
宏定义不是C语句,不必在行末加分号。
182.strlen函数的功能是求字符串的长度,并返回字符个数,不计最后的’\0’
strcpy函数的功能是把后面的字符串复制到前面字符串所指向的空间。
183.Buf是一个指针,对fread来说,它是读入数据的存放地址。对fwrite来说,是要输出
数据的地址
184.数据的逻辑结构有线性结构和非线性结构两大类,
185.常用的存储表示方法有4种,顺序存储、链式存储、索引存储、散列存储。其中,顺
序存储方法是把逻辑上相邻的结点存储在物理位置也相邻的存储单元中。
186.继承的优点:相似的对象可以共享程序代码和数据结构,从而大大减少了程序中的冗
余,提高软件的可重用性。
187.在关系操作中,所有操作对象与操作结果都是关系。而关系定义为元数相同的元组的
集合。因此,关系操作的特点是集合操作。
188. fwrite函数的一般调用形式为: fwrite buffer,size,count,fp),其中:
buffer:是一个指针变量,是要输出数据的起始地址
size:要写的字节数
count:要进行写多少个size字节的数据项fp:文件型指针
189.数据定义语言(Data Definition Language,简称DDL)负责数据的模式定义与数据的物
理存取构建:数据操纵语言(Data Manipulation Language,简称DML)负责数据的操纵,包括查询及增、删、改等操作。
190.数据处理是指将数据转换成信息的过程,所以选项A叙述错误;数据的物理独立性
是指数据的物理结构的改变,不会影响数据库的逻辑结构,所以选项B叙述错误;关系中的行称为元组,对应存储文件中的记录,关系中的列称为属性,对应存储文件中的字段。
191.结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、模块化及限制使用
goto 语句总的来说可使程序结构良好、易读、易理解、易维护。
192.工管理阶段是在20世纪50年代中期以前出现的,数据不独立,完全依赖于程序:文
件系统是数据库系统发展的初级阶段,数据独立性差;数据库系统具有高度的物理独立性和一定逻辑独立性。
193.C语言中,常用的数据类型有int.char,float,double等,但C语言标准没有具体规定以
上各类数据所占内存字节数,只要求long型数据长度不短于 int型, short型不长于 int型,具体如何实现,由各计算机系统自行决定。
194.在C语言中,调用函数不可能改变实参指针变量的值,但可以改变实参指针变量所指
变量的值。
195.由于%=运算符的优先级别低于-运算,a%=4-1即是 a%=3,等价于 a=a%3即 a=2%3=2。
表达式a+=a*=a-=a*=3,计算时注意赋值表达式的值和变量的值随时被更新,计算表达式的值,开始时a=2,表达式赋值是从左至右进行的,表达式 a*=3使得a=6,此表达式的值也为6,于是表达式a-=a*=3相当于a-=6,此时a=a-6=6-6=0,a的值为0,后面的计算就不用做了,最终a=O。
196.C语言规定,如果指针变量q已指向数组中的一个元素,则q++指向同一数组中的下
一个元素(而不是将q的值简单的加1)。
197.线性表可以为空表;第一个元素没有直接前件,最后一个元素没有直接后件;线性表
定义中,元素的排列并没有规定大小顺序。
198.软件工程概念的出现源自于软件危机。为了消除软件危机,通过认真研究解决软件危
机方法,认识到软件工程是使计算机软件走向工程科学的途径,逐步形成了软件工程的概念。
199.数据流相当于一条管道,并有一级数据(信息)流经它。在数据流图中,用标有名字
的箭头表示数据流。数据流可以从加工流向加工,也可以从加工流向文件或从文件流向加工,并且可以从外部实体流向系统或从系统流向外部实体。
200.关系表中,每一行称为一个元组,对应表中的一条记录;每一列称为表中的一个属性,
对应表中的一字段;在二维表中凡能惟一标识元组的最小属性集称为该表的键或码。201.循环链表就是将单向链表中最后一个结点的指针指向头结点,使整个链表构成一个环
形,这样的结构使得从表中的任一结点出发都能访问到整个链表。
202.在有向图中,若任意两个顶点都连通,则称该图是强连通图,这样的有向图的形状是
环状,因而至少应有n条边。
203.模块的独立程序的评价设计好坏的重要度量标准。衡量软件的模块独立性使用耦合性
和内聚性两个定性的度量标准。
204.软件的白盒测试方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内
部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。
205.C语言把文件看成是一个字符(字节)的序列,即由一个一个字符(字节)的数据顺
序组成。根据数据的组织形式,可分为ASCII文件和二进制文件。ASCI 文件又称文本文件,它的每一个字节放一个ASCI代码,代表一个字符。二进制文件是把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放。
206.通常,引用一个数组元素可以用下标法,如 alp-a]形式,或指针法,如(&alil)的形式。
本题中a[9]=9,a[10]显然超出了数组范围,注意,数组的下标是从О开始的。
207.函数 rewind的功能是将文件指针重新指向一个流的开头。用法如下: int rewind(FILEstream):并且无返值。
208.在树结构中,每个结点只有一个前件,称为父结点,没有前件的结点只有一个,称为
树的根结点:每一个结点可以有多个后件,它们都称为该结点的子结点。没有后件的结点称为叶子结点。
209.算法分析是指对一个算法的运行时间和占用空间做定量的分析,一般计算出相应数量
级,常用时间复杂度和空间复杂度表示。分析算法的目的就是要降低算法的时间复杂度和空间复杂度,提高算法的执行效率。
210.头结点不仅标识了表中首结点的位置,而且根据单链表(包含头结点)的结构,只要
掌握了表头,就能够访问整个链表,因此增加头结点目的是为了便于运算的实现。
211.关系模型较之格式化模型(网状模型和层次模型)有以下方面的优点,即数据结构比
较简单、具有很高的数据独立性、可以直接处理多对多的联系,以及有坚实的理论基础。
212.在文件系统中,相互独立的记录其内部结构的最简单形式是等长同格式记录的集合,
易造成存储空间大量浪费,不方便使用。在数据库系统中,数据是结构化的,这种结构化要求在描述数据时不仅描述数据本身,还要描述数据间的关系,这正是通过采用特定的数据模型来实现的。
213.在 DOS的环境下,既能代表键盘又能代表显示器的设备文件名为CO
#offer求助##学习路径#