糯米文學吧

位置:首頁 > 計算機 > 計算機二級

最新全國計算機考試二級試題及答案

  在離2016年上半年計算機等級考試越來越近,本站小編在此為大家整理了二級計算機考試題及答案,希望能幫助大家提高二級成績!

  一、選擇題(每題2分,共計70分)

最新全國計算機考試二級試題及答案

1.棧和隊列的共同特點是

A)都是先進先出

B)都是先進後出

C)只允許在端點處插入和刪除元素

D)沒有共同點

2.已知二叉樹後序遍歷序列是dabec,中序遍歷序列是debac,它的前序遍歷序列是

A)acbed

B)decab

C)deabc

D)cedba

3.鏈表不具有的特點是

A)不必事先估計存儲空間

B)可隨機訪問任一元素

C)插入刪除不需要移動元素

D)所需空間與線性表長度成正比

4.結構化程序設計的3種結構是

A)順序結構、選擇結構、轉移結構

B)分支結構、等價結構、循環結構

C)多分支結構、賦值結構、等價結構

D)順序結構、選擇結構、循環結構

5.為了提高測試的效率,應該

A)隨機選取測試數據

B)取一切可能的輸入數據作為測試數據

C)在完成編碼以後制定軟件的測試計劃

D)集中對付那些錯誤羣集的程序

6.算法的時間複雜度是指

A)執行算法程序所需要的時間

B)算法程序的長度

C)算法執行過程中所需要的基本運算次數

D)算法程序中的指令條數

7.軟件生命週期中所花費用最多的階段

A)詳細設計

B)軟件編碼

C)軟件測試

D)軟件維護

8.數據庫管理系統DBMS中用來定義模式、內模式和外模式的語言

A)C

B)Basic

C)DDL

D)DML

9.下列有關數據庫的描述,正確的是

A)數據庫是一個DBF文件

B)數據庫是一個關係

C)數據庫是一個結構化的數據集合

D)數據庫是一組文件

10.下列有關數據庫的描述,正確的是

A)數據處理是將信息轉化為數據的過程

B)數據的物理獨立性是指當數據的邏輯結構改變時,數據的存儲結構不變

C)關係中的每一列稱為元組,一個元組就是一個字段

D)如果一個關係中的屬性或屬性組並非該關係的關鍵字,但它是另一個關係的關鍵字,則稱其為本關係的外關鍵字

11.以下敍述中正確的是

A)C語言比其他語言高級

B)C語言可以不用編譯就能被計算機識別執行

C)C語言以接近英語國家的自然語言和數學語言作為語言的表達形式

D)C語言出現的最晚,具有其他語言的一切優點

12.C語言中用於結構化程序設計的3種基本結構是

A)順序結構、選擇結構、循環結構

B)if,switch,break

C)for,while,do-while

D)if,for,continue

13.C語言中最簡單的數據類型包括

A)整型、實型、邏輯型

B)整型、實型、字符型

C)整型、字符型、邏輯型

D)字符型、實型、邏輯型

14.若變量已正確定義並賦值,以下符合C語言語法的表達式是

A)a:=b+1

B)a=b=c+2

C)int 18.5%3

D)a=a+7=c+b

15.下列可用於C語言用户標識符的一組是

A)voiddefineWORD

B)a3_b3_123Car

C)For-abcIFCase

D)2aDOsizeof

16.若變量a,i已正確定義,且i已正確賦值,合法的語句是

A)a==1

B)++i;

C)a=a++=5;

D)a=int(i);

17.已知

int t=0;

while (t=1)

{...}

則以下敍述正確的是

A)循環控制表達式的值為0

B)循環控制表達式的值為1

C)循環控制表達式不合法

D)以上説法都不對

18.有如下程序

main()

{

int x=1,a=0,b=0;

switch(x)

{

case 0: b++;

case 1: a++;

case 2: a++;b++;

}

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

}

該程序的輸出結果是

A)a=2,b=1

B)a=1,b=1

C)a=1,b=0

D)a=2,b=2

19.有以下程序

main()

{ int i=1,j=1,k=2;

if((j++||k++)&& i++)

printf("%d,%d,%dn",i,j,k);

}

執行後輸出結果是

A)1,1,2

B)2,2,1

C)2,2,2

D)2,2,3

20.有如下程序

main()

{ int n=9;

while(n>6){n--; printf("%d",n);}

}

該程序的輸出結果是

A)987

B)876

C)8765

D)9876

21.在下列選項中,沒有構成死循環的是

A)int i=100;

while(1)

{ i=i0+1;

if(i>100)break;

}

B)for(;;);

C)int k=10000;

do{ k++; }while(k>10000);

D)int s=36;

