C++简单笔试题

来源:互联网 发布:淘宝企业店铺运营 编辑:程序博客网 时间:2024/05/17 15:36

(1)下列(  B   )不是计算机病毒的特性。
     A)传染性          B)结构性
     C)隐蔽性         
D)可激发性

第(2)~(4)题基于如下所示的二叉树。

 (2)该二叉树对应的树林包括(    )棵树。
      A)1
      B)2
      C)3
      D)4

(3)如果用liink-rlink法存储该二叉树,则各结点的指针域中共包含(    )个空指针。
      A)0
      B)4
      C)8

      D)12
(4)如果将该二叉树存储为对称序线索二叉树,则结点C的左线索指向(    )。
     A)结点A
     B)结点B
     C)结点E
     D)结点G

(5)在解决死锁时采用资源有序分配法,这可以使下列(    )产生死锁的必要条件不成立。
     A)互斥        B)不可剥夺     C)部分分配     D)循环等待

(6)在数据库技术中,E-R图描述的是(    )模型。
     A)物理模型      B)概念模型       C)逻辑模型     D)语言模型

(7)从E-R模型到关系模式的转换是数据库设计的(    )阶段的任务。
     A)需求分析      B)概念结构设计      C)逻辑结构设计    D)物理结构设计

(8)下列代码的输出为(3

int sub(int a,int b){return a-b;}int main(void){int (*SUB)(int ,int);   //指向函数的指针SUB=sub;printf("%d\n",(*SUB)(8,(10,5)));   //相当于sub(8,(10,5)); 其中(10,5)是逗号表达式,其值为最后一个值5,所以输出结果为:8-5=3return 0;}

(9)下列代码的输出为(C

int main(void){int x,y,z;x=y=1;z=x++,y++,++y;printf("%d %d %d\n",x,y,z);return 0;}
A、2   3    3            B、2    3    2            C、 2     3      1           D、1   1    1  

解析:x和y的值经过自增以后分别为2和3,D可以排除。剩下3个选项选择什么呢?如果是(x++,y++,++y)实际上可以看成(1,1,3)整个逗号表达式的值应该是3,那么选A。   如果是(x++,++y,y++)实际上可以看成(1,2,2)整个逗号表达式的值应该是2,那么选B。   但这是错的,这儿还有赋值运算符。赋值运算符的优先级是14,而逗号表达式的优先级是15,也就是说上面的表达式中应该等价于这样的结合:(z=x++),y++,++y;如果这样写的话,则答案很清晰,为:2,3,1

(10)下列关于不同文档格式的叙述中,错误的是

  A).txt是纯文本格式,文档中仅含有文字符号的代码
  B).doc是微软公司专用的Word文档格式
  C).rtf是Adode公司专用的文档格式
  D).html是超文本标记语言格式,Web网页通常采用该格式。
(11)当电子邮件软件从邮件服务器读取邮件时,可以使用下列哪一个(些)协议?
I、 简单邮件传输协议SMTP  II、邮局协议POP3
III、交互式邮件存取协议 IMAP
A、仅I    B、仅II   C、仅II和III   D、仅I和III

(12)在下载的普通程序中隐含了一些非法功能的代码,用于窃取用户私密信息或执行其他恶意程序,这种恶意软件的攻击方式称为()
A、特洛伊木马    B、后门陷进   C、逻辑炸弹    D、僵尸网络

13、广义表A = ((x,(a,b)),((x,(a,b)),y)) 的长度和深度为多少?
 深度是最大的嵌套括号的层次,因此这样看:
( (x, (a,b) ), ( (x, (a,b) ),y) )
1 2  3    21  2 3  4   3 2  1 0


至于长度嘛,就是第一层的元素个数,因此就是2了
第一个元素是子表(x,(a,b)),第二个元素是子表((x,(a,b)),y)

14、常用的取模计算方法:
-5   mod    3    =    1
-5   mod    8    =    3
5    mod    -3   =    -1
5    mod    -8   =    -3
计算取模的3个规则
1、除数*商+余数=被除数
2、数和数同符号
3、除数的绝对值大于余数的绝对值

按照上面三条规则,就可以计算出余数了。
5  mod  -8  = y,y < 0,假如商为:x
则-8*x + y = 5,8>|y|,根据这2个方程,可以得出下面三个方程:

-8*x + y = 5,-8<y<0,x<0
x=-1,则 y = -3,满足条件,结束计算。


5  mod  -3  = y,y < 0,假如商为:x
则-3*x + y = 5,3>|y|,根据这2个方程,可以得出下面三个方程:
-3*x + y = 5,-3<y<0,x<0
x=-1,则 y = 2,不满足条件。
x=-2,则 y = -1,满足条件,结束计算。




原创粉丝点击