引入:以下是自己复习时整理的遇到的重难点和不熟悉的部分,并不全面,若有错误请指出,感谢!
计算机二级C语言考试内容:
- C语言程序的结构
- 数据类型及其运算
- 选择结构程序设计
- 循环结构
- 数组的定义和引用
考试方式为上机考试,时长120分钟。单选题占40分(含公共基础10分),操作题占60分(包括程序填空题、程序修改题、程序设计题)
目录
5、循环队列内元素个数:(rear - front + m) % m
7、关系R,S得到T,差、交、并、自然连接、选择、投影、笛卡尔积、等值连接
12、数据库中,数据模型包括数据结构、数据操作和数据(完整性)约束
18、N-S图——盒图、PAD图——问题分析图、E-R图——实体类型、属性和联系、程序流程图
19、快速排序、堆排序、顺序查找、寻找最大项(最坏情况下查找次数)
23、例题设在一棵度数为3的树中,度数为3的结点数有2个,度数为2的结_蘑菇街笔试题_牛客网 (nowcoder.com)
28、关系模式单选汇总关系模式单选汇总_有关系模式,其函数依赖集为教师号→姓名,教师号→职称课程号→课程名,课程号→学优快云博客
35、二叉树某二叉树共有13个节点,其中有4个度为1的节点,则叶子节点数为多少_百度知道 (baidu.com)
40、成目录数据库三级模式体系结构的划分有利于保持数据库的数据独立性
41、按照传统的数据模型分类,数据库系统可分为层次、网状和关系
1、位运算符
~按位取反(~i==-i-1)
|按位或
&按位与
^异或
2、不允许创建临时变量交换值
当一个数异或本身时,结果为0。即a^a=0。
一个数异或0时,等于它本身。即a^0=a。
#include<stdio.h>
int main()
{
int a=2;
int b=3;
b=a^b;
a=a^b;//这里等于a=a^a^b=b,
// a^a=0,b^0=b
b=a^b;//同理展开b=b^a^b=a
printf("a=%d b=%d",a,b);
return 0;
}
3、关系模型中三类完整性约束
– 实体完整性(Entity Integrity)
– 参照完整性(Referential Integrity)
– 用户定义的完整性(User-defined Integrity) •
实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性,应该由关系系统自动支持
原文链接:关系模型中的三类完整性约束:实体完整性、参照完整性和用户定义完整性_实体完整性约束-优快云博客
4、数据库三级模式:外模式、模式(概念/逻辑模式)和内模式
原文链接:数据库三级模式:外模式、模式和内模式_模式内模式外模式-优快云博客
5、循环队列内元素个数:(rear - front + m) % m
原文链接:判断循环队列的队空、队满以及队列中元素个数的计算_循环队列中元素个数的计算-优快云博客
6、在希尔排序法中,每经过一次数据交换后能消除多个逆序
7、关系R,S得到T,差、交、并、自然连接、选择、投影、笛卡尔积、等值连接
原文链接:编程语言中,差、交、并、自然连接、选择、投影、笛卡尔积分别都是什么运算...-优快云博客
等值连接和自然连接的区别,三种连接的辨析:非等值连接,等值连接,自然连接-优快云博客
8、字符、字符串
A、不占字节,不是合法的字符常量
B、字符串比较用strcmp
C、两个连续的双引号表示空的字符串,‘\0'
D、空字符串内存空间大小为1,空字符内存空间大小为0
9、面向对象原则:高内聚、低耦合;多聚合、少继承
面向对象原则:高内聚、低耦合。多聚合、少继承_高内聚,低耦合,多聚合,少继承-优快云博客
10、结构图的深度、宽度、最大扇入数、最大扇出数
11、数据结构分类
数据结构分为逻辑结构和物理结构。
逻辑结构:指数据元素之间逻辑关系的数据结构,这里的逻辑关系是指数据元素之间的前后间关系,与数据在计算机中的存储位置无关。
物理结构:指数据的逻辑结构在计算机存储空间中的存放形式称为数据的物理结构,也叫做存储结构。
数据的逻辑结构主要分为线性结构和非线性结构。
线性结构:数据结构的元素之间存在一对一线性关系,所有结点都最多只有一个直接前趋结点和一个直接后继结点。常见的有数组、队列、链表、栈。
非线性结构:各个结点之间具有多个对应关系,一个结点可能有多个直接前趋结点和多个直接后继结点。常见的有多维数组、广义表、树结构和图结构等。
数据的物理结构表示数据元素之间的逻辑关系,一种数据结构的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有:
顺序存储:存储顺序是连续的,在内存中用一组地址连续的存储单元依次存储线性表的各个数据元素。
链式存储:在内存中的存储元素不一定是连续的,用任意地址的存储单元存储元素,元素节点存放数据元素以及通过指针指向相邻元素的地址信息。
索引存储:除建立存储结点信息外,还建立附加的索引表来标识节点的地址。索引表由若干索引项组成。
散列存储:又称Hash存储,由节点的关键码值决定节点的存储地址。
12、数据库中,数据模型包括数据结构、数据操作和数据(完整性)约束
13、带链队列&栈
在带链队列中,队头指针和队尾指针都是在动态变化的
在带链队列中,队头指针和队尾指针可以指向同一个位置(rear=front队列空或满)
在带链栈中,栈顶指针是在动态变化的,但栈底指针是不变的
带链栈空的条件是top=bottom=null,带链队列空的条件是front=rear=null。在带链栈(或队列)中,经过一系列正常操作后,如果top=bottom(或front=rear ),则栈(或队列)中的元素个数为0或1;如果top=bottom=null(或front=rear=null ),则元素个数为0, top=bottom≠null(或front=rear≠null )为1。如果top≠ bottom(或front≠rear )则不确定。
14、数据字典所定义的对象都包含于数据流图(DFD图)
15、合法字符常量
直接写出字符本身,然后用一对单引号括起来。比如'A','1'等等。但是有一些特殊字符不能这样表示,比如单引号本身,不能写成 ''',会报错,所以给这些特殊字符前面加个“\”符号标志一下,告诉编译器接下来的字符要当成普通字符来读,就像这样'\''。
用编码表示字符。具体做法是先写个斜杠,再加上编码,最后用单引号括起来。字符的编码是什么?查ASCII码表。注意这里的编码只能用八进制和十六进制,用八进制时前面加0或不加,用十六进制时前面加x。 比如'\07'和'\7'是一样的,是八进制。'\x7'是十六进制。
16、算法空间、时间复杂度
算法空间复杂度的度量方法是执行算法所需要的存储空间
算法时间复杂度的度量方法是执行算法所需要的基本运算次数
17、前序遍历、中序遍历、后序遍历
前序遍历:根左右
中序遍历:左根右
后序遍历:左右根
原文链接:前序、中序、后续遍历二叉树 - 知乎 (zhihu.com)
18、N-S图——盒图、PAD图——问题分析图、E-R图——实体类型、属性和联系、程序流程图
19、快速排序、堆排序、顺序查找、寻找最大项(最坏情况下查找次数)
快速排序:n(n-1)/2(等同于冒泡排序)
插入排序:n^2
希尔排序:n^1.5
堆排序:nlog2(n)
顺序查找:n
寻找最大项:n-1
循环链表:1
20、数据库的主要特点
①实现数据共享。
②减少数据的冗余度。
③数据的独立性。
④数据实现集中控制。
⑤数据一致性和可维护性,以确保数据的安全性和可靠性。
⑥故障恢复。数据库中的表只能尽量避免数据的重复,不能避免一切数据的重复。
21、例题
22、树、度
结点拥有的子树个数称为结点的度对于树而言,树的度为树内各结点最大的度
23、例题设在一棵度数为3的树中,度数为3的结点数有2个,度数为2的结_蘑菇街笔试题_牛客网 (nowcoder.com)
24、文件
r:以只读的方式打开文本文件,文件必须存在;
w:以只写的方式打开文本文件,文件若存在则清空文件内容从文件头部开始写,若不存在则根据文件名创建新文件并只写打开;
a:以只写的方式打开文本文件,文件若存在则从文件尾部以追加的方式开始写,文件原来存在的内容不会清除(除了文件尾标志EOF),若不存在则根据文件名创建新文件并只写打开;
r+:以可读写的方式打开文本文件,文件必须存在;
w+:以可读写的方式打开文本文件,其他与w一样;
a+:以可读写的方式打开文本文件,其他与a一样;
25、结构化方法软件需求分析工具
数据流图DFD、数据字典DD、判定树和判定表。
26、黑盒测试、白盒测试
黑盒测试方法主要有等价类划分、边值分析、因—果图、错误推测等,主要用于软件确认测试。
白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。
27、数据独立性:物理独立性、逻辑独立性
原文链接:数据独立性(物理独立性+逻辑独立性)_逻辑独立性和物理独立性的含义-优快云博客
28、关系模式单选汇总关系模式单选汇总_有关系模式,其函数依赖集为教师号→姓名,教师号→职称课程号→课程名,课程号→学优快云博客
29、关系模式、关系范式
30、软件的三要素
程序、数据及相关文档
31、对象的成分
标识、属性和方法(或操作)
32、数据流图原则
数据流图原则:①一个加工的输出数据流不应与输入数据流同名,即使它们的组成成分相同:②保持数据守恒。也就是说, 一个加工所订输出数据流中的数据必须能从该加工的输入数据流中直接获得,或者说是通过该加工能产生的数据;③每个加工必须既有输入数据流,义有输出数据流:④所有的数据流必须以一个外部实体开始,并以一个外部实体结束:⑤外部实体之间不应该存在数据流。
33、例题
34、数据库设计的六个阶段
需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行与维护
35、二叉树某二叉树共有13个节点,其中有4个度为1的节点,则叶子节点数为多少_百度知道 (baidu.com)
设二叉树度为1节点个数为N1,度为2节点个数为N2,度为0节点个数为N0,总结点数为S。则有:
1)S = N1 + N2 + N0 (按结点数计算)
2)S= N1 + 2 × N2 + 1(按边计算)
利用树的定义:出度 = 入度
(假设出度为0节点数N0,出度为1节点数为N1,出度为2节点数为N2)
出度:1*N1 + 2 * N2
入度:N0+N1+N2 - 1(根节点没有入度,而计算出度又包括根节点,需要减掉)
故: N2 = N0-1
36、字符串例题
37、数据库语言
数据定义语言:集中负责数据结构定义与数据库对象定义
数据管理语言:用于定义和修改数据库结构和对象,如表、索引和视图。DDL语句会改变数据库的元数据。
数据操纵语言:用于存取和修改数据,DML语句不会改变数据库结构,而是操作表中的数据。查询
数据控制语言:用来授权或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,能够对数据库进行监视