日常练习知识总结(一)

10 篇文章 0 订阅
9 篇文章 0 订阅

1. 合并分E-R图
各个局部应用所面向的问题不同,各个子系统的E-R图之间必定会存在许多不一致的地方,称之为冲突。
子系统E-R图之间的冲突主要有三类:
①属性冲突
②命名冲突
③结构冲突

①属性冲突
属性域冲突,即属性值的类型、取值范围或取值集合不同。
例如零件号,有的部门把它定义为整数,有的部门把它定义为字符型。
年龄,某些部门以出生日期形式表示职工的年龄,而另一些部门用整数表示职工的年龄。
属性取值单位冲突。
例如,零件的重量有的以公斤为单位,有的以斤为单位,有的以克为单位。

②命名冲突
同名异义,即不同意义的对象在不同的局部应用中具有相同的名字。
异名同义(一义多名),即同一意义的对象在不同的局部应用中具有不同的名字。
如对科研项目,财务科称为项目,科研处称为课题,生产管理处称为工程。
命名冲突
可能发生在实体、联系一级上
也可能发生在属性一级上
通过讨论、协商等行政手段加以解决

③结构冲突

同一对象在不同应用中具有不同的抽象。
例如,职工在某一局部应用中被当作实体,而在另一局部应用中则被当作属性。
解决方法:把属性变换为实体或把实体变换为属性,使同一对象具有相同的抽象。
同一实体在不同子系统的E-R图中所包含的属性个数和属性排列次序不完全相同。
解决方法:使该实体的属性取各子系统的E-R图中属性的并集,再适当调整属性的次序。

实体间的联系在不同的E-R图中为不同的类型。
实体E1与E2在一个E-R图中是多对多联系,在另一个E-R图中是一对多联系
解决方法是根据应用的语义对实体联系的类型进行综合或调整。

 

2. 网络安全内容包括:

  • 运行系统的安全
  • 信息系统的安全
  • 网络的安全
  • 信息内容的安全
  • 信息传播的安全

 

3. 如何判断一个数字序列是不是堆?

将这个序列看成是二叉树,如果根节点是i,左子树就是2*i,右子树就是2*i+1,如果是最大堆,则子节点的值永远小于根节点;如果是最小堆,则子节点的值永远大于根节点

 

4.操作系统中, 在一段时间内,只允许一个进程访问的资源被称为临界资源,每个进程中访问临界资源的那段程序称为临界区。可以被多个进程访问的资源被称为共享资源,同理那段程序被称为共享区。

 

5. 数据库的设计过程:需求分析、概念结构设计、逻辑结构分析、数据库物理设计、数据库实施、数据库运行和维护阶段。

 

6. n个结点的无向图,若不允许结点到自身的边,也不允许结点到结点的多重边,且边的总数为n(n-1)/2,则该无向图一定是连通图。

 

7. ARP协议将IP地址转换为MAC地址,用于寻找某一个IP地址的物理机,而RARP将MAC地址转换为IP地址,用于应答ARP。

 

8. http协议中的状态码:

1xx(临时响应)

2xx(成功)

3xx(已重定向)

    301 永久重定向

    302 临时重定向

4xx(请求错误)

    404 找不到网页

    403 已禁止

    401 未授权

    400 请求失败;服务器不理解请求语法

 

9. 

#include
void test(void *data) {
    unsigned int value = (此处应填入)
    printf("%u", value);
}
using namespace std;
int main() {
    unsigned int value = 10;
    test(&value);
    return 0;
}

填入部分:*((unsigned int *)data)

传入数据为*data类型,机器就知道是指针,知道指针所指向的地址位置,但是指针的类型是void,所以程序无法知道应该读取几个字节,所以需要使用指针类型(unsigned int *)墙之转换成知道读几个字节的int型指针。

 

10. 当 B属性函数依赖于A属性时,属性A与B 的联系是多对1,因为A→B,表示对于A中的每一个属性在B中只有唯一的一个值与之对应,而B中的一个值可与A中的多个值对应,所以A、B之间的联系是从A到B的多对一联系。所以答案应为B。

 

11. 有两个32bit的数A、B,使用下面方式得到32bit的数C、D。哪一种可以使用C、D得到A、B的值?

C=(int32)(A+B),D=(int32)(A-B)
C=(int32)(A+B),D=(int32)((A-B)>>1)
C=(int32)(A+B),D=B
C=(int32)(A+B),D=(int32)(A+2*B)
C=(int32)(A+B),D=(int32)(A/B)

方法为:C=(int32)(A+B),D=B

A,B都是32位的int类型的数,可表示的数的范围为:-2147483648~2147483647。

(1) A选项中: C=(int32)(A+B),D=(int32)(A-B) ,如果能表示,则表示成A=(C+D)/2,B=(C-D)/2,考虑到C+D=(A+B)+(A-B)=2B,虽然B在这个范围内,但是2B有可能超出了32位Int类型的表示范围了。

   (2) B,D,E选项同理都有可能超出32位int类型的表示范围。

   (3)C选项中,C=A+B,D=B,得到A=C-D,B=D,根据原式C-D=A+B-B=A,D=B,肯定不会超出范围。

 

12. 在C语言中,函数的隐含存储类别为extern,由于在C语言中函数为static或者为extern,如果函数不指定是static的,那么就是extern的。

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值