2016年3月计算机二级考试题库

来源:素材库 时间:2016-03-29 09:26:16 阅读:

【www.zhuodaoren.com--素材库】

第一篇:《2016年3月份全国计算机等级考试二级C语言 题库(全)》

2016年3月份全国计算机等级考试二级C语言 题库(全)

一、选择题

在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正

确的选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的

程序流程图,通常也把这种图称为

A)PAD图 B)N-S图 C)结构图 D)数据流图

(2)结构化程序设计主要强调的是

A)程序的规模 B)程序的效率 C)程序设计语言的先进性

程序易读性

(3)为了使模块尽可能独立,要求

A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强

B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱

C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱

D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强

(4)需求分析阶段的任务是确定

A)软件开发方法

功能

(5)算法的有穷性是指

A)算法程序的运行时间是有限的 B)软件开发工具 C)软件开发费用 D)软件系统 D)

B)算法程序所处理的数据量是有限的

C)算法程序的长度是有限的

D)算法只能被有限的用户使用

(6)对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法

A)快速排序 B)冒泡排序 C)直接插入排序 D)堆排序

(7)如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是

A)e3,e1,e4,e2 B)e2,e4,e3,e1 C)e3,e4,e1,e2 D) 任意顺序

(8)将E-R图转换到关系模式时,实体与联系都可以表示成

A)属性 B)关系 C)键

(9)有三个关系R、S和T如下:

R

B C D

a 0 k1

b 1 n1

S

B C D

f 3 h2

a 0 k1

n 2 x1

T

B C D

a

0 k1 D)域

由关系R和S通过运算得到关系T,则所使用的运算为

A)并 B)自然连接 C)笛卡尔积 D)交

(10)下列有关数据库的描述,正确的是

A)数据处理是将信息转化为数据的过程

B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变

C)关系中的每一列称为元组,一个元组就是一个字段

D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系

的关键字,则称其为本关系的外关键字

(11)以下叙述中正确的是

A)用C程序实现的算法必须要有输入和输出操作

B)用C程序实现的算法可以没有输出但必须要有输入

C)用C程序实现的算法可以没有输入但必须要有输出

D)用C程序实现的算法可以既没有输入也没有输出

(12)下列可用于C语言用户标识符的一组是

A)void, define, WORD B)a3_3,_123,Car C)For, -abc, IF Case

D)2a, DO, sizeof

(13)以下选项中可作为C语言合法常量的是

A)-80 B)-080 C)-8e1.0 D)-80.0e

(14)若有语句:char *line[5];,以下叙述中正确的是

A) 定义line是一个数组,每个数组元素是一个基类型为char为指针变量

B) 定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组

C) 定义line是一个指针数组,语句中的*号称为间址运算符

D) 定义line是一个指向字符型函数的指针

(15)以下定义语句中正确的是

A)int a=b=0; B)char A=65+1,b=′b′; C)float a=1,*b=&a,*c=&b;

D)double a=00;b=1.1;

(16)有以下程序段

char ch; int k;

ch=′a′;

k=12;

printf("%c,%d,",ch,ch,k); printf("k=%d \n",k);

已知字符a的ASCII码值为97,则执行上述程序段后输出结果是

A)因变量类型与格式描述符的类型不匹配输出无定值

B)输出项与格式描述符个数不符,输出为零值或不定值

C)a,97,12k=12

D)a,97,k=12

(17)有以下程序

main()

{ int i,s=1;

for (i=1;i<50;i++)

if(!(i%5)&&!(i%3)) s+=i;

printf("%d\n",s);}

A)409 B)277 C)1 D)91

(18)当变量c的值不为2、4、6时,值也为"真"的表达式是

A)(c==2)||(c==4)||(c==6)

B)(c>=2&& c<=6)||(c!=3)||(c!=5)

C)(c>=2&&c<=6)&&!(c%2)

D)(c>=2&& c<=6)&&(c%2!=1)

(19)若变量已正确定义,有以下程序段

int a=3,b=5,c=7;

if(a>b) a=b; c=a;

if(c!=a) c=b;

printf("%d,%d,%d\n",a,b,c);

其输出结果是

A)程序段有语法错 B)3,5,3

D)3,5,7

(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);

}

C)3,5,5

A)a=1,b=0 B)a=2,b=2 C)a=1,b=1

D)a=2,b=1

(21)下列程序的输出结果是

#include "stdio.h"

main()

{ int i,a=0,b=0;

for(i=1;i<10;i++)

{ if(i%2==0)

{a++;

continue;}

b++;}

printf("a=%d,b=%d",a,b); }

A)a=4,b=4 B)a=4,b=5 C)a=5,b=4

(22)已知

#int t=0;

while (t=1)

{...}

则以下叙述正确的是

A)循环控制表达式的值为0

B)循环控制表达式的值为1

C)循环控制表达式不合法

D)以上说法都不对

(23)下面程序的输出结果是

main()

{ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;

printf("%d\n",*(p+2));}

A)3 B)4 C)1 D)2

D)a=5,b=5

第二篇:《2016年3月全国计算机等级考试二级C语言上机考试题库及答案》

2016年3月全国计算机等级考试二级C语言上机考试题库及答

第1套 一、填空 给定函数的功能是调用fun函数建立班级通讯录。通讯录记录每位学生的编号,姓名和电话号码。班级的人数和学生的从低位开始取出长整形 过程中,把复制的内容输该节点,是链表缩短。 出到终端屏幕。主函数中答案: next t->data 变量s中的奇数位上的t 源文件名放在变量数,依次构成一个新数放二、修改 sfname中,目标文件名放在t中,高位仍放在高位,在变量tfname中 将字符串中的字符按逆低位仍放在低位。 序输出,单补改变字符串答案: “r” fs ft 答案: long *t sl = 中的内容。 二、修改 sl*10; 答案:void fun (char *a) 将长整形数中每一位上三、程序 printf("%c", *a) ; 为偶数的数依次取出,构将两个两位数的正整数三、程序 成一个新数放在t中。高a,答案合并成一个整数比较两个字符串的长度位仍在高位仍在低位。 信息从键盘 读入,每个人的信息作为一个数据块写到名为答案

