不是VIP会员,不能显示答案,请在后台“我的信息” 在线升级 VIP

一、单项选择题(共20题,每题1.5分,共计30分;每题有且仅有一个正确选项)

1. 1MB等于( )。

  • A.1000字节
  • B.1024字节
  • C.1000 X 1000字节
  • D.1024 X 1024字节

2. 在PC机中,PENTIUM、奔腾、酷睿、赛扬等是指( )。

  • A.生产厂家名称
  • B.硬盘的型号
  • C.CPU的型号
  • D.显示器的型号

3. 操作系统的作用是( )。

  • A.把源程序译成目标程序
  • B.便于进行数据管理
  • C.控制和管理系统资源
  • D.实现硬件之间的连接

4. 在计算机内部用来传送、存贮、加工处理的数据或指令都是以( )形式进行的。

  • A.二进制码
  • B.八进制码
  • C.十进制码
  • D.智能拼音码

5. 下列说法正确的是( )。

  • A.CPU的主要任务是执行数据运算和程序控制
  • B.存储器具有记忆能力,其中信息任何时候都不会丢失
  • C.两个显示器屏幕尺寸相同,则它们的分辨率必定相同
  • D.个人用户只能使用Wifi的方式连接到Internet

6. 二进制数00100100和00010100的和是( )。

  • A.00101000
  • B.01000001
  • C.01000100
  • D.00111000

7. 与二进制小数0.1相等的十六进制数是( )。

  • A. 0.8
  • B.0.4
  • C.0.2
  • D.0.1

8. 所谓的“中断”是指( )。

  • A.操作系统随意停止一个程序的运行
  • B.当出现需要时,CPU暂时停止当前程序的执行转而执行处理新情况的过程
  • C.因停机而停止一个程序的运行
  • D.电脑死机

9. 计算机病毒是( )。

  • A.通过计算机传播的危害人体健康的一种病毒
  • B.人为制造的能够侵入计算机系统并给计算机带来故障的程序或指令集合
  • C.一种由于计算机元器件老化而产生的对生态环境有害的物质
  • D.利用计算机的海量高速运算能力而研制出来的用于疾病预防的新型病毒

10. FTP可以用于( )。

  • A.远程传输文件
  • B.发送电子邮件
  • C.浏览网页
  • D.网上聊天

11. 下面哪种软件不属于即时通信软件( )。

  • A.QQ
  • B.MSN
  • C.微信
  • D.P2P

12. 6个顶点的连通图的最小生成树,其边数为( )。

  • A.6
  • B.5
  • C.7
  • D.4

13. 链表不具备的特点是( )。

  • A.可随机访问任何一个元素
  • B.插入、删除操作不需要移动元素
  • C.无需事先估计存储空间大小
  • D.所需存储空间与存储元素个数成正比

14. 线性表若采用链表存储结构,要求内存中可用存储单元地址( )。

  • A.必须连续
  • B.部分地址必须连续
  • C.一定不连续
  • D.连续不连续均可

15. 今有一空栈S,对下列待进栈的数据元素序列a,b,c,d,e,f依次进行进栈,进栈,出栈,进栈,进栈,出栈的操作,则此操作完成后,栈S的栈顶元素为( )

  • A.f
  • B.c
  • C.a
  • D.b

16. 前序遍历序列与中序遍历序列相同的二叉树为( )。

  • A.根结点无左子树的二叉树
  • B.根结点无右子树的二叉树
  • C.只有根结点的二叉树或非叶子结点只有左子树的二叉树
  • D.只有根结点的二叉树或非叶子结点只有右子树的二叉树

17. 如果根的高度为1,具有61个结点的完全二叉树的高度为( )。

  • A.5
  • B.6
  • C.7
  • D.8

18. 下列选项中不属于视频文件格式的是( )。

  • A.TXT
  • B.AVI
  • C.MOV
  • D.RMVB

19. 设某算法的计算时间表示为递推关系式T(n) = T(n - 1) + n (n为正整数)及T(0) = 1,则该算法的时间复杂度为( )。

  • A.O(log n)
  • B.O(n log n)
  • C.O(n)
  • D.O(n2)