while(s)--s;

22.若已定義的函數有返回值,則以下關於該函數調用的敍述中錯誤的是

A)函數調用可以作為獨立的語句存在

B)函數調用可以作為一個函數的實參

C)函數調用可以出現在表達式中

D)函數調用可以作為一個函數的形參

23.有以下程序

float fun(int x,int y)

{ return(x+y);}

main()

{ int a=2,b=5,c=8;

printf("%3.0fn",fun((int)fun(a+c,b),a-c));

}

程序運行後的輸出結果是

A)編譯出錯

B)9

C)21

D)9.0

24.若有以下調用語句,則不正確的fun函數的首部是

main()

{ …

int a[50],n;

fun(n, &a[9]);

}

A)void fun(int m, int x[])

B)void fun(int s, int h[41])

C)void fun(int p, int *s)

D)void fun(int n, int a)

25.設有以下説明語句

struct stu

{ int a;

float b;

} stutype;

則下面的敍述不正確的是

A)struct是結構體類型的關鍵字

B)struct stu是用户定義的結構體類型

C)stutype是用户定義的結構體類型名

D)a和b都是結構體成員名

26.若運行時給變量x輸入12,則以下程序的運行結果是

main()

{ int x,y;

scanf("%d",&x);

y=x>12?x+10:x-12;

printf("%dn",y);

}

A)0

B)22

C)12

D)10

27.以下説法正確的是

A)C語言程序總是從第一個的函數開始執行

B)在C語言程序中,要調用函數必須在main()函數中定義

C)C語言程序總是從main()函數開始執行

D)C語言程序中的main()函數必須放在程序的開始部分

28.有以下程序

#define F(X,Y)(X)*(Y)

main()

{ int a=3, b=4;

printf("%dn", F(a++, b++));

}

程序運行後的輸出結果是

A)12

B)15

C)16

D)20

29.下列程序執行後的輸出結果是

void func(int *a,int b[])

{ b[0]=*a+6; }

main()

{ int a,b[5]={0};

a=0; b[0]=3;

func(&a,b); printf("%dn",b[0]);

}

A)6

B)7

C)8

D)9

30.若有下面的程序段

char s[]="china";char *p; p=s;

則下列敍述正確的是

A)s和p完全相同

B)數組s中的內容和指針變量p中的內容相等