yfile5.dat的二进制文件中。

答案:1. STYPE 2. FILE 3. fp 二、修改

先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串后面。 答案:1. for(i = 0 ; i < sl ; i++) 2. t[2*sl] =` 0`; 三、程序

将两个两位数的正整数a,答案合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,答案数的十位和个位数依次放在c数的百位和个位上。 *c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10); 第2套 一、填空 从键盘输入若干行文本(每行不超过80个字符),写到文件答案yfile4.txt中,用-1作为字符串输入结束的标记。然后将文件的内容读出显示在屏幕上。文件的读写分别有自定义函数

ReadText和WriteText实现。

答案 :*fw str str 二、修改

放在c中。合并的方式:将a数的十 位和个位数依次放在c数的千位和十位上,答案数的十位和个位数依次放在c数的百位和个位上。 *c=(b/10)*1000+(a%10)*100+(b%10)*10 +(a/10); 第3套 一、填空 将自然数1~10以及它们

的平方根写到名为答案yfile3txt的文本文档中,然后再顺序读出显示在屏幕上。 答案: (1)fp (2)fclose(fp) (3)fname 二、修改 将n个无序整数从小到大排序。 答案: for(i=j+1;i<n;i++) p=i;

三、程序

将两个两位数的正整数a,答案合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,答案数的十位和个位数依次放在c数的百位和个位上 *c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10); 第4套 一、填空 调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功 时函数返回值为1,失败时返回值为0,在复制的答案: if(d%2==0) s /= 10; 三、程序 将两个两位数的正整数a,答案合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,答案数的十位和个位数依次放在c数

的百位和个位上。 *c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10);

第5套 一、填空

把形参x的值放入一个

新结点并插入到链表中,

插入后结点数据域的值

仍保持递增有序。

答案: x p s

二、修改

计算正整数num的各位

上的数字之积。

答案:long k=1;

num/=10 ;

三、程序

计算n门课程的平均分,

计算结果作为函数值返

回。

答案:int i; float ave=0.0; for(i=0; i<n; i++)

ave=ave+a[i] ;

ave=ave/n; return ave;

第6套 一、填空

给定程序中已建立一个

带有头结点的单向链表,在答案ain函数中将多次

调用fun函数,没调用一

次fun函数,输出链表尾

部结点中的数据,并释放

