全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)c筆試試卷2016
2016年全國(guó)計(jì)算機(jī)等級(jí)考試時(shí)間是3月26-29日,以下為大家分享的是計(jì)算機(jī)考試二級(jí)c筆試試卷及答案,僅供參考!
一、選擇題
(1)一個(gè)棧的初始狀態(tài)為空,F(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ì)尾兩個(gè)指針,因此,循環(huán)隊(duì)列是非線性結(jié)構(gòu)
B)在循環(huán)隊(duì)列中,只需要隊(duì)頭指針就能反映隊(duì)列中元素的動(dòng)態(tài)變化情況
C)在循環(huán)隊(duì)列中,只需要隊(duì)尾指針就能反映隊(duì)列中元素的動(dòng)態(tài)變化情況
D)循環(huán)隊(duì)列中元素的個(gè)數(shù)是由隊(duì)頭指針和隊(duì)尾指針共同決定
3)在長(zhǎng)度為n 的有序線性表中進(jìn)行二分查找,最壞情況下需要比較的次數(shù)是( )。
A)O(n) B)O(n2) C)O(log2n) D)O(nlog2n)
4)下列敘述中正確的是( )。
A)順序存儲(chǔ)結(jié)構(gòu)的存儲(chǔ)一定是連續(xù)的,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的存儲(chǔ)空間不一定是連續(xù)的
B)順序存儲(chǔ)結(jié)構(gòu)只針對(duì)線性結(jié)構(gòu),鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)只針對(duì)非線性結(jié)構(gòu)
C)順序存儲(chǔ)結(jié)構(gòu)能存儲(chǔ)有序表,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)不能存儲(chǔ)有序表 D)鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)比順序存儲(chǔ)結(jié)構(gòu)節(jié)省存儲(chǔ)空間
5)數(shù)據(jù)流圖中帶有箭頭的線段表示的是()。
A)控制流 B)事件驅(qū)動(dòng) C)模塊調(diào)用 D)數(shù)據(jù)流
6)在軟件開發(fā)中,需求分析階段可以使用的工具是()。
A)N-S 圖 B)DFD 圖 C)PAD 圖 D)程序流程圖
7)在面向?qū)ο蠓椒ㄖ校粚儆?ldquo;對(duì)象”基本特點(diǎn)的是( )。
A)一致性 B)分類性 C)多態(tài)性 D)標(biāo)識(shí)唯一性
(8)一間宿舍可住多個(gè)學(xué)生,則實(shí)體宿舍和學(xué)生之間的聯(lián)系是( )。
A)一對(duì)一 B)一對(duì)多 C)多對(duì)一 D)多對(duì)多
(9)在數(shù)據(jù)管理技術(shù)發(fā)展的三個(gè)階段中,數(shù)據(jù)共享最好的是( )。
A)人工管理階段 B)文件系統(tǒng)階段 C)數(shù)據(jù)庫(kù)系統(tǒng)階段 D)三個(gè)階段相同
(10)有三個(gè)關(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 程序的基本組成單位是語(yǔ)句 B)C 程序中的每一行只能寫一條語(yǔ)句
C)簡(jiǎn)單C 語(yǔ)句必須以分號(hào)結(jié)束 D)C 語(yǔ)句必須在一行內(nèi)寫完
12)計(jì)算機(jī)能直接執(zhí)行的程序是()。 A)源程序 B)目標(biāo)程序 C)匯編程序 D)可執(zhí)行程序
13)以下選項(xiàng)中不能作為C 語(yǔ)言合法常量的是()。 A)'cd' B)0.1e+6 C)"\a" D)'\011'
14)以下選項(xiàng)中正確的定義語(yǔ)句是()。
A)double a; b; B)double a=b=7; C)double a=7, b=7; D)double, a, b;
15)以下不能正確表示代數(shù)式2ab cd 的C 語(yǔ)言表達(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 型,要通過語(yǔ)句scanf("%d, %d, %d", &a, &b, &c);給a 賦值
1、給b 賦值2、給c 賦值3,以下輸入形式中錯(cuò)誤的是( ò 代表一個(gè)空格符)( )。
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\n”, 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)若有定義語(yǔ)句:int m[]={5,4,3,2,1},i=4;,則下面對(duì)m 數(shù)組元素的引用中錯(cuò)誤的是( )。
A)m[--i] B)m[2*2] C)m[m[0]] D)m[m[i]]
(22)下面的函數(shù)調(diào)用語(yǔ)句中func 函數(shù)的實(shí)參個(gè)數(shù)是( )。
func (f2(v1, v2), (v3, v4, v5), (v6, max(v7, v8))); A)3 B)4 C)5 D)8
(23)若有定義語(yǔ)句:double x[5]={1.0,2.0,3.0,4.0,5.0}, *p=x;則錯(cuò)誤引用x 數(shù)組元素的是( )。
A)*p B)x[5] C)*(p+1) D)*x
(24)若有定義語(yǔ)句:char s[10]="1234567\0\0";,則strlen(s)的值是()。 A)7 B)8 C)9 D)10
(25)以下敘述中錯(cuò)誤的是( )。
A)用戶定義的函數(shù)中可以沒有return 語(yǔ)句
B)用戶定義的函數(shù)中可以有多個(gè)return 語(yǔ)句,以便可以調(diào)用一次返回多個(gè)函數(shù)值
C)用戶定義的函數(shù)中若沒有return 語(yǔ)句,則應(yīng)當(dāng)定義函數(shù)為void 類型 D)函數(shù)的return 語(yǔ)句中可以沒有表達(dá)式
(26)以下關(guān)于宏的敘述中正確的是( )。
A)宏名必須用大寫字母表示 B)宏定義必須位于源程序中所有語(yǔ)句之前
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("\n");
} } 程序的運(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\n", 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("\n");
} 程序的運(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\n", 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\n", a+fun(10));
} 程序的運(yùn)行結(jié)果是( )。 A)0 B)10 C)20 D)出錯(cuò)
(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("\n");
} 程序的運(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\n",(++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("\n");
} 程序的運(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("\n");
} 程序的運(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; im) m=s[i][k];
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\n", 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\n",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)的語(yǔ)句組是()。
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\n", 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)容是()。 A)China B)Chinang C)ChinaBeijing D)BeijingChina
二、填空題(每空2 分,共30 分)
1)對(duì)下列二叉樹進(jìn)行中序遍歷的結(jié)果 【1】 。
A
B C
D E F
X Y Z
(2)按照軟件測(cè)試的一般步驟,集成測(cè)試應(yīng)在 【2】 測(cè)試之后進(jìn)行。
(3)軟件工程三要素包括方法、工具和過程,其中, 【3】 支持軟件開發(fā)的各個(gè)環(huán)節(jié)的控制和管理。
(4)數(shù)據(jù)庫(kù)設(shè)計(jì)包括概念設(shè)計(jì)、 【4】 和物理設(shè)計(jì)。
(5)在二維表中,元組的 【5】 不能再分成更小的數(shù)據(jù)項(xiàng)。
(6)設(shè)變量a 和b 已正確定義并賦初值。請(qǐng)寫出與a-=a+b 等價(jià)的賦值表達(dá)式 【6】 。
(7)若整型變量a 和b 中的值分別為7 和9,要求按以下格式輸出a 和b 的值:
a=7
b=9
請(qǐng)完成輸出語(yǔ)句: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\n",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\n",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\n",s);}
(12)以下程序按下面指定的數(shù)據(jù)給x 數(shù)組的下三角置數(shù),并按如下形式輸出,請(qǐng)?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("\n");}}
13)以下程序的功能是:通過函數(shù)func 輸入字符并統(tǒng)計(jì)輸入字符的個(gè)數(shù)。輸入時(shí)用字符@作為輸入結(jié)束標(biāo)志。請(qǐng)?zhí)羁铡?/p>
#include
long 【14】 ;
main()
{ long n;
n=func(); printf("n=%ld\n",n);
}
long func()
{ long m;
for( m=0; getchar()!='@'; 【15】 );
retum m;}
【參考答案】
一、選擇題
(1)B) (2)D) (3)C) (4)A) (5)D) (6)B) (7)A) 8)B)(9)C) (10)D) (11)C) (12)D) (13)A) (14)C) (15)D)(16)A)17)D) (18)C) (19)B) (20)A) (21)C) (22)A) (23)B)(24)A)(25)B) (26)C) (27)D) (28)D) (29)A) (30)B) 31)C)(32)A)(33)C) (34)D) (35)B) (36)C) (37)D) (38)D) (39)C)(40)B)
二、填空題
(1)【1】DBXEAYFZC (2)【2】單元(3)【3】過程 (4)【4】邏輯設(shè)計(jì)(5)【5】分量 (6)【6】a=a-(a+b) 或 (a=-b)(7)【7】a=%d\nb=%d (8)【8】1(9)【9】9911 (10)【10】3(11)【11】15 (12)【12】i--(13)【13】n (14)【14】func()(15)【15】m++
【全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)c筆試試卷】相關(guān)文章:
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C++筆試題08-24
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C筆試試卷(含參考答案)08-04
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)visualBasic筆試試卷08-07
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)筆試試卷及答案08-04
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言筆試試題06-29
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C++筆試真題10-11
2015年全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)筆試試卷08-11