20. 在NOI系列赛事中参赛选手必须使用由承办单位统一提供的设备。下列物品中不允许选手自带的是( )。

  • A.鼠标
  • B.笔
  • C.身份证
  • D.准考证

二、问题求解(共2题,每题5分,共计10分;每题全部答对得5分,没有部分分)

1. 重新排列1234使得每一个数字都不在原来的位置上,一共有_________种排法。
答案:9

2. 一棵结点数为2015的二叉树最多有_________个叶子结点。
答案:1008

三、阅读程序写结果(共4题,每题8分,共计32分)

1.

#include <iostream> 
using namespace std; 
int main() { 
    int a, b, c; 
    a = 1; 
    b = 2; 
    c = 3;
	if (a > b) { 
        if (a > c) 
            cout << a << ' '; 
        else 
            cout << b << ' '; 
    } 
    cout << c << endl; 
    return 0; 
} 
输出:3

2.

#include <iostream> 
using namespace std; 
struct point { 
    int x; 
    int y; 
}; 
int main() { 
    struct EX { 
        int a; 
        int b; 
        point c; 
    } e; 
    e.a = 1; 
    e.b = 2; 
    e.c.x = e.a + e.b; 
    e.c.y = e.a * e.b; 
    cout << e.c.x << ',' << e.c.y << endl;
    return 0; 
} 
输出:3,2

3.

#include <iostream> 
#include <string> 
using namespace std; 
int main() { 
    string str; 
    int i; 
    int count; 
    count = 0; 
    getline(cin, str); 
    for (i = 0; i < str.length(); i++) { 
        if(str[i] >= 'a' && str[i] <= 'z') 
            count++; 
    } 
    cout << "It has " << count << " lowercases" << endl; 
    return 0; 
} 

输入:NOI2016 will be held in Mian Yang. 
 
输出:It has 18 lowercases

4.

#include <iostream> 
using namespace std; 
void fun(char *a, char *b) { 
    a = b; 
    (*a)++; 
} 
int main() { 
    char c1, c2, *p1, *p2; 
    c1 = 'A'; 
    c2 = 'a'; 
    p1 = &c1; 
    p2 = &c2; 
    fun(p1, p2); 
    cout << c1 << c2 << endl; 
    return 0; 
}
输出:Ab

四、完善程序(共2题,每题14分,共计28分)

1. (打印月历)输入月份m(1 ≤ m ≤ 12)按一定格式打印2015年第m月的月历。(第三、四空2.5分其余3分)
例如,2015年1月的月历打印效果如下(第一列为周日)
S M T W T F S
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

#include <iostream> 
using namespace std;  
const int dayNum[]={-1, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; 
int m, offset, i; 
int main() { 
    cin >> m; 
    cout << "S\tM\tT\tW\tT\tF\tS" << endl; // '\t'为TAB制表符 
        offset=4    ; 
    for (i = 1; i < m; i++) 
        offset =    (offset+dayNum[i])%7    ; 
    for (i = 0; i < offset; i++) 
	cout << '\t'; 
    for (i = 1; i <=     dayNum[m]    ; i++) { 
        cout <<     i    ; 
        if (i == dayNum[m]||   (offset+i)%7   == 0) 
            cout << endl; 
        else 
            cout << '\t'; 
    } 
    return 0; 
} 

2. (中位数)给定n(n为奇数且小于1000)个整数,整数的范围在0~m(0 < m < 2^31)之间,请使用二分法求这n个整数的中位数。所谓中位数,是指将这n个数排序之后,排在正中间的数。(第五空2分,其余3分)

#include <iostream>
using namespace std;  

const int MAXN = 1000;  

int n, i, lbound, rbound, mid, m, count; 
int x[MAXN];  

int main() { 
 cin >> n >> m; 
    for (i = 0; i < n; i++) 
        cin >> x[i]; 
    lbound = 0; 
    rbound = m; 
    while (    rbound>lbound    ) { 
        mid = (lbound + rbound) / 2; 
             count=0     ; 
        for (i = 0; i < n; i++) 
            if (     mid<x[i]     ) 
                     count++     ; 
        if (count > n / 2) 
            lbound = mid + 1; 
        else 
                 rbound=mid     ; 
    } 
    cout << rbound << endl; 
    return 0; 
}