(不得调用c语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。 答案:int i; char *p=s , *q=t; int n=0,m=0; while(*p) {n++;p++;} while(*q) {m++;q++;} if(n>=m) p=s; else p=t; return p; 第7套 一、填空 删除链表中数据域值相同的结点,使之只保留一个 答案: q next next 二、修改 用选择法对数组中的n个元素按从小到大的顺序进行排序。 答案: p = j; p=i; 三、程序 求出1到答案之间(含答案)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。 答案: int i ,j=0; *n=0 ; for(i=1 ; i<=m; i++) if(i%7==0|| i% 11 == 0) { a[j]=i; j++;} *n=j; 第8套 一、填空 在带有头结点的单向链表中,

查找数据域中值为ch的结点。找到后通过函数值返回改结点在链表中所处的顺序号;不存在,函数返回0值

答案: NULL n 余的全部删除:串中剩余head ,ch 字符所形成的一个新串二、 修改 放在t所指的数组中 删除p所指字符串中的答案: int i, j = 0 ; 所有空白字符,输入字符for(i = 0 ; i < strlen(s) ; i

+= 2) if(s[i] % 2 == 0) 串是用“#”结束输入。

答案: for(i=0,t=0;p[i];i++) t[j++] = s[i] ; t[j] =‟\

0‟ ; c[t]='\0';

第10套 一 填空 三、程序

计算出带有头结点的单将ss所指字符串中所有

向链表中各结点数据域下标为奇数位置上的字

中剩余字符形成一个新

串放在t所指的数组中 答案: int i, j = 0 ; for(i = 0 ; i < strlen(s); i++) if(s[i] % 2) t[j++] = s[i] ; t[j] = 0 ; 第12套.一、填空 找出指定出生年份的人员,将数据放在形参k所指的数组,由主函数输出,有函数值返回满足指中的三个元素按num成员进行升序排列

答案: *std PERSON std

二、修改

将m个字符串连接起来组成一个新串,放入pt所指存储区中 答案: int k,q,i; pt[i]=str[k][i]; 三、程序

母转换成大写

答案: int i ; for(i=1;i<

strlen(ss) ; i+=2)

{if(ss[i] >='a'&&ss[i] <=

'z') ss[i] - =32 ;}

第9套 一、填空

统计出带有头结点的单

向链表中的个数,存放在

形参n所指的存储单元

中。

答案: *n next head

二、修改

求出s所指字符串中最后

一次出现的t所指子字符

串的地址,通过函数返回

值返回,在主函数中输出

从此地址开始的字符串;

若未找到,则函数值为

NULL

答案: a = NULL; if(* r

==*p)

三 、程序

将s所指字符串中除了下

标问为偶数,同时ASCII

值也为偶数的字符外,其

中值之和作为函数的返回值。 答案: data next head 二、修改 将s所指字符串中出现的与t1所指字符串相同的字串全部替换成t2所指字符串,所形成的新串放

在w所指的数组中,在此处,要求t1和t2所指字符串的长度相同。 答案: while(*r) *a=*r ;a++; r++; 三、程序 将s所指字符串下标为偶数的字符删除,串中剩余字符形成的新串放在t所

指的数组中 答案: int i, j = 0 ; for(i = 1 ; i < strlen(s); i+=2) t[j++] = s[i] ; t[j] =`\ 0 `; 第11套 一填空

找出指定编号人员的数

据作为函数值返回,由主

函数输出,若指定编号不

存在,返回数据中的编号

为空串

答案: STU std[i].num std[i]

二、修改

从s所指字符串中,找出

与t所指字符串相同的字

串的个数作为函数返回

答案: r++; p++; if(*r==‟\0‟ ) 三、程序 将s所指字符串中ASCII值为偶数的字符删除,串定条件的人数

答案: std[i].year std[i] n

二、修改

读入一个整数k(2《k《1000),打印她的所有因子

答案: 分号去掉or Isprime (int n) if (!( n%i )) 三、设计

找出成绩最高的学生记录,通过形参指针传回主函数

答案: int i, max = a[0].s, j = 0; for(i = 1 ; i < N ; i++) if(max < a[i].s) { j = i ; max = a[i].s ; } *s = a[j] ;

第13套. 一、填空 给定程序。。。将该学生的各科成绩都乘以一个系数a

答案: STU score[i] &std

二、修改

求k!(k<13),所求阶乘的值作为函数值返回, 答案: if ( k>0) else if(k= =0) 三、程序

使数组左下三角元素的值乘以n

答案: int i, j; for(i = 0 ; i < N ; i++) for(j = 0 ; j <= i; j++) a[i][j] *= n ;

第14套 一、.填空 将形参所指结构体数组

使数组左下三角元素中的值全部值0

答案: int i, j; for(i = 0 ; i < N ; i++)

for(j = 0 ; j <= i; j++) a[i][j] =0;

第15套 一、.填空 将形参std所指结构体数组中年龄最大者的数据作为函数值返回,并在主函数中输出

答案: *std std[i].age max.name 二、修改

实现两个整数的交换 答案:void fun( int

*a,int*b) t t= *b; *b= *a ; *a = t; 三、程序

请编写一个函数、、tt指向一个M行N列的二维数组,求二维数组每列中最小元素,并以此放入pp所指一维数组中。二维数组中的数已在主函数中赋予

答案: int i,j, min, k ; for(i = 0 ; i <N;i++) { min = tt[0][i] ; k = 0 ; for(j = 1 ; j <M ; j++) if(min > tt[j][i])

{ min=tt[j][i] ; k = j ; } pp[i] = tt[k][i] ; } 第16套 一、.填空 程序通过定义。。输出这位学生的信息

答案: tt tt.score[i] std 二、修改

求出数组中最大数和次大数,并把最大数和【a0】

中的数对调,次最大数和a【1】中的书对调 答案: m=i;

if(a[k]>a[m] )m=k; 三、程序

请编写一个程序。。w是一个大与10的无符号整数,若w是n为的整数,函数求出w的低n-1位的数作为函数值返回

答案: unsigned t,s=0, 答案: result*=n--; return result; 三、程序

从s所指的字符串中删除给定字符。同一个字母的大小写按不同字符处理 答案: char*p=s; int i = 0; while(*p) {if(*p!= c)

s[i++] = *p ; p++;} s[i] =‟\ 0 „;

return t; 求出ss所指字符串中指三、程序 定字符的个数,并返回此编写一个函数。该函数可值 以统计一个长度为2的答案: int cnt = 0 ; char 字符串在另个字符串中*p= ss ; while(*p)

{ if(*p == c) cnt++ ; 出现的次数

p++ ;} return cnt; 答案: int cnt = 0; char

第23套 一、.填空 *p = str, *q ;

在形参所指字符串中的while(*p){q=strstr(p,subs

tr); if(q==NULL)break; 每个数字字符之后插入p=q+strlen(substr); 一个*号 s1=1,p=0; t=w; while(t>10)

{if(t/10) p=t%10; s=s+p*s1;

s1=s1*10; t=t/10;} return s;

第17套 一、.填空 对形参ss所指字符串数组中的M个字符串按长度由短到长进行排序。ss所指字符串数组中共有M个字符串,且串长《N 答案: i+1 k=j t 二、修改

判断ch中字符是否与str所指串中的某个字符相同;若相同,什么也不做,若不同,则将其插在串的最后

答案: void fun(char *str,char ch) if(*str != ch) str[1]=‟\0‟; 三、设计

请编写一个函数把s所指字符串中的内容逆值 答案: char b[N] ; int i = 0, j ; memset(b,0,N); for(j = strlen(s) - 1 ; j >= 0 ; j--) b[i++] = s[j] ; strcpy(s,b);

第18套 一、填空 求出形参ss所指的字符串数组中最长字符串的长度,其余字符串左边用字符*补齐,使其与最长的字符串等长,字符串数组中共有M个字符串 答案: k len ss[i][j] 二、修改

计算整数n的阶乘

第19套 一、.填空 求出形参ss所指字符串数组中最长字符串的长度,将其余 字符串右边用字符*补齐,使其与最长的字符串等长。Ss所指的字符串数组中共有M个字符串

答案: ss[i] n+j 1

二、修改

将p所指字符串中每个单词的最后一个字母改成大写

答案:if(*p==‟ ‟)2016年3月计算机二级考试题库

*(p-1)=toupper(*(p-1)); 三、程序

请编写函数fun对长多为7个字符的字符串,除首,尾字符外,将其余5个字符按ASCII降序排列 答案: char t ; int i, j ; for(i = 1 ; i < num-2;i++) for(j=i+1;j<num-1;j++) if(s[i]<s[j]) {t=s[i]; s[i]=s[j]; s[j]=t ;}

第20套 一、.填空 求ss所指字符串数组中长度最长的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。Ss所指字符串数组中共有M个字符串

2016年3月计算机二级考试题库

答案: [N] len *n=len 二、修改

根据形参答案,计算如下公式的值

答案: t +=1.0/i;

cnt++; } return cnt ; 第21套 一、.填空 求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中 答案: M < k 二、修改 将tt所指字符串中的小写字母都改为对应的大写字母,其他字符不变 答案:if((„a‟<=tt[i])&&(tt[i]<=‟z‟)) tt[i] -= 32; 三、程序

将大于1小于整数m的

非素数存入xx所指数组

中非素数的个数通过k

传回

答案:int i,j; int t=0; for

(i=2;i<m;i++)

{j =2; while (j<i) {if

(i%j==0){xx[t]=i; t++;break; } j++;} *k=t;} 第22套 一、.填空 将s所指字符串中的所有数字字符转移到所有非数字字符之后,并保持数字字符和非数字字符串原有的前后次序 答案: j++ s[i]=t1[i] j 二、修改 用冒泡法对6个字符串由小到大的顺序进行排序 答案: for(j=i+1 ;j<6 ;j++) *(pstr + i)= *(pstr + j); 三 程序 答案: && 0 s[j] 二、修改 根据整形形参m,计算如下公式的值 答案:for(i=2;i <=m;i++) y+=1.0/(i*i); 三 程序 实现B=A+A’,即把矩阵A加上A的转置,存放到B中 答案: int c[3][3] ; int i, j ; for(i = 0 ; i < 3 ; i++) for(j = 0 ; j < 3 ; j++) { c[i][j] = a[j][i] ; b[i][j] = a[i][j] +

c[i][j] ; } 第24套 一、.填空 统计形参s所指字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。 答案: s[i] „9‟ *t=n 二、修改 通过某种方式实现俩个变量值的交换,规定不予许增加语句和表达式 答案: t = *x ; *x = y ; return(t) ; 三、程序

求出1到1000之间能被7或11整除,但不能同时被7和11整除的所有整数并将他们放在a所指的数组中,通过n返回这些数的个数 答案: int i ; *n = 0 ; for(i = 7 ; i < 1000 ; i++) if(((i % 7) == 0 || (i % 11) == 0) && (i % 77) != 0)

a[(*n)++] = i ;

第25套 一、.填空 把形参s所指字符串中下标为奇数的字符右移到下一个奇数的位置, 最后边被移除字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动

答案: 1 s[k] c 二、填空

在形参所指字符串中寻找一个字符串与参数c相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则函数不做任何处理 答案: 0 0 c 二 修改

计算数组元素中值为正数的平均值

答案: double sum=0.0; 为止,q的值通过形参传等 入 答案: ((m)/(n))

return (value); 答案: s=s+(n+1.)/n;

三 设计 return t;

三 设计 将字符串中的前导*号全求Fibon….数列中大于t部删除,中间和尾部的*的最小的一个数,结果由号不删除 函数返回, 答案: int j=0; char *p 答案: int f0 = 0, f1 = 1, f ; = a ; while(*p == '*')

p++ ; while(*p) do { f = f0 + f1 ; f0 = f1 ;

{a[j++] = *p;p++; } f1 = f ; } while(f < t) ;

求s=aa…aa-….aaa-aa-a 答案: long s=0, t=0; t=t/10; 三、程序

请编写一个函数。。。统计在tt所指字符串中‟a‟到‟z‟26个小写字母各自出现的次数,并依次放在pp所指数组中

答案: char *p = tt ; int i ; for(i = 0 ; i < 26 ; i++) pp[i] = 0 ; while(*p )

{ if(*p >= 'a' && *p <= 'z') pp[*p - 'a'] += 1 ;p++ ; } 第26套. 一、填空 对形参s所指字符串中下标为奇数的字符按ascii码大小递增排序,并将排序后下标为基数的字符取出,存入形参p所指字符数组中,形成一个新串 答案: t=I i 0 二、填空

用下面公式求π的近似值,直到最后一项的绝对值小于指定的数为止 答案: while

(fabs(t)>=num) t=s/n; 三、程序

删除一个字符串中指定下标的字符,其中,a指向原字符,删除指定字符后的字符串存在b所指的数组中,n中存放指定下标

答案: int p,m=0; for(p=0;p<LEN;p++) if(p!=n) {b[m]=a[p]; m++;} b[m]=‟\0‟;

第27套 一 填空

sum/=c; 三 设计

根据以下公式s,计算结果作为函数返回值,n通过形参传入

答案: int k; float str =1.0, sum=1.0; for(k=2;k<=n; k++) { sum =sum+k; str =str+1/sum;} return str;

第28套 一 填空 有N*N的矩阵,根据给定的m的值,将每行元素中的值均右移m个位置,左边置为0

答案: i++ m m 二 修改

计算并输出high以内最大的10个素数之和。High的值由主函数传给fun函数

答案: while((2<=high) && (n<10)) yes=0; break; 三 设计

利用一下所示的简单迭代方法求方程:

答案: float x0, x1=0.0; do{x0=x1;

x1=cos(x0);}while(fabs(x0-x1)>0.000001); return x1;

第29.套 一 填空 将N*N的矩阵中元素值按列右移1个位置,右边被移出矩阵的元素绕回左边

答案: N N-1 0 二 修改

计算并输出下列的前N项之和Sn,Sn+1大于q

return f ;

第30套 一.填空

有N*N矩阵,将矩阵的

外围元素顺时针逆转,操2016年3月计算机二级考试题库

作顺序是:首先将第一行

元素的值存入临时数组

r,然后使第一列成为第

一行,最后一行成为第一

列,最后一列成为最后一

行。临时数组中的元素成

为最后一列

答案: 0 j- - j

二 修改

计算

s=f(-n)+f(-n+1)+…+f(0)+

f(1)+f(2)+…+f(n)的值,

答案: double f(double

x) return s ;

三 设计

编写函数fun,他的功能

是计算

s=ln(1)+ln(2.)..ln(m)开根

答案: double s = 0.0 ;

int i ; for(i = 1 ; i <= m ;

i++) s += log(1.0 * i) ; s = sqrt(s) ; return s ;

第31套 一.填空

有N*N矩阵,以主对角

线为对称线,对称元素相

加并将结构存放在左下

三角元素中,右上三角元2016年3月计算机二级考试题库

素之位0

答案: [N] t[i][j]

t[j][i]

二 修改

计算函数

F(x,y,z)=(x+y)/(x-y)+(z+y

)/(z-y)的值。其中x和y

的值不等,z和y的值不

a[j]=‟\0‟ ; 第32套 一.填空 将N*N矩阵主对角线元素中的值域反向对角线对应位置上的元素中的值交换 答案: t[ ][N] i=0;i<n s 二 修改 利用折半查找法查找整数答案在整数数组的位置。若找到,返回其下标;反之,返回-1 答案: int fun(int a[],int m) else if (m>a[mid]) 三 设计 除了尾部的*号外,将字符串中的*号全部删除^,形参p以指向字符串中最后的一个字符, 答案: char *q=a; int j=0; while(*q && q<p) { if(*q != '*') a[j++] = *q;q++ ; } while(*p)

a[j++]=*p++; a[j]=‟\0‟;

第 33套 一.填空

计算N*N矩阵的主对角线元素和反向对角线元素之和,并作为函数值返回, 答案: sum=0 t[i][i] 1 二 修改 用二分法求方程的一个根,并要求绝对误差不超过0.001 答案: double r; while(fabs(n-m)>0.001) 三 设计 除了尾部的*号外,将字符串中的*号全

答案: int j=0; char *q=a; while(*q &&q<h) a[j++]= *q++ ;

while(*h&&*p &&h < p) { if(*h != '*') a[j++] = *h ; h++;} while(*p) a[j++] = *p++ ; a[j] = „\0‟; 第34套 一.填空 把形参a所指数组中的奇数按原顺序依次存放到a【0】,a【1】….中,while(*t==‟*‟) 三 设计 {j++;t--;}t++; if(j>n) 把低于平均分的学生数{while(*p&&p<t+n) 据放在答案所指的数组{a[i]=*p;i++;p++;}a[i]=‟\中,低于平均分的学生人0‟;}

数通过形参n传回,平均

第36套 一.填空

分通过函数值返回

把形参a所指数组中的

答案: int i ; double ave

最小值放在元素a【0】= 0.0 ; *n = 0 ; for(i = 0; i 中,按着把形参a所指数< N ; i++) ave = ave + 组中的最大值放在a【1】a[i].s ; 元素中;在把a所指数组ave/=N;for(i=0;i<N;i++)if将一个由八进制数字字

符组成的字符串转换为与其面值相等的十进制整数,规定输入的字符串最多只能包含5为八进制数字字符

答案: n=*p-`0`: n=n*8+*p-„0‟; 三 设计

函数返回指定学生的学偶数从数组中删除,奇数个数通过函数值返回 答案: 1 j++ j 二 修改

求出连个非零正整数的最大公约数,并作为函数值返回

答案: t=a;a=b;b=t; return (b); 三 设计

除了尾部的*号外,将字符串中的*号全部删除,形参答案以指向字符串中最后的一个字母, 答案: int j =0 ; char *p=a; while(*p) {if(*p!='*')

a[j++]=*p;p++; } a[j]=`\0`;

第35套 一 填空 把形参所指数组中的偶数按原顺序依次存放到a【0】、a【1】,…中,奇数从数组中删去,偶数个数通过函数值返^回 答案: a[i]%2 a[j] j 二 修改

按一下递归公式求函数值

答案: int fun(int n ) if(n==1) 三 设计

使字符串尾部的*号不得多于n个;若多于n个,则删除多于的*号,若少于n个,则什么也不做,字符串中间和前面的*号不删除

答案:int i=0,j=0; char *p,*t; p=t=a;

While(*t) t++; t--;

中的次小元素放在a【2】所指的数组中,把a所指

的数组元素中的次大放

在a【3】;其余以此类推

答案: a[i] a[j] a[j] 二 修改 用递归算法计算非波拉且数列中第n项的值, 答案:switch(g)

case 1:return 1;case

2:return 1;

三 设计

求学生的平均分放在记

录的ave成员中

答案: int i ; for(i =0 ; i <

N ; i++) a->ave =

a->ave+a->s[i] ; a->ave

/= N ; 第37套 一.填空 把形参a所指数组中的最大值放在a【1】中,按着求出a所指数组中的最小值放在a【1】数组中;把a所指数组元素的次大值放在a【2】中,把a数组元素中的次小值放在a【3】中;其余以此类推。 答案: *a 2 i+1 二 修改 按顺序给s所指数组中的元素赋予从2开始的偶

数,在按顺序对每五个元

素求个一平均值,并将这

些值依次存放在w所指

的数组中,若s所指数组

元素的个数不是5的倍

数,多于部分忽略不计

答案: sum=0.0; if((i+1)%5==0) (a[i].s<ave){b[*n]=a[i];(*

n)++;} return ave ;

第38套 一 .填空 将形参a所指的数组中的前半部分元素中的值和后半部分元素中的值兑换,形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动 答案: 1 i a[p+i] 二 修改 把主函数中输入的3个数,最大的放在a中,最小的放在c中,中间的放在b中 答案: float k; if(*a<*c) 三 设计 把分数^最高的学生的数据放在h所指数组中, 答案: int i, max = a[0].s, n=0; for(i = 1;

i < N; i++) if(max < a[i].s) max = a[i].s ; for(i = 0; i < N; i++) if(max==a[i].s) b[n++] =

a[i] ; return n;

第39套 一.填空

逆置数组元素中的值。

答案: n/2 i

a[n-1-i] 二 修改

生数据,指定的学号在主函数中输入,若没找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回 答案: STREC c ; int i ; c.num[0] = '\0' ; c.s = -1 ; for(i = 0 ; i < N ; i++)

if(strcmp(a[i].num,b)==0) { strcpy(c.num, a[i].num);c.s=a[i].s; break ; } return c ; 第40套 一.填空 函数fun的功能。。。进行数字字符转换,若形参ch中是数字字符0-9,则0转换为9,1转换为8,2转换为7…9转换为0;其他字符则保持不变;转换后的结果作为函数值返回

答案: char ch<='9' „0‟

二 修改

将p所指字符串中的所有字符复制到b中,每复制三个字符有插入一个空格

答案: b[k]=*p; b[k++]=‟ ‟; 三 设计

求出平均分,由函数值返回

答案: STREC *p=h->next; double av=0.0;int n = 0 ;while(p!=NULL)

{av=av+p->s ; p=p->next; n++; } av /= n ; return av;

第41套 一.填空

第三篇:《2016年3月全国计算机等级考试二级 C语言上机考试题库及答案》

2016年3月全国计算机等级考试二级 C语言上机考试题库及答案 第1套

一、填空

给定函数的功能是调用fun函数建立班级通讯录。通讯录记录每位学生的编号,姓名和电话号码。班级的人数和学生的从低位开始取出长整形 过程中,把复制的内容输该节点,是链表缩短。 出到终端屏幕。主函数中答案: next t->data 变量s中的奇数位上的t 源文件名放在变量数,依次构成一个新数放二、修改 sfname中,目标文件名放在t中,高位仍放在高位,在变量tfname中 将字符串中的字符按逆低位仍放在低位。 序输出,单补改变字符串答案: “r” fs ft 答案: long *t sl = 中的内容。 二、修改 sl*10; 答案:void fun (char *a) 将长整形数中每一位上三、程序 printf("%c", *a) ; 为偶数的数依次取出,构将两个两位数的正整数三、程序 成一个新数放在t中。高a,答案合并成一个整数比较两个字符串的长度位仍在高位仍在低位。 信息从键盘 读入,每个人的信息作为一个数据块写到名为答案yfile5.dat的二进制文件中。

答案:1. STYPE 2. FILE 3. fp 二、修改

先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串后面。 答案:1. for(i = 0 ; i < sl ; i++) 2. t[2*sl] =` 0`; 三、程序

将两个两位数的正整数a,答案合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,答案数的十位和个位数依次放在c数的百位和个位上。

*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10); 第2套 一、填空 从键盘输入若干行文本(每行不超过80个字符),写到文件答案yfile4.txt中,用-1作为字符串输入结束的标记。然后将文件的内容读出显示在屏幕上。文件的读写分别有自定义函数

