二级C语言笔试-418
(总分102,考试时间90分钟)
一、选择题
1. 下列关于栈的描述中错误的是______。
    A) 栈是先进后出的线性表
    B) 栈只能顺序存储
    C) 栈具有记忆作用
    D) 对栈的插入和删除操作中,不需要改变栈底指针
2. 下列叙述中正确的是______。
      A) 线性表是线性结构    B) 栈与队列是非线性结构
      C) 线性列表是非线性性结构    D) 二叉树是线性结构
3. 下列叙述中错误的是(    )。
    A) 线性表是由n个元素组成的一个有限序列
    B) 线性表是一种线性结构
    C) 线性表的所有结点有且仅有一个前件和后件
    D) 线性表可以是空表
4. 下列叙述中正确的是______。
(A) 线性链表是线性表的链式存储结构
(B) 栈与队列是非线性结构
(C) 双向链表是非线性结构
(D) 只有根结点的二叉树是线性结构
5. 两个或两个以上模块之间关联的紧密程度称为
    A) 耦合度    B) 内聚度    C) 复杂度    D) 数据传输特性
6. 对长度为n的线性表进行顺序查,在最坏情况下需要比较的次数为(    )。
    A) 125    B) n/2    C) n    D) n+1
7. 下列叙述中,不属于软件需求规格说明书的作用的是
    A) 便于用户、开发人员进行理解和交流
    B) 反映出用户问题的结构,可以作为软件开发工作的基础和依据
    C) 作为确认测试和验收的依据
    D) 便于开发人员进行需求分析
8. 在数据库系统中,用户所见的数据模式为
    A) 概念模式    B) 外模式    C) 内模式    D) 物理模式
9. 对下列二叉树
   
    进行中序遍历的结果是______。
    A) ACBDFEG    B) ACBDFGE
    C) ABDCGEF    D) FCADBEG
10. 在关系数据库中,用来表示实体之间联系的是(    )。
    A) 树结构    B) 网结构    C) 线性表    D) 二维表
11. 下列关于栈的描述正确的是(    )。
    A) 在栈中只能插入元素而不能删除元素
    B) 在栈中只能删除元素而不能插入元素
    C) 栈是特殊的线性表,只能在一端插入或删除元素
    D) 栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素
12. 下列不属于软件工程3个要素的是(    )。
    A) 工具    B) 过程    C) 方法    D) 环境
13. 在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是______。
    A) 并    B) 交
    C) 投影    D) 笛卡儿乘积
14. 以下程序段中与语句k=a>b? (b>c? 1:0):0;功能等价的是(    )。
    A) if((a>b)&&(b>c))  k=1;
    else  k=0;
    B)if((a>b)||(b>c))  k=1;
    else k=0;
    C) if(a<=b) k=0;
    else if(b<=c) k=1;
    D) if(a>b) k=1;
    else if(b>c) k=1;
    else k=0;
15. 若有运算符:>、=、<<、%、sizeof,则它们按优先级(由高至低)的正确排列顺序为(    )。
    A) %、sizeof、>、<<、=    B) sizeof、%、>、=、<<
    C) sizeof、<<、>、%、=    D) sizeof、%、<<、>、=
16. 下列程序的运行结果是(    )。
    int y=5,x=14;
    y=((x=3*y,x+1),x-1);
    printf("x=%d,y=%d",x,y);
    A) x=27,y=27    B) x=12,y=13    C) x=15,y=14  D) x=y=27
17. 设有定义“int x=2;”,下列表达式中,值不为6的是(    )。
    A.x*=x+1    B.x++,2*x
    C.x*=(1+x)    D.2*x,x+=2
18. 若有定义语句:int x=10;则表达式x-=x+x的值为
    A) -20    B) -10    C) 0    D) 10
19. 设以下变量均为int类型,表达式的值不为7的是
    A) (x=y=6,x+y,x+1)    B) (x=y=6,x+y,y+1)
    C) (x=6,x+1,y=6,x+y)    D) (y=6,y+1,x=y,x+1)
20. 有以下程序:
    #include<stdio.h>
    main()
        int y=9;
    for(;y>0;y--)
    f(y%3==0)printf("%d",--y);
   
    程序的运行结果是______。
    A) 741    B) 963    C) 852    D) 875421
21. 以下选项中正确的语句组是(    )。
    A) char s[]; s="HELLO!";    B) char *s; s="HELLO!";
    C) char s[10]; s="HELLO!";    D) char *s; s="HELLO!";
22. if语句的基本形式为:if(表达式)语句,其中“表达式”(    )。
    A) 可以是任意合法的表达式    B) 必须是逻辑表达式
    C) 必须是逻辑表达式或关系表达式    D) 必须是关系表达式
23. 有以下程序
    main()
      int    x=0,y=0,i;
    for(i=1;++i)
      if(i%2==0)  x++;continue;
    if(i%5==0)y++;break;
    printf("%d,%d",x,y);
    程序的输出结果是
    A) 2,1    B) 2,2    C) 2,5    D) 5,2
24. 以下函数findmax拟实现在数组中查最大值并作为函数值返回,但程序中有错导致不能实现预定功能。
    #define MIN-2147483647
    int findmax(int x[],int n)
    int i,max;
      for(i=0;i<n;i++)
      max=MIN;
        if(max<x[i])max=x[i];
      return max;
   
指向类成员函数的指针    造成错误的原因是(    )。
    A.定义语句“int i,max;”中,max未赋初值
    B.赋值语句“max=MIN”;中,不应给max赋MIN值
    C.语句“if(max<x[i]max=x[i])”中,判断条件设置错误
    D.赋值语句“max=MIN;”放错了位置
25. 有下列程序段:
    int n,t=1,s=0;
    scanf("%d",&n);
    dos=s+t;t=t-2;while(t!=n);
    为使此程序段不陷入死循环,从键盘输入的数据应该是(    )。
    A) 任意正奇数    B) 任意负偶数
    C) 任意正偶数    D) 任意负奇数
26. 以下能正确定义二维数组的是______。
    A) int a[][3];    B) int a[][3]=2*3;
    C) int a[][3]=;    D) int a[2][3]=1), 2, 3,4;
27. 若有定义和语句:
    int**pp,*p,a=20,b=10;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。