2022年3月全国计算机等级二级C语言考试题
库及答案(超强)
1.程序流程图中带有箭头的线段表示的是(C)。
A) 图元关系B) 数据流C) 控制流D) 调用关系
2.结构化程序设计的基本原则不包括(A)。
A) 多态性B) 自顶向下C) 模块化D) 逐步求精
3.软件设计中模块划分应遵循的准则是(B)。
A) 低内聚低耦合B) 高内聚低耦合C) 低内聚高耦合D) 高内聚高耦合
4.在软件开发中,需求分析阶段产生的主要文档是(B)。
A) 可行性分析报告B) 软件需求规格说明书C) 概要设计说明书D) 集成测试计划
5.算法的有穷性是指(A)。
A) 算法程序的运行时间是有限的B) 算法程序所处理的数据量是有限的
C) 算法程序的长度是有限的D) 算法只能被有限的用户使用
6.对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-
1)/2的排序方法是(D)。
A) 快速排序B) 冒泡排序C) 直接插入排序D) 堆排序
7.下列关于栈的叙述正确的是(B)。
A) 栈按"先进先出"组织数据B) 栈按"先进后出"组织数据
C) 只能在栈底插入数据D) 不能删除数据
8.在数据库设计中,将E-R图转换成关系数据模型的过程属于
(C)。
A) 需求分析阶段B) 概念设计阶段C) 逻辑设计阶段D)
物理设计阶段
9.有三个关系R、S和T如下:
由关系R和S通过运算得到关系T,则所使用的运算为(D)。
A) 并B) 自然连接C) 笛卡尔积D) 交
10.设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为(C)。
A) 课号,成绩B) 学号,成绩C) 学号,课号D) 学号,姓名,成绩
11.以下叙述中错误的是(A)。
A) C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令
B) C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件
C) 用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中
D) C语言源程序经编译后生成后缀为.obj的目标程序
12.以下选项中,合法的一组C语言数值常量是(A)。
A) 12.0Xa23  4.5e0 B) 028.5e-3-0xf
C) .1774e1.50abc D) 0x8A10,000  3.e5
13.以下选项中不合法的标识符是(A)。
A) &a B) FOR C) print D) 00
14.若有代数式(其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是(A)。
A) sqrt(fabs(pow(n,x)+exp(x))) B) sqrt(fabs(pow(n,x)+pow(x,e)))
C) sqrt(abs(n^x+e^x)) D) sqrt(fabs(pow(x,n)+exp(x)))
15.若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是(B)
A) i=(a+k)<=(i+k);B) i=a%11;C) a=a++,i++
D) i=!a;
16.有以下程序:
#include <stdio.h>
main()
{int s,t,A=10;double B=6;
s=sizeof(A);t=sizeof(B);
printf("%d,%d\n",s,t);
}
在VC6.0平台上编译运行,程序运行后的输出结果是(D)。
A) 10,6 B) 4,4 C) 2,4 D) 4,8
17.有以下程序:
#include <stdio.h>
main()
{char a,b,c,d;
scanf("%c%c",&a,&b);
c=getchar();d=getchar();
printf("%c%c%c%c\n",a,b,c,d);
}
当执行程序时,按下列方式输入数据(从第1列开始,<CR>代表回车,注意:回车也是一个字符)
12<CR>
34<CR>
则输出结果是(D)。
A)12
34
B) 12
C) 1234
D) 12
3
18.下关于逻辑运算符两侧运算对象的叙述中正确的是(A)。
A) 可以是任意合法的表达式B) 只能是整数0或非0整数
C) 可以是结构体类型的数据D) 只能是整数0或1
19.有以下程序:
#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);
}
程序输出(C)。
A) 1,1,2,0 B) 0,0,0,3 C) 编译有错D)
0,1,2,0
20.有以下程序:
#include <stdio.h>
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;
case 3:a++;b++;
}
printf("a=%d,b=%d\n",a,b);
}
程序的运行结果是(B)。
A) a=2,b=2 B) a=2,b=1 C) a=1,b=1 D) a =1,b=0
21.以下程序段中的变量已正确定义:
for( i=0;i<4;i++,i++)
for( k=1;k<3;k++);printf("*" );
程序段的输出结果是(C)。
A) ** B) **** C) * D) ********
22.有以下程序段:
#include <stdio.h>
int i,n;
for( i=0;i<8;i++)
{n =rand() % 5;
switch (n)字符串长度不能超过32位
{case 1:
case 3:printf("%d \n",n);break;
case 2:
case 4:printf("%d \n",n);continue;
case 0:exit(0);
}
printf("%d \n",n);
}
以下关于程序段执行情况的叙述,正确的是(D)。
A) for循环语句固定执行8次B) 当产生的随机数n为4时结束循环操作
C) 当产生的随机数n为1和2时不做任何操作D) 当产生的随机数n为0时结束程序运行
23.有以下程序:
#include <stdio.h>
int f(int x);
main()
{ int n=1,m;
m=f(f(f(n)));printf("%d\n",m);
}

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