ReadText和WriteText实现。

答案 :*fw str str

二、修改

放在c中。合并的方式:将a数的十 位和个位数依次放在c数的千位和十位上,答案数的十位和个位数依次放在c数的百位和个位上。 *c=(b/10)*1000+(a%10)*100+(b%10)*10 +(a/10); 第3套 一、填空 将自然数1~10以及它们的平方根写到名为答案yfile3txt的文本文档中,然后再顺序读出显示在屏幕上。 答案: (1)fp

(2)fclose(fp) (3)fname 二、修改 将n个无序整数从小到大排序。 答案: for(i=j+1;i<n;i++) p=i;

三、程序

将两个两位数的正整数a,答案合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,答案数的十位和个位数依次放在c数的百位和个位上

*c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10); 第4套 一、填空

第四篇:《2016年3月全国计算机等级考试二级C语言上机题库100套》

2016年3月全国计算机等级考试

题库100套

第一套

1. 程序填空

给定程序中,函数fun的功能是:计算下式前n项的和作为函数值返回。例如:当形参n的值为10 的时,函数返回:9.6125588。 第一处 s=0;

第二处 for(i=1;i<=n;i++)

第三处 s=s+(2.0*i-1)*(2.0*i+1)/(t*t); 2. 程序修改

给定程序MODI1.C中函数fun的功能是:统计substr所指字符串在str所指字符串中出现伯次数。 /**found**/

