国家二级(C语言)机试模拟题2019年(2)
(总分100,考试时间120分钟)
选择题
1.  下列关于栈叙述正确的是(    )。
A. 栈顶元素最先能被删除
B. 栈顶元素最后才能被删除
C. 栈底元素永远不能被删除
D. 栈底元素最先被删除
2.  下列叙述中正确的是(    )。
A. 在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化
B. 在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化
C. 在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化
D. 以上说法都不正确
3.  某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)(    )
A. 3        B. 4
C. 6        D. 7
4.  软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是(    )。
A. 学生成绩管理系统
B. C语言编译程序
C. UNIX操作系统
D. 数据库管理系统
5.  结构化程序所要求的基本结构不包括(    )。
A. 顺序结构
B. GOTO跳转
C. 选择(分支)结构
D. 重复(循环)结构
6.  下面描述中错误的是(    )。
A. 系统总体结构图支持软件系统的详细设计
B. 软件设计是将软件需求转换为软件表示的过程
C. 数据结构与数据库设计是软件设计的任务之一
D. PAD图是软件详细设计的表示工具
7.  负责数据库中查询操作的数据库语言是(    )。
A. 数据定义语言
B. 数据管理语言
C. 数据操纵语言
D. 数据控制语言
8.  一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是(    )。
A. 1:1联系        B. 1:m联系
C. m:1联系        D. m-n联系
9.  有三个关系R、S和T如下:
则由关系R和s得到关系T的操作是(    )。
A. 自然连接        B. 并
C. 交        D. 差
10.  定义无符号整数类为UInt,下面可以作为类UInt实例化值的是(    )。
A. 一369
B. 369
C. 0.369
D. 整数集合{1,2,3,4,5}
11.  以下叙述中错误的是(    )。
A. C程序在运行过程中所有计算都以二进制方式进行
B. C程序在运行过程中所有计算都以十进制方式进行
C. 所有C程序都需要编译链接无误后才能运行
D. C程序中字符变量存放的是字符的ASCII码值
12.  以下关于C语言的叙述中正确的是(    )。字符常量合法
A. C语言的数值常量中夹带空格不影响常量值的正确表示
B. C语言中的变量可以在使用之前的任何位置进行定义
C. 在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致
D. C语言中的注释不可以夹在变量名或关键字的中间
13.  以下不合法的字符常量是(    )。
A. ‘\\’        B. ‘\’
C. ‘\018’        D. ‘\xcc’
14.  以下选项中正确的定义语句是(    )。
A. double,a,b;
B. double a=b=7;
C. double a;b;
D. double a=7,b=7;
15.  若有定义语句:int a=3,b=2,c=1;以下选项中错误的赋值表达式是(    )。
A. a=(b=4):3;
B. a=b=c+l;
C. a=(b=4)  +c;
D. a=1+(b=c=4);
16.  若有定义:
    int a,b;
    通过语句:
    scanf(“%d;%d”,&a,&b);
能把整数3赋给变量a,5赋给变量b的输入数据是(    )。
A. 3 5        B. 3,5
C. 3;5        D. 35
17.  已知大写字母A的ASCII码值是65,小写字母a的ASCII码值是97。以下不能将变量c 中的大写字母转换为对应小写字母的语句是(    )。
A. c=('A'+c)%26一‘a’
B. c=c+32
C. c=c一‘A’+‘a’
D. c=(c一‘A’)%26+‘a’
18.  在以下给出的表达式中,与while(E)中的(E)不等价的表达式是(    )。
A. (E>0||E<0)
B. (E==0)
C. (!E==0)
D. (E!=0)
19.  以下程序段中,与语句: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;
20.  有以下程序:
    #include<stdio.h>
    main()
    {  int a=1,b=2;
    for(;a<8;a++){b+=a;a+:2;}
    printf(“%d,%d\n”,a,b);
    }
程序运行后的输出结果是(    )。
A. 9,18        B. 8,11
C. 7,11        D. 10,14
21.  有以下程序:
    #include<stdio.h>
    main()
    {  int i,j,m=55;
    for(i=l;i<=3;i++)
    for(j=3;j<=i;j++)m=m%j;
    printf(“%d\n”,m);
    }
程序运行后的输出结果是(    )。
A. 0        B. 1
C. 2        D. 3
22.  有以下程序:
    #include<stdio.h>
    main()
    {
    int x=8:
    for(;X>0;X一一)
    {
    if(x%3)
    {
    printf(“%d,”,X一一);
    continue;
    }
    printf(“%d,”,一一X);
    }
    }
程序运行后的输出结果是(    )。
A. 7,4,2,
B. 8,7,5,2,
C. 9,7,6,4,
D. 8,5,4,2,
23.  以下叙述中错误的是(    )。
A. C程序必须由一个或一个以上的函数组成
B. 函数调用可以作为一个独立的语句存在
C. 若函数有返回值,必须通过return语句返回
D. 函数形参的值也可以传回给对应的实参
24.  有以下程序:
    #include<stdio.h>
    main()
    {
    int a=1,b=3,e=5;
    int*p1=&a,*p2=&b,*P=&e;
    *P=*p1*(*p2);
    printf(“%d\n”,c);
    }
程序执行后的输出结果是(    )。
A. 1        B. 2
C. 3        D. 4
25.  有以下程序:
    #include<stdio.h>
    void f(int*P,int*q);
    main()
    {
    int m=1,n=2,*r=&m;
    f(r,&n);
    prinff(“%d,%d”,m,n);
    }
    void f(int*P,int*q)
    {
    P=P+1:
    *q=*q+1:
    }
程序运行后的输出结果是(    )。
A. 2,3        B. 1,3
C. 1,4        D. 1,2
26.  若有定义语句:int a [2][3],*P[3];则以下语句中正确的是(    )。
A. P=a;
B. p[0]=a;
C. p[0]=&a[1][2];
D. P[1]=&a;
27.  以下程序中函数f的功能是:当flag为1时,进行由小到大排序;当flag为0时,进行由大到小排序。
    #include<stdi0.h>
    void f(int b[],int lq,int flag)
    {
    int i,j,t;
    for(i=0;i<n一1;i++)
    for(j=i+1;j<n;j++)
    if(flag?b[i]>b[j]:b[i]<b[j])

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