當前位置:才華齋>計算機>計算機二級>

2016年計算機二級考試C語言程式設計真題

計算機二級 閱讀(2.64W)

2016上半年全國計算機等級考試時間是3月26-29日,以下小編為大家整理出來的是計算機二級考試試題,希望對大家的複習有幫助!

2016年計算機二級考試C語言程式設計真題

  一、選擇題,(1-40)每題1分,(41-50)每題2分,共60分)

下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確選項塗寫在答題卡相應位置上,答在試卷上不得分。

(1) 1MB等於

A) 1000位元組 B) 1024位元組

C) 1000×1000位元組 D) 1024×1024位元組

(2) 與十六進位制數200等值的十進位制數為

A) 256 B) 512 C) 1024 D) 2048

(3) 所謂“裸機”是指

A) 微控制器 B) 單板機

C) 不裝備任何軟體的計算機 D) 只裝備作業系統的計算機

(4) 能將高階語言編寫的源程式轉換成目標程式的是

A) 連結程式 B) 解釋程式 C) 編譯程式 D) 編輯程式

(5) 在64位計算機中,一個字長所佔的位元組數為

A) 64 B) 8 C) 4 D) 1

(6) 在Windows環境下,當一個應用程式視窗被最小化後,該應用程式

A) 繼續在後臺執行 B) 繼續在前臺執行

C) 終止執行 D) 暫停執行

(7) 在Windows環境下,能實現視窗移動的操作是

A) 用滑鼠拖動視窗中的任何部位 B) 用滑鼠拖動視窗的邊框

C) 用滑鼠拖動視窗的控制按鈕 D) 用滑鼠拖動視窗的標題欄

(8) 在Windows環境下,PrintScreen鍵的作用是

A) 列印當前視窗的內容 B) 列印螢幕內容

C) 複製螢幕到剪貼簿 D) 複製當前視窗到剪貼簿

(9) Internet的通訊協議是

A) TCP/IP B) BBS C) WWW D) FTP

(10) 下列敘述中正確的是

A) 計算機病毒只感染可執行檔案

B) 計算機病毒只感染文字檔案

C) 計算機病毒只能通過軟體複製的方式進行傳播

D) 計算機病毒可以通過網路或讀寫磁碟等方式進行傳播

(11) 一個演算法應該具有“確定性”等5個特性,下面對另外4個特性的描述中錯誤的是

A) 有零個或多個輸入 B) 有零個或多個輸出

C) 有窮性 D) 可行性

(12) 以下敘述中正確的是

A) C語言的源程式不必通過編譯就可以直接執行