for(i=0;str[i];i++) /**found**/

if(substr[k+1]==’\0’) 3. 程序设计

请编写一个函数fun,它的功能是:根据以下公式求JI的值(要求满足精度0.0005,即某项小于0.0005时停止送代):程序运行后,如果输入精度为0.0005,则程序输出为3.14…。 double fun(double eps) { double s=1,t=1./3; int n=1;

while(t>=eps)

{s+=t;n++;t=t*n/(2.0*n+1) ;}

return(s*2.0); }

第二套

1. 程序填空

给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序连接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。

1

第一处 free(q); 第二处 q=p->next; 第三处 q=q->next; 2. 程序修改

给定程序MODI1.C中函数fun的功能是:用选择法对数组中的n各元素按从小到大的顺序进行排序。 /**found**/ p=j;

/**found**/ p=i;

3. 程序设计

请编写一个fun函数,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。

void fun(int m,int *a,int *n) { int i; *n=0;

for(i=7;i<=m;i++)

if((i%7==0)||(i%11==0)) a[(*n)++]=i; } 第三套

1. 程序填空

函数fun的功能是:逆置数组元素是的值。例如:若a所指数组中的数据依次为:1、2、3、4、5、6、7、8、9,则逆置后依次为:9、8、7、6、5、4、3、2、1。形参n给出数组中数组中数据的个数。 第一处 for(i=0;i<n/2;i++) 第二处 a[i]=a[n-1-i]; 第三处 a[n-i-1]=t; 2程序修改

