2015全国计算机二级c语言上机题库(附答案)
一、选择题每小题1分,共40小题,共40分
1.设循环队列的存储空间为Q1:35,初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为 。
A.20
B.0或35
C.15
D.16
2.下列关于栈的叙述中,正确的是 。
A.栈底元素一定是最后入栈的元素
B.栈操作遵循先进后出的原则
C.栈顶元素一定是最先入栈的元素
D.以上三种说法都不对
3.下列链表中,其逻辑结构属于非线性结构的是 0、
A.双向链表
B.带链的栈
C.二叉链表
D.循环链表
4.在关系数据库中,用来表示实体间联系的是 。
A.网状结构
B.树状结构
C.属性
D.二维表
5.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是 。
A.1:m联系
B.m:n联系
C.1:1联系
D.m:l联系
6.右两个关系R和S如下:
则由关系R得到关系S的操作是 。
A.自然连接
B.并
C.选择
D.投影
7.数据字典DD所定义的对象都包含于 。
A.软件结构图
B.方框图
C.数据流图DFD图
D.程序流程图
8.软件需求规格说明书的作用不包括 。
A.软件设计的依据
B.软件可行性研究的依据
C.软件验收的依据
D.用户与开发人员对软件要做什么的共同理解
9.下面属于黑盒测试方法的是 。
A.边界值分析
B.路径覆盖
C.语句覆盖
D.逻辑覆盖
10.下面不属于软件设计阶段任务的是 。
A.制订软件确认测试计划
B.数据库设计
C.软件总体设计
D.算法设计
11.以下叙述中正确的是 。
A.在C语言程序中,main函数必须放在其他函数的最前面
B.每个后缀为C的C语言源程序都可以单独进行编译
C.在C语言程序中,只有main函数才可单独进行编译
D.每个后缀为.C的C语言源程序都应该包含一个main函数
12.C语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述正确的是 。
A.预定义标识符如库函数中的函数名可用做用户标识符,但失去原有含义
B.用户标识符可以由字母和数字任意顺序组成
C.在标识符中大写字母和小写字母被认为是相同的字符
D.关键字可用做用户标识符,但失去原有含义
13.以下选项中表示一个合法的常量是说明:符号口表示空格 。
A.9口9口9
B.0Xab
C.123E0.2
D.2.7e
14.C语言主要是借助以下哪个功能来实现程序模块化?
A.定义函数
B.定义常量和外部变量
C.三种基本结构语句
D.丰富的数据类型
15.以下叙述中错误的是 。
A.非零的数值型常量有正值和负值的区分
B.常量是在程序运行过程中值不能被改变的量
C.定义符号常量必须用类型名来设定常量的类型
D.用符号名表示的常量叫符号常量
16.若有定义和语句:int a,b;scanf"%d,%d",&a,&b;以下选项中的输人数据,不能把值3赋给变量a、5赋给变量b的是 。
A.3,5,
B.3,5,4
C.3,5
D.3,5
17.C语言中char类型数据占字节数为 。
A.3
B.4
C.1
D.2
18.下列关系表达式中,结果为“假”的是 。
A.3+4>6
B.3!=4>2
C.3<=4‖3
D.3<4=1
19.若以下选项中的变量全部为整型变量,且已正确定义并赋值,则语法正确的switch语句是 。
A.switcha+9
case cl:y=a-b;
case c2:y=a+b;
B.switch a*b
case l0:x=a+b;
default:y=a-b;
C.switcha+b
casel:case3:y=a+b;break;
case0:case4:y=a-b;
D.switcha*a+b*b
default:break;
case 3:y=a+b;break;
case 2:y=a-b;break;
20.有以下程序:
#include
main
int a=-2,b=0;
whilea++&&++b;
printf"%d,%dn",a,b;
程序运行后的输出结果是 。
A.1,3
B.0,2
C.0,3
D.1,2
21.设有定义:int x=o,* P;,立刻执行以下语句,正确的语句是 。
A.p=x;
B.* p=x;
C.D=NULL;
D.* p=NULL;
22.下列叙述中正确的是 。
A.可以用关系运算符比较字符串的大小
B.空字符串不占用内存,其内存空间大小是0
C.两个连续的单引号是合法的字符常量
D.两个连续的双引号是合法的字符串常量
2015全国计算机二级c语言上机题库(附答案)
23.有以下程序:
#include
main
rhar a=’H’;
a=a>=’A’&&a<=’2’?a-’A’+’a’:a;
printf"%cn",a;
程序运行后的输出结果是 。
A.A
B.a
C.H
D.h
24.有以下程序:
#include
int fint x;
main
int a,b=0;
fora=0;a<3;a++
b=b+fa;putchar’A’+b;
int fint x
return x * xl;
程序运行后的输出结果是 。
A.ABE B.BDI C.BCF D.BCD
25.设有定义:int x[2][3];,则以下关于二维数组X的叙述错误的是 。
A.x[0]可看做是由3个整型元素组成的一维数组
B.x[0]和x[l]是数组名,分别代表不同的地址常量
C.数组X包含6个元素
D.可以用语句x[o]=0;为数组所有元素赋初值0
26.设变量P是指针变量,语句P=NULL;是给指针变量赋NULL值,它等价于 。
A.p="";
B.p="0";
C.p=0;
D.p=";
27.有以下程序:
#include
main
int a[]=10,20,30,40,*p=a,j;
fori=0;i<=3;i++a[i]=*P;p++;
printf"oAdn",a[2];
程序运行后的输出结果是 。
A.30
B.40
C.10
D.20
28.有以下程序:
#include
#define N 3
void funint a[][N],int b[]
int i,j;
fori=0;i
forj=i;j
main
int x[N][N]=1,2,3,4,5,6,7,8,9,y[N],i;
funx,y;
fori=0;i
程序运行后的输出结果是,。
A.2,4,8,
B.3,6,9,
C.3,5,7,
D.1,3,5,
29.有以下程序strcpy为字符串复制函数,strcat为字符串连接函数:
#include
#include
main
char a[10]="abc",b[10]="012",c[10]="xyz";
strcpya+1,b+2;
putsstrcata,c+1;
程序运行后的输出结果是 。
A.al2xyz
B.12yz
C.a2yz
D.bc2yz
30.以下选项中,合法的是 。
A.char str3[]=’d’,’e’,’b’,’u’,’g’,’