B) C語言中的每條可執行語句最終都將被轉換成二進位制的`機器指令

C) C源程式經編譯形成的二進位制程式碼可以直接執行

D) C語言中的函式不可以單獨進行編譯

(13) 以下符合C語言語法的實型常量是

A) 1.2E0.5 B) 3.14.159E C) .5E-3 D) E15

(14) 以下4組使用者定義識別符號中,全部合法的一組是

A) _main B) If C) txt D) int

enclude -max REAL k_2

sin turbo 3COM _001

(15) 若以下選項中的變數已正確定義,則正確的賦值語句是

A) x1=26.8%3 B) 1+2=x2 C) x3=0x12 D) x4=1+2=3;

(16) 設有以下定義

int a=0;

double b=1.25;

char c=’A’;

#define d 2

則下面語句中錯誤的是

A) a++; B) b++ C) c++; D) d++;

(17) 設有定義:float a=2,b=4,h=3;,以下C語言表示式與代數式 計算結果不相符的是

A) (a+B) *h/2 B) (1/2)*(a+B) *h

C) (a+B) *h*1/2 D) h/2*(a+B)

(18) 有以下程式

main( )

{

int x=102,y=012;

printf(“%2d,%2dn”,x,y);

}

執行後輸出結果是

A) 10,01 B) 02,12 C) 102,10 D) 02,10

(19) 以下4個選項中,不能看作一條語句的是

A) {;} B) a=0,b=0,c=0; C) if(a>0); D) if(b==0) m=1;n=2;

(20) 設有定義:int a,*pa=&a;以下scanf語句中能正確為變數a讀入資料的是

A) scanf(“%d”,pA) ; B) scanf(“%d”,A) ;

C) scanf(“%d”,&pA) ; D) scanf(“%d”,*pA) ;

(21) 以下程式段中與語句k=a>b?(b>c?1:0):0;功能等價的是

A) if((a>B) &&(b>C) ) k=1; B) if((a>B) ||(b>C) ) k=1

else k=0;

C) if(a<=B) k=0; D) if(a>B) k=1;

else if(b<=C) k=1; else if(b>C) k=1;

else k=0;

(22) 有以下程式

main( )

{ char k; int I;

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

{ scanf(“%c”,&k);

switch(k)

{ case ‘0’: printf(“anothern”);

case ‘1’: printf(“numbern”);

}

}

}

程式執行時,從鍵盤輸入:01<回車>,程式執行後的輸出結果是

A) another B) another C) another D) number

number number number number

another number

(23) 有以下程式

main( )

{ int x=0,y=5,z=3;

while(z-->0&&++x<5) y=y-1;

printf(“%d,%d,%dn”,x,y,z);

}

程式執行後的輸出結果是

A) 3,2,0 B) 3,2,-1 C) 4,3,-1 D) 5,-2,-5

(24) 有以下程式

main( )

{ int i,s=0;

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

printf(“%dn”,s);

}

程式執行後的輸出結果是

A) 自然數1~9的累加和 B) 自然數1~10的累加和

C) 自然數1~9中的奇數之和 D) 自然數1~10中的偶數之和

(25) 有以下程式

main( )

{ int i,n=0;

for(i=2;i<5;i++)

{ do

{ if(i%3) continue;

n++;

} while(!i);

n++;

}

printf(“n=%dn”,n);

}

程式執行後的輸出結果是

A) n=5 B) n=2 C) n=3 D) n=4

(26) 若程式中定義了以下函式

double myadd(double a,double B)

{ return (a+B) ;}

並將其放在呼叫語句之後,則在呼叫之前應該對該函式進行說明,以下選項中錯誤的說明是

A) double myadd(double a,B) ;

B) double myadd(double,double);

C) double myadd(double b,double A) ;

D) double myadd(double x,double y);

(27) 有以下程式

char fun(char x , char y)

{ if(x

return y;

}

main( )

{ int a=’9’,b=’8’,c=’7’;

printf(“%cn”,fun(fun(a,B) ,fun(b,C) ));

}

程式的執行結果是

A) 函式調用出錯 B)8 C)9 D)7

(28) 設有定義:int n=0,*p=&n,**q=&p;則以下選項中,正確的賦值語句是

A) p=1; B) *q=2; C) q=p; D) *p=5;

(29) 有以下程式

void f(int v , int w)

{ int t;

t=v;v=w;w=t;

}

main( )

{ int x=1,y=3,z=2;

if(x>y) f(x,y);

else if(y>z) f(y,z);

else f(x,z);

printf(“%d,%d,%dn”,x,y,z);

}

執行後輸出結果是

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

(30) 有以下程式段

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

b=p[5];

b中的值是

A) 5 B) 6 C) 8 D) 9

(31) 31、有以下程式

main( )

{ char a[]=”abcdefg”,b[10]=”abcdefg”;

printf(“%d %dn”,sizeof(A) ,sizeof(B) );

}

執行後輸出結果是

A) 7 7 B) 8 8 C) 8 10 D) 10 10

(32) 有以下程式

void swap1(int c[])

{ int t;

t=c[0];c[0]=c[1];c[1]=t;

}

void swap2(int c0,int c1)

{ int t;

t=c0;c0=c1;c1=t;

}

main( )

{ int a[2]={3,5},b[2]={3,5};

swap1(A) ; swap2(b[0],b[1]);

printf(“%d %d %d %dn”,a[0],a[1],b[0],b[1]);

}

其輸出結果是

A) 5 3 5 3 B) 5 3 3 5 C) 3 5 3 5 D) 3 5 5 3

(33) 有以下程式

void sum(int *A)

{ a[0]=a[1];}

main( )

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

for(i=2;i>=0;i--) &nb

sp; sum(&aa[i]);

printf(“%dn”,aa[0]);

}

執行後的輸出結果是

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

(34) 34、有以下程式

int f(int b[][4])

{ int i,j,s=0;

for(j=0;j<4;j++)

{ i=j;

if(i>2) i=3-j;

s+=b[i][j];

}

return s;

}

main( )

{ int a[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}};

printf(“%dn”,f(A) );

}

執行後的輸出結果是

A) 12 B) 11 C) 18 D) 16

(35) 有以下定義

#include

char a[10],*b=a;

不能給陣列a輸入字串的語句是

A) gets(A) B) gets(a[0]) C) gets(&a[0]); D) gets(B) ;

(36) 有以下程式

main( )

{ char *p[10]={“abc”,”aabdfg”,”dcdbe”,”abbd”,”cd”};

printf(“%dn”,strlen(p[4]));

}

執行後輸出結果是

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

(37) 有以下程式

int a=2;

int f(int *A)

{return (*A) ++;}

main( )

{ int s=0;

{ int a=5;

s+=f(&A) ;

}

s+=f(&A) ;

printf(“%dn”,s);

}

執行後輸出結果是

A) 10 B) 9 C) 7 D) 8

(38) 有以下程式

#define f(x) x*x

main( )

{ int i;

i=f(4+4)/f(2+2);

printf(“%dn”,i);

}

執行後輸出結果是

A) 28 B) 22 C) 16 D) 4