给定程序MODI1.C中函数fun的功能是:将一个由八进制数字字符串组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。 /**found**/

n=*p-‘0’; /**found**/ n=n*8+*p-‘0’; 3. 程序设计

学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:函数返回指定学号的学生数据,指定的学生号在主函数中输入,若没有找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回。(用于字符串比较的函数是strcmp)。

STREC fun(STREC*a,char *b) {

STREC c; Int i;

c.num[0]=’\0’; c.s=-1;

for(i=0;i<N;i++)

if(strcmp(a[i].num,b)==0) {strcpy(c.num,a[i].num); c.s=a[i].s;break;} return c; }

第四套

1. 程序填空

给定程序中,函数fun的功能是:在带有头结点的单向链表中,查找数据域中值为ch的结点。找到后通过函数值返回该结点在链表中所处的顺序号:若不存在值为ch的结点,函数值返回0. 第一处 while(p!=0)

第二处if(p->data==ch)return n; 第三处 k=fun(head,ch); 2. 程序修改

给定程序MODI1.C中函数fun的功能是:删除p所指字符串的所有空白字符(包括制表符、回车符及换行符)。输入字符串时用‘#’结束输入。 /**found**/

for(i=0,t=0;p[i];i++)

2

/**found**/ c[t]=’\0’; 3. 程序设计