C)s數組長度和p所指向的`字符串長度相等

D)*p與s[0]相等 26.若運行時給變量x輸入12,則以下程序的運行結果是

main()

{ int x,y;

scanf("%d",&x);

y=x>12?x+10:x-12;

printf("%dn",y);

}

A)0

B)22

C)12

D)10

27.以下説法正確的是

A)C語言程序總是從第一個的函數開始執行

B)在C語言程序中,要調用函數必須在main()函數中定義

C)C語言程序總是從main()函數開始執行

D)C語言程序中的main()函數必須放在程序的開始部分

28.有以下程序

#define F(X,Y)(X)*(Y)

main()

{ int a=3, b=4;

printf("%dn", F(a++, b++));

}

程序運行後的輸出結果是

A)12

B)15

C)16

D)20

29.下列程序執行後的輸出結果是

void func(int *a,int b[])

{ b[0]=*a+6; }

main()

{ int a,b[5]={0};

a=0; b[0]=3;

func(&a,b); printf("%dn",b[0]);

}

A)6

B)7

C)8

D)9

30.若有下面的程序段

char s[]="china";char *p; p=s;

則下列敍述正確的是

A)s和p完全相同

B)數組s中的內容和指針變量p中的內容相等

C)s數組長度和p所指向的字符串長度相等

D)*p與s[0]相等

31.以下程序中函數sort的功能是對a數組中的數據進行由大到小的排序

void sort(int a[],int n)

{ int i,j,t;

for(i=0;ifor(j=i+1;jif(a[i]}

main()

{ int aa[10]={1,2,3,4,5,6,7,8,9,10},i;

sort(&aa[3],5);

for(i=0;i<10;i++)printf("%d,",aa[i]);

printf("n");

}

程序運行後的輸出結果是

A)1,2,3,4,5,6,7,8,9,10,

B)10,9,8,7,6,5,4,3,2,1,

C)1,2,3,8,7,6,5,4,9,10,

D)1,2,10,9,8,7,6,5,4,3,

32.以下程序的運行結果是

#include "stdio.h"

main()

{ struct date

{ int year,month,day;}today;

printf("%dn",sizeof(struct date));

}

A)6

B)8

C)10

D)12

33.若執行下述程序時,若從鍵盤輸入6和8時,結果為

main()

{ int a,b,s;

scanf("%d%d",&a,&b);

s=a;

if(as=b;

s*=s;

printf("%d",s);

}

A)36

B)64

C)48

D)以上都不對

34.下列關於C語言數據文件的敍述中正確的是

A)文件由ASCII碼字符序列組成,C語言只能讀寫文本文件

B)文件由二進制數據序列組成,C語言只能讀寫二進制文件

C)文件由記錄序列組成,可按數據的存放形式分為二進制文件和文本文件

D)文件由數據流形式組成,可按數據的存放形式分為二進制文件和文本文件

35.有以下程序

void ss(char *s,char t)

{ while(*s)

{ if(*s==t)*s=t-′a′+′A′;

s++;

}

}

main()

{ char str1[100]="abcddfefdbd",c=′d′;

ss(str1,c); printf("%sn",str1);

}

程序運行後的輸出結果是

A)ABCDDEFEDBD

B)abcDDfefDbD

C)abcAAfefAbA

D)Abcddfefdbd

  二、填空題(每空2分,共計30分)

1.算法的基本特徵是可行性、確定性、 【1】 和擁有足夠的情報。

2.在長度為n的有序線性表中進行二分查找。最壞的情況下,需要的比較次數為 【2】 。

3.在面向對象的程序設計中,類描述的是具有相似性質的一組 【3】 。

4.通常,將軟件產品從提出、實現、使用維護到停止使用退役的過程稱為 【4】 。

5.數據庫管理系統常見的數據模型有層次模型、網狀模型和 【5】 3種。

6.下列程序的輸出結果是 【6】 。

maim ()

{ char b[]="Hello you";

b[5]=0;

printf ("%sn",b);

}

7.以下程序的輸出結果是 【7】 。

main()

{ int a=0;

a+=(a=8);

printf("%dn",a);

}

8.函數 void fun(float *sn, int n)的功能是根據以下公式計算S,計算結果通過形參指針sn傳回;n通過形參傳入,n的值大於等於0。請填空。

void fun( float *sn, int n)

{ float s=0.0, w, f=-1.0;

int i=0;

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

{ f= 【8】 * f;

w=f/(2*i+1);

s+=w;

}

【9】=s;

}

9.函數fun的功能是根據以下公式求p的值,結果由函數值返回。m與n為兩個正數且要求m>n。

例如:m=12,n=8時,運行結果應該是495.000000。請在題目的空白處填寫適當的程序語句,將該程序補充完整。

#include

#include

float fun (int m, int n)

{ int i;

double p=1.0;

for(i=1;i<=m;i++) 【10】 ;

for(i=1;i<=n;i++) 【11】 ;

for(i=1;i<=m-n;i++)p=p/i;

return p;

}

main ()

{ clrscr();

printf ("p=%fn",fun (12,8));

}

10.該程序運行的結果是 【12】 。

#include

#include

#define M 100

void fun(int m, int *a, int *n)

{ int i,j=0;

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

if(i%7==0||i==0)

a[j++]=i;

*n=j;

}

main()

{ int aa[M],n,k;

clrscr();

fun(10,aa,&n);

for(k=0;k if((k+1) ==0)printf("n");

else printf("M",aa[k]);

printf("n");

}

11.下列程序的功能是求出ss所指字符串中指定字符的個數,並返回此值。

例如,若輸入字符串123412132,輸入字符1,則輸出3,請填空。

#include

#include

#define M 81

int fun(char *ss, char c)

{ int i=0;

for(; 【13】 ;ss++)

if(*ss==c)i++;

return i;

}

main()

{ char a[M], ch;

clrscr();

printf("nPlease enter a string: "); gets(a);

printf("nPlease enter a char: "); ch=getchar();

printf("nThe number of the char is: %dn", fun(a,ch));

}

12.下面程序把從終端讀入的文本(用@作為文本結束標誌)輸出到一個名為的新文件中,請填空。

#include "stdio.h"

FILE *fp;

{ char ch;

if((fp=fopen( 【14】 ))==NULL)exit(0);

while((ch=getchar( ))!=′@′)fputc (ch,fp);

fclose(fp);

}

13.設有如下宏定義

#define MYSWAP(z,x,y)

{z=x;x=y;y=z;}

以下程序段通過宏調用實現變量a,b內容交換,請填空。

float a=5,b=16,c;

MYSWAP( 【15】 ,a,b);

  答案:

選 擇 題

1 -10 C D B D D C D C C D

11-20 C A B B B B B A C B

21 -30 D D B D C A C A A D

31-40 C A B D B

填 空 題

1-5 正確答案 有窮性 log2n 對象 軟件生命週期 關係模型

6-10 Hello 16 -1 *sn p=p*i p=p/i 7

11-15 *ss!='