二级C语言全真-2014年03月-1
(总分100,考试时间90分钟)
一、选择题
1. 下列叙述中正确的是______。A.每一个节点有两个指针域的链表一定是非线性结构B.所有节点的指针域都为非空的链表一定是非线性结构C.循环链表是循环队列的链式存储结构D.线性结构的存储节点也可以有多个指针
2. 使用白盒测试方法时,设计测试用例应根据______。A.程序的内部逻辑B.程序的复杂结构C.程序的功能D.使用说明书
3. 在医院,每个医生只属于某一个诊疗科,医生同一天可为多位患者看病,而一名患者可在多个科室,则实体医生和患者之间的联系是______。A.多对多B.多对一C.一对多D.一对一
4. 设序列长度为n,在最坏情况下,时间复杂度为0(log2n)的算法是______。A.二分法查B.顺序查C.分块查D.哈希查
5. 设数据集合为D={1,3,5,7,9},D上的关系为R,下列数据结构B=(D,R)中为非线性结构的是______。A.R={(5,1),(7,9),(1,7),(9,3)}B.R={(9,7),(1,3),(7,1),(3,5)}C.R={(1,9),(9,7),(7,5),(5,3)}D.R={(1,3),(3,5),(5,9)}围
6. 深度为7的二叉树共有127个节点,则下列说法中错误的是______。A.该二叉树有一个度为1的节点B.该二叉树是满二叉树C.该二叉树是完全二叉树D.该二叉树有64个叶子节点
7. 二叉树的中序序列为BDCA,后序序列为DCBA,则前序序列为______。A.DCBAB.BDCAC.ABCDD.BADC
8. 下面能作为软件需求分析工具的是______。A.PAD图B.程序流程图C.甘特图D.数据流程图(DFD图)
9. 下面不属于对象主要特征的是______。A.唯一性B.多态性C.可复用性D.封装性
10. 关系R经过运算σA=B∧C>4∧D>3(R)的结果为______。 R
   
A    B    C    D   
a    a    2    4   
b    e    1    2   
c    c    11    4   
e    e    6    1   
  A.(c,c,11,4)B.(e,e,6,1)C.(a,a,2,4)D.(a,a,2,4)和(e,e,6,1)
11. C语言整数不包括______。A.带小数点的整数B.正整数C.负整数D.无符号整数
12. 设a,b,c是整型变量,且已正确赋初值,以下选项中错误的赋值语句是______。A.a=1%(b=c=2);B.a=(b=3)*c;C.a=b=c/10;D.a=2=(b=9)=1;
13. 以下选项中,合法的实数是______。A.1.5E2B.E1.1C.2.10ED.1.9E1.4
14. 关于程序设计基本概念,以下叙述错误的是______。A.计算机可以直接执行由任意高级
语言编写的程序B.高级语言都有与之对应的编译程序或解释程序C.用任何一种计算机高级语言都可以把算法转换为程序D.结构化算法可以解决任何复杂的问题
15. 以下不能用于实型数据的运算符是______。A.%B./C.*D.+
16. C语言中,最基本的数据类型包括______。A.整型、实型、逻辑型B.整型、字符型、数组C.整型、实型、字符型D.整型、实型、结构体
17. 若有定义:int a=0,b=0,c=0,d=0;,有C语言表达式(a++&&b++)?c++:d++,以下关于其执行顺序的叙述正确是______。A.先执行a++,表达式a++的值为0,短路,得a++,执行它B.先执行a++,表达式a++的值为0;再执行b++,表达式b++的值为0,由此可确定(a++&&b++)值为0,因此执行d++C.先执行a++,表达式a++的值为1;再执行b++,表达式b++的值为1,由此可确定(a++&&b++)值为1,因此执行c++D.先执行b++,表达式b++的值为1;再执行a++,表达式a++的值为1,由此可确定(a++&&b++)值为1,因此执行c++
18. 有以下程序:
    #include <stdio.h>
    main( )
    {
        chair ch='B';
        while (ch<'E')
        {
        printf("%d", ch-'A');
        ch++;
        }
        printf("\n");
    }
    程序运行后的输出结果是______。A.123B.ABCC.abcD.012