请编写一个函数fun,将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。

void fun(char *ss) { int i;

for(i=1;i<strlen(ss);i+=2) {if(ss[i]>=’a’&&ss[i]<=’z’) ss[i]-=32; } }

第五套

1. 程序填空

程序通过定义学生结构体数组,存储了若干个学生的学号、姓名和三门课的成绩。函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大排序)。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 第一处 struct student t; 第二处 for(i=0;i<n-1;i++) 第三处 if(strcmp(a[i].name,a[j].name)>0) 2 程序修改

给定程序MODI1.C中函数fun的功能是:在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向上顺序移动。 /**found**/ q=p+i;

/**found**/ while(q>p) 3程序设计

学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:把指定分数范围内的学生数据放在b所指

的数组中,分数范围内的学生人数由函数值返回。

int fun(STREC *a,STREC *b,int l,int h) {int i,j=0;

for(i=0;i<N;i++)

if((a[i].s>=1&&a[i].s<=h) b[j++]=a[i]; return j; }

第六套

1. 程序填空

给定程序中,函数fun的功能是:将形参s所指定字符串中所有的字母字符顺序前移,其他字母顺序后移,处理后字符串的首地址作为函数值返回。 第一处 t[j]=s[i];j++; 第二处 for(i=0;i<k;i++) t[j+i]=p[i];

第三处 t[j+k]=0; 2. 程序修改

给定程序MODI1.C中函数fun的功能是:将s所指字符串中最后一次出现的与t1所指字符串相同的子串替换成t2所指定字符串,所形成的新串放在w所指的数组中。在此处,要求t1和t2所指字符串的长度相同。 /**found**/ while(*w) /**found**/ if(*r==*p) 3. 程序设计

函数fun的功能是:将s所指字符串中ASCII值为奇数的字符删除,串中剩余字符形成一个新串放在t所指定的数组中。

void fun(char *s,char t[]) { int i,j=0;

for(i=0;i<strlen(s);i++) if(s[i]%2==0)t[j++]=s[i]; t[j]=0;

3

} 第七套

1. 程序填空

程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。函数fun的功能是将形参a所指结构体变量s中的数据进行修改,并把a中地址作为函数值返回主函数,在主函数中输出修改后的数据。

第一处 struct student *

fun(struct student*a) 第二处 for(i=0;i<3;i++) a->score[i]+=1; 第三处 return a; 2. 程序修改

给定程序MODI1.C中函数fun

的功能是:从N个字符串中找出最长的那个串,并将其地址作为函数值返回。各字符串在主函数中输入,并放在一个字符串数组中。 /**found**/

char *fun(char (*sq)[M]) /**found**/ return sp; 3. 程序设计

函数fun的功能是:将a、b中的两位正整数合并形成一个新的整数放在c中。合并的方式是:将a中的十位和个位依次放在变量c的百位和个位上,b中的十位和个位数依次放在变量c的十位和千位上。

#include <stdio.h>

void fun(int a,int b,long *c)

{ *c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10; }

第八套

1. 程序填空

函数fun的功能是:将形参观者工所指数组中的前半部分元素中的值和后半部分元素中的值对换。形参n中存放数组

中数据的个数,若n为奇书,则中间元素不动。

第一处 p=(n%2==0)?n/2:n/2+1; 第二处 a[i]=a[p+i]; 第三处 a[p+i]=t; 2. 程序修改

给定程序MODI1.C中函数fun的功能是:把主函数中输入的三个数,最大的放在a中,最小的放在c中,中间的放在b中。 /**found**/ float k;

/**found**/ if(*a<*c) 3. 程序设计

学生的记录由学号和成绩组成,N

名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:把分数最高的学生数据放在b所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。 int fun(STREC *a,STREC *b) {

int i,max=a[0].s,n=0; for(i=1;i<N;i++)

if(max<a[i].s)max=a[i].s; for(i=0;i<N;i++)

if(max==a[i].s)b[n++]=a[i]; return n; }

第九套

1. 程序填空

给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值,(规定所有数均为正数),将所指数组中小于平均值的数据移至数据的前部,大于等于平均数的移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。

第一处 for(i=0;i<N;i++) av+=x[i]/N

4

第二处 y[j]=x[i]; x[i]=-1;j++;} 第三处 i++; 2. 程序修改

给定程序MODI1.C中函数fun的功能是:统计字符串各元音字母(即:A、E、I、O、U)的个数。注意字母不分大小写。 /**found**/ num[k]=0; /**found**/ switch(*s) 3. 程序设计

请编写函数fun,函数的功能是:求出二级数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。 int fun(int a [M][N]) {

int tot=0,i,j;

for(i=0;i<N;i++) {

tot +=a[0][i]; tot +=a[M-1][i]; }

for(i=1;i<M-1;i++){ tot +=a[i][0]; tot +=a[i][N-1]; }

return tot; }

第十套

1. 程序填空

程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。函数fun的功能是将形参a中的数据进行修改,把修改后的数据作为函数值返回主函数进行输出。

第一处 struct student fun(struct student a)

