2016年計(jì)算機(jī)等級考試二級筆試試卷及答案
一、選擇題((1)~(10)、(21)~(40)每題2 分,(11)~(20)每題1 分,70 分)
下列各題A)、B)、C)、D)四個選項(xiàng)中,只有一個選項(xiàng)是正確的,請將正確選項(xiàng)填涂在
答題卡相應(yīng)位置上,答在試卷上不得分。
(1)一個棧的初始狀態(tài)為空。現(xiàn)將元素1、2、3、4、5、A、B、C、D、E 依次入棧,然后
再依次出棧,則元素出棧的順序是( )。
A)12345ABCDE B)EDCBA54321 C)ABCDE12345 D)54321EDCBA
(2)下列敘述中正確的是( )。
A)循環(huán)隊(duì)列有隊(duì)頭和隊(duì)尾兩個指針,因此,循環(huán)隊(duì)列是非線性結(jié)構(gòu)
B)在循環(huán)隊(duì)列中,只需要隊(duì)頭指針就能反映隊(duì)列中元素的動態(tài)變化情況
C)在循環(huán)隊(duì)列中,只需要隊(duì)尾指針就能反映隊(duì)列中元素的動態(tài)變化情況
D)循環(huán)隊(duì)列中元素的個數(shù)是由隊(duì)頭指針和隊(duì)尾指針共同決定
(3)在長度為n 的有序線性表中進(jìn)行二分查找,最壞情況下需要比較的次數(shù)是( )。
A)O(n) B)O(n2) C)O(log2n) D)O(nlog2n)
(4)下列敘述中正確的是( )。
A)順序存儲結(jié)構(gòu)的存儲一定是連續(xù)的,鏈?zhǔn)酱鎯Y(jié)構(gòu)的存儲空間不一定是連續(xù)的
B)順序存儲結(jié)構(gòu)只針對線性結(jié)構(gòu),鏈?zhǔn)酱鎯Y(jié)構(gòu)只針對非線性結(jié)構(gòu)
C)順序存儲結(jié)構(gòu)能存儲有序表,鏈?zhǔn)酱鎯Y(jié)構(gòu)不能存儲有序表
D)鏈?zhǔn)酱鎯Y(jié)構(gòu)比順序存儲結(jié)構(gòu)節(jié)省存儲空間
(5)數(shù)據(jù)流圖中帶有箭頭的線段表示的是( )。
A)控制流 B)事件驅(qū)動 C)模塊調(diào)用 D)數(shù)據(jù)流
(6)在軟件開發(fā)中,需求分析階段可以使用的工具是( )。
A)N-S 圖 B)DFD 圖 C)PAD 圖 D)程序流程圖
(7)在面向?qū)ο蠓椒ㄖ,不屬?ldquo;對象”基本特點(diǎn)的是( )。
A)一致性 B)分類性 C)多態(tài)性 D)標(biāo)識唯一性
(8)一間宿舍可住多個學(xué)生,則實(shí)體宿舍和學(xué)生之間的聯(lián)系是( )。
A)一對一 B)一對多 C)多對一 D)多對多
(9)在數(shù)據(jù)管理技術(shù)發(fā)展的三個階段中,數(shù)據(jù)共享最好的是( )。
A)人工管理階段 B)文件系統(tǒng)階段 C)數(shù)據(jù)庫系統(tǒng)階段 D)三個階段相同
(10)有三個關(guān)系R、S 和T 如下:
R S T
A B B C A B C
m 1 1 3 m 1 3
n 2 3 5
由關(guān)系R 和S 通過運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為( )。
A)笛卡爾積 B)交 C)并 D)自然連接
(11)以下敘述中正確的是( )。
A)C 程序的基本組成單位是語句 B)C 程序中的每一行只能寫一條語句
C)簡單C 語句必須以分號結(jié)束 D)C 語句必須在一行內(nèi)寫完
(12)計(jì)算機(jī)能直接執(zhí)行的程序是( )。
A)源程序 B)目標(biāo)程序 C)匯編程序 D)可執(zhí)行程序
(13)以下選項(xiàng)中不能作為C 語言合法常量的是( )。
A)'cd' B)0.1e+6 C)"\a" D)'\011'
(14)以下選項(xiàng)中正確的定義語句是( )。
A)double a; b; B)double a=b=7; C)double a=7, b=7; D)double, a, b;
(15)以下不能正確表示代數(shù)式2ab
cd
的C 語言表達(dá)式是( )。
A)2*a*b/c/d B)a*b/c/d*2 C)a/c/d*b*2 D)2*a*b/c*d
(16)C 源程序中不能表示的數(shù)制是()。
A)二進(jìn)制 B)八進(jìn)制 C)十進(jìn)制 D)十六進(jìn)制
(17)若有表達(dá)式(w)?(--x):(++y),則其中與w 等價(jià)的表達(dá)式是( )。
A)w==l B)w==0 C)w!=l D)w!=0
(18)執(zhí)行以下程序段后,w 的值為( )。
int w='A', x=14, y=15;
w=((x || y)&&(w<'a'));
A)-1 B)NULL C)l D)0
(19)若變量已正確定義為int 型,要通過語句scanf("%d, %d, %d", &a, &b, &c);給a 賦值
1、給b 賦值2、給c 賦值3,以下輸入形式中錯誤的是( ò 代表一個空格符)( )。
A)ò ò ò 1,2,3<回車> B)1 ò 2 ò 3<回車>
C)1,ò ò ò 2,ò ò ò 3<回車> D)1,2,3<回車>
(20)有以下程序段
int a, b, c;
a=10; b=50; c=30;
if (a>b) a=b, b=c; c=a;
printf("a=%d b=%d c=%d ”, a, b, c);
程序的輸出結(jié)果是( )。
A)a=10 b=50 c=10 B)a=10 b=50 c=30 C)a=10 b=30 c=10 D)a=50 b=30 c=50
(21)若有定義語句:int m[]={5,4,3,2,1},i=4;,則下面對m 數(shù)組元素的引用中錯誤的是
( )。
A)m[--i] B)m[2*2] C)m[m[0]] D)m[m[i]]
(22)下面的函數(shù)調(diào)用語句中func 函數(shù)的實(shí)參個數(shù)是( )。
func (f2(v1, v2), (v3, v4, v5), (v6, max(v7, v8)));
A)3 B)4 C)5 D)8
(23)若有定義語句:double x[5]={1.0,2.0,3.0,4.0,5.0}, *p=x;則錯誤引用x 數(shù)組元素的是
( )。
A)*p B)x[5] C)*(p+1) D)*x
(24)若有定義語句:char s[10]="1234567\0\0";,則strlen(s)的值是()。
A)7 B)8 C)9 D)10
(25)以下敘述中錯誤的是( )。
A)用戶定義的函數(shù)中可以沒有return 語句
B)用戶定義的函數(shù)中可以有多個return 語句,以便可以調(diào)用一次返回多個函數(shù)值
C)用戶定義的函數(shù)中若沒有return 語句,則應(yīng)當(dāng)定義函數(shù)為void 類型
D)函數(shù)的return 語句中可以沒有表達(dá)式
(26)以下關(guān)于宏的敘述中正確的是( )。
A)宏名必須用大寫字母表示
B)宏定義必須位于源程序中所有語句之前
C)宏替換沒有數(shù)據(jù)類型限制
D)宏調(diào)用比函數(shù)調(diào)用耗費(fèi)時(shí)間
(27)有以下程序
#include
main()
{ int i, j;
for(i=3; i>=l; i--)
{ for(j=1; j<=2; j++) printf("%d", i+j);
printf(" ");
}
}
程序的運(yùn)行結(jié)果是( )。
A)2 3 4 B)4 3 2
3 4 5 5 4 3
C)2 3 D)4 5
3 4 3 4
4 5 2 3
(28)有以下程序
#include
main()
{ int x=l, y=2, z=3;
if(x>y)
if(y
else printf("%d", ++y);
printf("%d ", x++);
}
程序的運(yùn)行結(jié)果是( )。
A)331 B)41 C)2 D)1
(29)有以下程序
# include
main()
{ int i=5;
do
{ if (i%3=1)
if (i%5==2)
{ printf("*%d", i); break;}
i++;
} while(i!=0);
printf(" ");
}
程序的運(yùn)行結(jié)果是( )。
A)*7 B)*3*5 C)*5 D)*2*6
(30)有以下程序
#include
int fun(int a,int b)
{ if(b==0) return a;
else return(fun(--a,--b));
}
main()
{ printf("%d ", fun(4,2));}
程序的運(yùn)行結(jié)果是( )。
A)1 B)2 C)3 D)4
(31)有以下程序
#include
#include
int fun(int n)
{ int *p;
p=(int*)malloc(sizeof(int));
*p=n; return *p;
}
main()
{ int a;
a = fun(10); printf("%d ", a+fun(10));
}
程序的運(yùn)行結(jié)果是( )。
A)0 B)10 C)20 D)出錯
(32)有以下程序
#include
void fun(int a, int b)
{ int t;
t=a; a=b; b=t;
}
main()
{ int c[10]={1,2,3,4,5,6,7,8,9,0), i;
for (i=0; i<10; i+=2) fun(c[i], c[i+l]);
for (i=0; i<10; i++) printf("%d,", c[i]);
printf(" ");
}
程序的運(yùn)行結(jié)果是( )。
A)l,2,3,4,5,6,7,8,9,0, B)2,l,4,3,6,5,8,7,0,9, C)0,9,8,7,6,5,4,3,2,1, D)
0,1,2,3,4,5,6,7,8,9,
(33)有以下程序
#include
struct st
{ int x, y;) data[2]={l,10,2,20};
main()
{ struct st *p=data;
printf("%d,", p->y); printf("%d ",(++p)->x);
}
程序的運(yùn)行結(jié)果是( )。
A)10,1 B)20,1 C)10,2 D)20,2
(34)有以下程序
#include
void fun(int a[], int n)
{ int i, t;
for(i=0; i
}
main()
{ int k[10]={1,2,3,4,5,6,7,8,9,10}, i;
fun(k,5);
for(i=2; i<8; i++) printf("%d", k[i]);
printf(" ");
}
程序的運(yùn)行結(jié)果是( )。
A)345678 B)876543 C)1098765 D)321678
(35)有以下程序
#include
#define N 4
void fun(int a[][N], int b[])
{ int i;
for(i=0; i
}
main()
{ int x[][N]={{1,2,3),{4),{5,6,7,8),{9,10}},y[N], i;
fun(x,y);
for (i=0; i
printf(" ");
}
程序的運(yùn)行結(jié)果是( )。
A)l,2,3,4, B)1,0,7,0, C)1,4,5,9, D)3,4,8,10,
(36)有以下程序
#include
int fun(int (*s)[4],int n, int k)
{ int m, i;
m=s[0][k];
for(i=l; i
return m;
}
main()
{ int a[4][4]={{1,2,3,4),{11,12,13,14},{2l,22,23,24},{31,32,33,34}};
printf("%d ", fun(a,4,0));
}
程序的運(yùn)行結(jié)果是( )。
A)4 B)34 C)31 D)32
(37)有以下程序
#include
main()
{ struct STU { char name[9]; char sex; double score[2]; };
struct STU a={"Zhao",'m',85.0,90.0), b={"Qian",'f',95.0,92.0);
b=a;
printf("%s,%c,%2.0f,%2.0f ",b.name,b.sex,b.score[0],b.score[1]);
}
程序的運(yùn)行結(jié)果是( )。
A)Qian,f,95,92 B)Qian,m,85,90 C)Zhao,f,95,92 D)Zhao,m,85,90
(38)假定已建立以下鏈表結(jié)構(gòu),且指針p 和q 已指向如圖所示的結(jié)點(diǎn):
head a b c
data next
↑p ↑q
則以下選項(xiàng)中可將q 所指結(jié)點(diǎn)從鏈表中刪除并釋放該結(jié)點(diǎn)的語句組是( )。
A)(*p).next=(*q).next; free(p); B)p=q->next; free(q);
C)p=q; free(q); D)p->next=q->next; free(q);
(39)有以下程序
#include
main()
{ char a=4;
printf("%d ", a=a<<1);
}
程序的運(yùn)行結(jié)果是( )。
A)40 B)16 C)8 D)4
(40)有以下程序
#include
main()
{ FILE *pf;
char *s1="China",*s2="Beijing";
pf=fopen("abc.dat","wb+");
fwrite(s2,7,l,pf);
rewind(pf);
fwrite(s1,5,1,pf);
fclose(pf);
}
以上程序執(zhí)行后abc.dat 文件的內(nèi)容是( )。
B)China B)Chinang C)ChinaBeijing D)BeijingChina
二、填空題(每空2 分,共30 分)
請將每一個空的正確答案寫在答題卡【1】至【15】序號的橫線上,答在試卷上不得分。
(1)對下列二叉樹進(jìn)行中序遍歷的結(jié)果 【1】 。
A
B C
D E F
X Y Z
(2)按照軟件測試的一般步驟,集成測試應(yīng)在 【2】 測試之后進(jìn)行。
(3)軟件工程三要素包括方法、工具和過程,其中, 【3】 支持軟件開發(fā)的各個環(huán)節(jié)的
控制和管理。
(4)數(shù)據(jù)庫設(shè)計(jì)包括概念設(shè)計(jì)、 【4】 和物理設(shè)計(jì)。
(5)在二維表中,元組的 【5】 不能再分成更小的數(shù)據(jù)項(xiàng)。
(6)設(shè)變量a 和b 已正確定義并賦初值。請寫出與a-=a+b 等價(jià)的賦值表達(dá)式 【6】 。
(7)若整型變量a 和b 中的值分別為7 和9,要求按以下格式輸出a 和b 的值:
a=7
b=9
請完成輸出語句:printf (" 【7】 ",a,b);。
(8)以下程序的輸出結(jié)果是 【8】 。
#include
main()
{ int i,j,sum;
for(i=3;i>=1;i--)
{ sum=0;
for(j=1;j<=i;j++) sum+=i*j;
}
printf("%d ",sum);
}
(9)以下程序的輸出結(jié)果是 【9】 。
#include
main()
{ int j, a[]={1,3,5,7,9,11,13,15},*p=a+5;
for(j=3; j; j--)
{ switch(j)
{ case 1:
case 2: printf("%d",*p++); break;
case 3: printf("%d",*(--p));
}
}
}
(10)以下程序的輸出結(jié)果是 【10】 。
#include
#define N 5
int fun(int *s, int a, int n)
{ int j;
*s=a; j=n;
while(a!=s[j])j--;
return j;
}
main()
{ int s[N+1]; int k;
for(k=l; k<=N; k++) s[k]=k+l;
printf("%d ",fun(s,4,N));
}
(11)以下程序的輸出結(jié)果是 【11】 。
#include
int fun(int x)
{ static int t=0;
return(t +=x);
}
main()
{ int s,i;
for(i=l;i<=5;i++) s=fun(i);
printf("%d ",s);
}
(12)以下程序按下面指定的數(shù)據(jù)給x 數(shù)組的下三角置數(shù),并按如下形式輸出,請?zhí)羁铡?/p>
4
3 7
2 6 9
1 5 8 10
#include
main()
{ int x[4][4],n=0,i,j;
for(j=0;j<4;j++)
for(i=3;i>=j; 【12】 ) {n++;x[i][j]= 【13】 ;}
for(i=0;i<4;i++)
{ for(j=0;j<=i;j++) printf("%3 d",x[i][j]);
printf(" ");
}
}
(13)以下程序的功能是:通過函數(shù)func 輸入字符并統(tǒng)計(jì)輸入字符的個數(shù)。輸入時(shí)用字符
@作為輸入結(jié)束標(biāo)志。請?zhí)羁铡?/p>
#include
long 【14】 ;
main()
{ long n;
n=func(); printf("n=%ld ",n);
}
long func()
{ long m;
for( m=0; getchar()!='@'; 【15】 );
retum m;
}
【計(jì)算機(jī)等級考試二級筆試試卷及答案】相關(guān)文章:
計(jì)算機(jī)等級考試二級筆試卷(含答案)01-24
2016年全國計(jì)算機(jī)等級考試二級筆試試卷及答案03-14
2016年計(jì)算機(jī)等級考試二級VFP筆試試題及答案03-29
2016年計(jì)算機(jī)考試二級筆試試卷及答案03-02