19. 以下关于指针的叙述,错误的是______。A.两个基类型相同的指针变量不能指向同一个对象B.可以通过对指针变量自增、自减来移动指针C.只有两个类型相同的指针才能进行减运算D.一个指针变量可以通过不同的方式获得一个确定的地址值
20. 对于函数声明:
    void fun(float array[],int * ptr);
    以下叙述正确的是______。A.调用函数时,array数组的元素和ptr都是按值传送B.函数声明有语法错误,参数array缺少数组大小定义C.调用函数时,array数组中将存储从实参中复制来的元素值D.函数参数array,ptr都是指针变量
21. 有以下程序:
    #include <stdio.h>
    main( )
    {
        int i,k;
        int array[4][2] = {{1,0},{0},{2,9},{3}};
        for (i=0; i<2; i++)
            for (k=0; k<3; k++)
            {
                printf("%d,", array[k][i]);
            }
        printf("\n");
    }
    程序运行后的输出结果是______。A.1,0,2,0,0,9,B.1,2,4,9,6,0,C.2,9,0,0,1,4,D.1,2,0,1,4,1,
22. 要求定义一个具有6个元素的int型一维数组,以下选项中错误的是______。A.int N =6,a[N];B.int a[2*3] = {0};C.#define N 3
      int a[N+N];D.int a[] = {1,2,3,4,5,6};
23. 有以下程序:
    #include <stdio.h>
    main( )
    {
    char b[3][10],c;
        int i;
        for(i=0; i<2; i++) scanf("%s", b[i]);
        i=0;
        while((c=getchar())!='\n')b[2][i++] = c;
        b[2][i] ='\0';
        printf("%s%s%s\n", b[0], b[1], b[2]);
    }
    执行时若输入以下字符串:
            Peach flower is pink. <回车>
    则输出结果是______。A.Peachflower is pink.B.Peaehfloweris pink.C.Peachflowerispink.D.Peach flower is pink.
24. 有以下程序:
    #include <stdio.h>
    main( )
    { char w[20], a[5][10] = {"abcdef", "ghijkl", "mnopq", "rstuv", "wxyz"};
    int i,j;
    for (i=0; i<5; i++)
    { j = 0;
        while (a[i][j] !='\0')j++;
        w[i] = a[i][j-2];
    }
    w[5] ='\0';
    puts(w);
    }
    程序运行后的输出结果是______。A.agmrwB.ekpuyC.djotxD.flqvz
25. 有以下程序:
    #include <stdio.h>
    #include <string.h>
    main( )
    {
        char name[9]="c##1ine";
        char* str = name;
        printf("%d,%d,%d,%d\n", sizeof(name), strlen(name), sizeof(str), strlen(str));
    }
    程序运行后的输出结果是______。A.9,7,4,7B.8,6,9,6C.8,6,3,6D.10,8,5,8
26. 有以下程序:
    #include <stdio.h>
    main( )
    {
        int password;
        char *p, old_str[10] = "wind";
        scanf("%d", &password);
        p = old_str;
        while (* p)
        {
            printf("#%c",* p + password);
    p++;
    }
        printf("\n");
    }
关于printf函数正确的是    程序运行时,从键盘输入2<回车>,输出结果是______。A.#y#k#p#fB.#wi#nd#C.xj#oeD.#2222#
27. 若有定义:char*ps[]={"aa","bb","cc","dd"};,则以下叙述正确的是______。A.ps[0]是字符串"aa"B.* ps[0]是字符串"aa"的首地址C.ps[0]是字符串"aa"的首地址D.*ps[0]是字符串"aa"
28. 若有定义:char*ps[]={"aa","bb","cc","dd"};,则以下叙述正确的是______。A.* ps[0]是字符'a'B.* ps [0]是字符串"aa"C.ps[0]是字符'a'D.ps是字符串"aa"