第二处 strcpy(a.name,”LiSi”); 第三处 a.score[i]+=1;2016年3月计算机二级考试题库

2程序修改

假定整数数列中的数不重复,并存放在数组中。给定程序MODI1.C中函数fun的功能是:删除数列中值为x的元素。N中存放的是数列中元素的个数。 /**found**/

if(p==n) return-1’ /**found**/ a[i]=a[i+1]; 3. 程序设计

学生的记录由学号和成绩组成,N

名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:把分数最低的学生数据放在b所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生的人数。 int fun(STREC *a,STREC *b) {

int i,j=0,min=a[0].s; for(i=0;i<N;i++) { if(min>a[i].s){ j=0;

b[j++]=a[i];min=a[i].s; }

else if(min==a[i].s) b[j++]=a[i]; }

return j; }

第十一套 1. 程序填空

给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值,(规定所有数均为正数),将所指数组中大于平均值的数据移至数据的前部,小于等于平均数的移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。 第一处 av=s/N;

第二处 y[j++]=x[i];x[i]=-1;} 第三处 if(x[i]!=-1)

5

y[j++]=x[i]; 2. 程序修改

给定程序MODI1.C中函数fun的功能是:读入一行英文文本行,将其中每个单词的第一个字母改成大写,然后输出次文本行(这里的“单词”是指由空格隔开的字符串)。 /**found**/

#include<stdio.h> /**found**/ upfst (char *p) 3. 程序设计

程序定义了N×N的二级数组,并在主函数中赋值,请编写函数fun,函数的功能是:求出数组周边元素的平均值并作出函数值饭给主函数中的s。 double fun(int w[][N]) { int i,j,n=0; double sum=0; for(i=0;i<N;i++)

{ sum+=w[0][i]+w[N-1][i]; n+=2;}

for(i=1;i<N-1;i++)

{ sum+=w[i][0]+w[i][N-1]; n+=2; }2016年3月计算机二级考试题库

return sum/n; }

第十二套 1. 程序填空

给定程序中,函数fun的功能是:将自然数1—10以及它们的平方根写到名为myfile3.txt的文本文件中,然后再顺序读出显示在屏幕上。 第一处

fprintf(fp,”%d%f\n”,i,sqrt((double)i));

第二处 fclose(fp); 第三处

if((fp=fopen(fname,”r”))==NULL) 2. 程序修改

第五篇:《2016年3月计算机二级ms office高级应用选择题题库》

2016年3月计算机二级ms office高级应用<选择题>题库(21套)

第一套

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)学号,姓名,成绩

第二套

(1)一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是( )。

A)12345ABCDE

B)EDCBA54321

C)ABCDE12345

2016年3月计算机二级考试题库

D)54321EDCBA

(2)下列叙述中正确的是( )。

A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构

B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况

C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况

D)循环队列中元素的个数是由队头指针和队尾指针共同决定

(3)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。

A)O(n)O(n)

B)O(n^2)O(n)

C)O(log2n)O(log2n)

D)O(nlog2n)O(nlog2n)2016年3月计算机二级考试题库

4)下列叙述中正确的是( )。

A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的

B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构

C)顺序存储结构能存储有序表,链式存储结构不能存储有序表

D)链式存储结构比顺序存储结构节省存储空间

(5)数据流图中带有箭头的线段表示的是( )。

A)控制流

B)事件驱动

C)模块调用

D)数据流

(6)在软件开发中,需求分析阶段可以使用的工具是( )。

A)N-S图

B)DFD图

C)PAD图

D)程序流程图

(7)在面向对象方法中,不属于"对象"基本特点的是( )。 2

A)一致性

B)分类性

C)多态性

D)标识唯一性

(8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。

A)一对一

B)一对多

C)多对一

D)多对多

(9)在数据管理技术发展的三个阶段中,数据共享最好的是( )。

A)人工管理阶段

B)文件系统阶段

C)数据库系统阶段

D)三个阶段相同

(10)有三个关系R、S和T如下:

由关系R和S通过运算得到关系T,则所使用的运算为( )。

A)笛卡尔积

B)交

C)并

D)自然连接

(16)计算机硬件能直接识别、执行的语言是()。

A)汇编语言

B)机器语言

C)高级程序语言

D)人类语言

第三套

(1)下列叙述中正确的是( )。

A)栈是"先进先出"的线性表

B)队列是"先进后出"的线性表

C)循环队列是非线性结构

D

)有序线性表既可以采用顺序存储结构,也可以采用链式存储结

栈是先进后出的线性表,所以A)错误;队列是先进先出的线性表,所以B)错误;循环队列是线性结构的线性表,所以C)错误。

(2)支持子程序调用的数据结构是( )。

A)栈

B)树

C)队列

D)二叉树

3)某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是( )。

A)10

B)8

C)6

D)4

解析:根据二叉树的基本性质3:在任意一棵二叉树中,度为0的叶子节点总是比度为2的节点多一个,所以本题中是5+1=6个。

(4)下列排序方法中,最坏情况下比较次数最少的是( )。

A)冒泡排序

B)简单选择排序

C)直接插入排序

D)堆排序

(6)下面叙述中错误的是( )

A)软件测试的目的是发现错误并改正错误

B)对被调试的程序进行"错误定位"是程序调试的必要步骤

C)程序调试通常也称为Debug

D)软件测试应严格执行测试计划,排除测试的随意性

解析:软件测试的目的是为了发现错误而执行程序的过程,并不涉及改正错误

(7)耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是( )。

A)提高耦合性降低内聚性有利于提高模块的独立性

B)降低耦合性提高内聚性有利于提高模块的独立性

C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度

D)内聚性是指模块间互相连接的紧密程度

(8)数据库应用系统中的核心问题是( )。

A)数据库设计

本文来源:http://www.zhuodaoren.com/yuwen58069/

推荐访问:计算机二级ms考试题库 计算机二级vf考试题库
扩展阅读文章
热门阅读文章