重点-选择题

1、printf(“%f\n”,5);
【在printf中,float会自动转换成64位的double】
输出结果:
0.000000

2、sizeof(a = b+1)
【不会对sizeof内的表达式进行运算】

3、~a>>4+1;
~ == + > 移位
算术运算 > 移位运算 > 比较运算 > 位运算 > 和/或

4、(x&y) + ( (x^y)>>1 )
求两个数的平均值

5、静态成员变量,可以在一个类的所有实例中共享数据,可以声明为保护或者私有。

1~5参考:这里写链接内容

6、设 m 和 n 都是 int 类型,那么以下 for 循环语句,__
for(m=0,n=-1;n=0;m++,n++)
n++;
A.循环体一次也不执行
B.循环体执行一次
C.是无限循环
D.有限次循环
E.循环结束判断条件不合法
F.运行出错

选A,因为n=0是赋值运算,先将0给n然后再判断n是否为真,其为假故永不执行。

7、关于引用以下说法错误的是()。
引用必须初始化,指针不必
引用初始化以后不能被改变,指针可以改变所指的对象
不存在指向空值的引用,但是存在指向空值的指针
一个引用可以看作是某个变量的一个“别名”
引用传值,指针传地址
函数参数可以声明为引用或指针类型

引用也是传递的地址选E

8、解决HASH冲突的办法:
线性探测 ✔
单旋转法
二次探测 ✔
拉链法 ✔
双重散列 ✔
多重散列 ✔

【双重散列】
所谓双散列也是解决冲突域的一种方法,如果用第一个哈希函数解决不了冲突域时,用第二个继续计算,只到冲突域解决为止
题中14 23 39根据给的哈希函数:
14%7=0 14放到地址0下
23%7=2 23放到地址2下
39%7=4 39放到 4
9%7=2 产生冲突(因为地址2上存了23),用下一个哈希函数在计算9%5+1=5 地址5可用,9放到地址5下
25%7=4 冲突 再用25%5+1=6 25放到地址6下

9、关系代数的优化策略是_。

——尽早执行选择运算

10、可重定位内存分配的目的是_。

——解决碎片和紧缩问题

11、下列哪一项用于产生数字签名()
A 接收方的私钥
B 发送方的私钥
C 发送方的公钥
D 接收方的公钥

发送报文时,发送方用一个哈希函数从报文文本中生成报文摘要,然后用自己的私人密钥对这个摘要进行加密,这个加密后的摘要将作为报文的数字签名报文一起发送给接收方,
接收报文时,接收方首先用与发送方一样的哈希函数从接收到的原始报文中计算出报文摘要,接着再用发送方的公用密钥来对报文附加的数字签名进行解密,如果这两个摘要相同、那么接收方就能确认该数字签名是发送方的。
数字签名有两种功效:
一是能确定消息确实是由发送方签名并发出来的,因为别人假冒不了发送方的签名。
二是数字签名能确定消息的完整性。因为数字签名的特点是它代表了文件的特征,文件如果发生改变,数字摘要的值也将发生变化。不同的文件将得到不同的数字摘要。 一次数字签名涉及到一个哈希函数、发送者的公钥、发送者的私钥。
选B

12、笔试题库

13、子类的指针和第一个基类的指针应该是一样的,和第二个基类是不一样的。

14、下面有关类的静态成员和非静态成员,说法错误的是?
静态成员存在于内存,非静态成员需要实例化才会分配内存
非静态成员可以直接访问类中静态的成员
静态成员能访问非静态的成员
非静态成员的生存期决定于该类的生存期,而静态成员则不存在生存期的概念

正确答案: C

你可能感兴趣的:(重点-选择题)