2021年3月全国计算机等级考试真题(C语言二级)
 第1题
算法空间复杂度的度量方法是()
A. 算法程序的长度
 B. 算法所处理的数据量
 C. 执行算法所需要的工作单元
 D. 执行算法所需要的存储空间
正确答案:D
第2题
下列叙述正确的是()
A. 在C程序中main函数的位置是()固定的
 B. c程序中所有函数之间都可以相互调用
 C. 每个c程序文件中都必须要有一个main函数
 D. 在c程序的函数中不能定义另一个函数
正确答案:D
第3题
下面选项中关于文件指针概念的叙述正确的是()
A. 文件指针就是()文件位置指针,表示当前读写数据的位置
 B. 文件指针指向文件在计算机中的存储位置
 C. 文件指针是()程序中用FILE定义的指针变量
 D. 把文件指针传给fscanf函数,就可以向文本文件中写入任意的字符
正确答案:C
第4题
下列选项中不属于结构化程序设计原则的是()
A. 可封装
 B. 自顶向下
 C. 模块化
 D. 逐步求精
正确答案:A
第5题
若有以下程序
#include<stdio.h>
 main()
 {
     int a=1,b=2,c=3,d=4,r=0;
     if(a!=1);
     else r=1;
     if(b==2) r+=2;
     else;
     if(c!=3) r+=3;
     else;
     if(d==4) r+=4;
     printf("%d\n",r);
  }
 则程序的输出结果是()
A. 10
 B. 6
 C. 7
 D. 3
正确答案:C
第6题
以下不能用于描述算法的是()
A. 程序语句
 B. E-R图
 C. 伪代码和流程图
 D. 文字叙述
正确答案:B
第7题
某带链栈初始状态为top=bottom=NULL,经过一系列正常的入栈与退栈操作后,top=10,bottom=20。该栈中的元素个数为
A. 不确定
 B. 10
 C. 1
 D. 0
正确答案:A
第8题
有以下程序
#include<stdio.h>
 main()
 {
     int a=0,b=0,c=0,d=0;
     if(a=1) b=1;
     c=2;
     else d=3;
     printf("%d,%d,%d,%d\n",a,b,c,d);
  }
 程序运行后输出结果是()
A. 0,0,0,3
 B. 1,1,2,0
 C. 编译有错
 D. 0,1,2,0
正确答案:C
第9题
以下数组定义中错误的是()
A. int x[] [3]={0};
 B. int x[2][3]={{1,2},{3,4},{5,6}};
 C. int x[][3]={{1,2,3},{4,5,6}};
 D. int x[2][3]={1,2,3,4,5,6};
正确答案:B
第10题
以下叙述中正确的是()
A. 程序必须包含所有三种基本结构才能成为算法
 B. 如果算法非常复杂,则需要使用三种基本结构之外的语句结构,才能表达准确
 C. 只有简单的算法才能在有限的操作步骤之后结束
 D. 我们所写的每条c语句,经过编译最终将转换成二进制的机器指令
正确答案:D
第11题
软件详细设计产生的图如下图所示,则该图是()

A. N-S图
 B. PAD图
 C. 程序流程图
 D. E-R
正确答案:C
第12题
若有以下程序
#include<stdio.h>
 main()
 {
     int c;
     c=13|5;
     printf("%d\n",c);
  }
 则程序的输出结果是()
A. 15
 B. 18
 C. 13
 D. 5
正确答案:C
第13题
以下选项中,没有编译错误的是()
A. char str3[]={'d', 'e ','b','u','g','\0'};
 B. char str1[5]="pass",str2[6]; str2=str1
 C. char name[10];name="china";
 D. char str4[];str4="hello world";
正确答案:A
第14题
设顺序表的长度为n,下列算法中,最坏情况下比较次数等于n(n-1)/2的是()
A. 快速排序
 B. 堆排序
 C. 顺序查找
 D. 寻找最大项
正确答案:A
第15题
下列关于数据库特点的说法中正确的是()
A. 数据能共享且独立性高
 B. 数据能共享但数据冗余很高
 C. 能保证数据完整性但降低了安全性
 D. 数据独立性高但不能实现共享
正确答案:A
第16题
设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a,&c2);
语句变量a1,a2赋值为数值10,20,为变量c1,c2赋字符X,Y。以下所示的输入形式中正确的是()
A. 10 X20 Y
 B. 10 X 20 Y
 C. 10X 20Y
 D. 10 X 20 Y
正确答案:C
第17题
对长度为10的线性表进行冒泡排序,最坏的情况下需要比较的次数为
A. 9
 B. 10
 C. 45
 D. 90
正确答案:C
第18题
若a是()数值型,则逻辑表达式(a==1)||(a!=1)的值为
A. 0
 B. 2
 C. 1
 D. 不知道a的值,不能确定
正确答案:C
第19题
设一颗度为3的树,其中度为2,1,0的结点数分别为3,1,6.该树种度为3的结点 数为
A. 1
 B. 2
 C. 3
 D. 不可能有这样的树
正确答案:A
第20题
以下选项中与if(a==1) a=b;else a++;语句功能不同的switch语句是()
A. switch(a==1) {case 0: a=b;break; case 1:a++;}
 B. switch(a) {case 1: a=b;break; default:a++;}
 C. switch(a) {default:a++;break; case 1: a=b;}
 D. switch(a==1) {case 1: a=b;break; case 0:a++;}
正确答案:A
第21题
在以下给出的表达式中,与while(E)中的(E)不等价的表达式是()
A. (E>0||E<0)
 B. (!E==0)
 C. (E!=0)
 D. (E==9)
正确答案:D
第22题
#include <stdio.h>
 int fun(int(*s)[4],int n,int k)
 {
   int m,i;
   m=s[0][k];
   for(i=l;i<n;i++)
     if(s[i][k]>m) m=s[i][k];
   return m;
 }
 main()
 {
   int a[4][4]={1,2,3,4),{11,12,13,14},{21,22,23,24},{31,32,33,34};
   printf("%d\n",fun(a,4,0));
 }
 程序的运行结果是()
A. 31
 B. 34
 C. 4
 D. 32
正确答案:A
第23题
某二叉树的中序序列为DCBAEFG,后序序列为DCBGFEA,则该二叉树的深度为
A. 5
 B. 4
 C. 3
 D. 2
正确答案:B
第24题
设一棵树的度为3,其中没有度为2的结点,且叶子结点数为6。该树中度为3的结点数为
A. 1
 B. 2
 C. 3
 D. 不可能有这样的树
正确答案:D
第25题
#include main()
 {
   int x=1,y=0,a=0,b=0;
   switch(x){
     case 1:switch(y)
       {case 0:a++;break;case 1:b++;break;}
     case 2:a++;b++;break;}
   printf("a=%d,b=%d\n",a,b);
 }
 程序运行后的输出结果是()
A. a=1,b=1
 B. a=1,b=0
 C. a=2,b=1
 D. a=2,b=2
正确答案:C
答案和更多内容请查看网站:
网站链接 【试卷中心 ---C/C++ ---二级】
青少年软件编程历年真题模拟题实时更新













![[bug] 记录version `GLIBCXX_3.4.29‘ not found 解决方法](https://img-blog.csdnimg.cn/340321d324154ed5a7991073959c0df8.png)





