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

2015年9月計算機二級筆試試卷(附答案)

計算機二級 閱讀(6.56K)

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

2015年9月計算機二級筆試試卷(附答案)

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

(1) 在計算機中,一個字長的二進位制位數是

A) 8 B) 16 C) 32 D) 隨CPU的型號而定

(2) 計算機網路的突出優點是

A) 速度快 B) 資源共享 C) 精度高 D) 容量大

(3) 計算機網路能傳送的資訊是:

A) 所有的多媒體資訊 B) 只有文字資訊

C) 除聲音外的所有資訊 D) 文字和影象資訊

(4) 切斷計算機電源後,下列儲存器中的資訊會丟失的是:

A) RAM B) ROM C) 軟盤 D) 硬碟

(5) 十進位制數127轉換成二進位制數是

A) 11111111 B) 01111111 C) 10000000 D) 11111110

(6) 要想列印存放在當前盤當前目錄上所有副檔名為 的檔案內容, 應該使用的DOS命令為

A) DIR *>PRN B) TYPE *>PRN

C) COPY * PRN D) COPY *>PRN

(7) 將當前盤當前目錄及其子目錄中的全部檔案 (總量不足1.2MB) 複製到一張空的A盤的根目錄下,應該使用的DOS命令為

A) XCOPY *.*A: /M B) XCOPY *.*A: /S

C) XCOPY *.*A: /P D) XCOPY *.*A: /A

(8) 在C盤根目錄下執行PROMPT $p$g命令之後,DOS的提示符變為

A) C:> B) C:> C) C> D) C:

(9) DOS命令 "COPY CON DISP"中的CON代表

A) 子目錄 B) 磁碟檔案 C) 鍵盤 D) 顯示器

(10) 結構化程式設計所規定的三種基本控制結構是

A) 輸入、處理、輸出 B) 樹形、網形、環形

C) 順序、選擇、迴圈 D) 主程式、子程式、函式

(11) 要把高階語言編寫的源程式轉換為目標程式,需要使用

A) 編輯程式 B) 驅動程式 C) 診斷程式 D) 編譯程式

(12) 英文小寫字母d的ASCII碼為100,英文大寫字母D的ASCII碼為

A) 50 B) 66 C) 52 D) 68

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

A) 複製當前視窗到剪貼簿 B) 列印當前視窗的內容

C) 複製螢幕到剪貼簿 D) 列印螢幕內容

(14) 在Windows環境下,為了終止應用程式的執行,應

A) 關閉該應用程式視窗 B) 最小化該應用程式視窗

C) 雙擊該應用程式視窗的標題欄 D) 將該應用程式視窗移出螢幕

(15) 下列各帶有萬用字元的檔名中,能代表檔案的是

A) *Z.? B) X*.* C) ?Z,TXT D) ?.?

(16) 若有定義:int a=8,b=5,C;,執行語句C=a/b+0.4;後,c的值為

A) 1.4 B) 1 C) 2.0 D) 2

(17) 若變數a是int型別,並執行了語句:a=‘A'+1.6;,則正確的敘述是

A) a的.值是字元C B) a的值是浮點型

C) 不允許字元型和浮點型相加 D) a的值是字元‘A’的ASCII值加上1。

(18) 以下程式段的輸出結果是

int a=1234;

printf("%2dn",a);

A) 12 B) 34 C) 1234 D) 提示出錯、無結果

(19) 以下選項中不屬於C語言的型別的是

A) signed short imt B) unsigned long int

C) unsigned int D) long short

(20) 若有說明語句:int a,b,c,*d=&c;,則能正確從鍵盤讀入三個整數分別賦給變數a、b、c的語句是

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

C) scanf("%d%d%d",a,b,d); D) scanf("%d%d%d",a,b,*d);

(21) 在16位C編譯系統上,若定義long a; ,則能給a賦40000的正確語句是

A) a=20000+20000; B) a=4000*10;

C) a=30000+10000; D) a=4000L*10L;

(22) 以下敘述正確的是

A) 可以把define和if定義為使用者識別符號

B) 可以把define定義為使用者識別符號,但不能把if定義為使用者識別符號

C) 可以把if定義為使用者識別符號,但不能把define定義為使用者識別符號

D) define和if都不能定義為使用者識別符號

(23) 若定義:int a=511,*b=&a;, 則printf("%dn",*b);的輸出結果為

A) 無確定值 B) a的地址 C) 512 D) 511

(24) 以下程式的輸出結果是

main()

{ int a=5,b=4,c=6,d;

printf("%dn",d=a>b?(a>c?a:c):(b));

}

A) 5 B) 4 C) 6 D) 不確定

(25) 以下程式中,while迴圈的迴圈次數是

main()

{ int i=0;

while(i<10)

{ if(i<1) continue;

if(I==5) break;

i++;

}

......

}

A) 1 B) 10

C) 6 D) 死迴圈,不能確定次數

(26) 以下程式的輸出結果是

main()

{ int a=0,i;

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

{ switch(i)

{ case 0:

case 3:a+=2;

case 1:

case 2:a+=3;

default:a+=5;

}

}

printf("%dn",a);

}

A) 31 B) 13 C) 10 D) 20

(27) 以下程式的輸出結果是

main()

{ int a=4,b=5,c=0,d;

d=!a&&!b||!c;

printf("%dn",d);

}

A) 1 B) 0 C) 非0的數 D) -1

(28) 以下程式的輸出結果是

#include

main()

{ int i=0,a=0;

while(i<20)

{ for(;;)

{ if((i%10)==0) break;

else i--;

}

i+=11; a+=i;

}

printh("%dn",a);

}

A) 21 B) 32 C) 33 D) 11

(29) 以下程式的輸出結果是

char cchar(char ch)

{

if(ch>=‘A’&&ch<=‘Z') ch=ch-‘A'+‘a';

return ch;

}

main()

{ char s[]="ABC+abc=defDEF",*p=s;

while(*p)

{ *p=cchar(*p);

p++;

}

printf("%sn",s);

}

A) abc+ABC=DEFdef B) abc+abc=defdef

C) abcaABCDEFdef D) abcabcdefdef

(30) 以下程式的輸出結果是

int f()

{ static int i=0;

int s=1;

s+=i; i++;

return s;

}

main()

{ int i,a=0;

for(i=0;i<5;i++) a+=f();

printf("%dn",a);

}

A) 20 B) 24 C) 25 D) 15

(31) 以下程式段的輸出結果是

char s[]="141141abct";

printf ("%dn",strlen(s));

A) 9 B) 12 C) 13 D) 14

(32) 若有以下程式

#include

void f(int n);

main()

{ void f(int n);

f(5);

}

void f(int n)

{ printf("%dn",n); }

則以下敘述中不正確的是

A) 若只在主函式中對函式f進行說明,則只能在主函式中正確呼叫函式f

B) 若在主函式前對函式f進行說明,則在主函式和其後的其它函式中都可以正確呼叫函式f

C) 對於以上程式,編譯時系統會提示出錯資訊:提示對對f函式重複說明

D) 函式f無返回值,所以可用void將其型別定義為無值型

(33) 以下程式呼叫findmax函式返回陣列中的最大值

findmax(int *a,int n)

{ int *p,*s;

for(p=a,s=a; p-a

if ( ) s=p;

return(*s);

}

main()

{ int x[5]={12,21,13,6,18};

printf("%dn",findmax(x,5));

}

在下劃線處應填入的是

A) p>s B) *p>*s C) a[p]>a[s] D) p-a>p-s

(34) 以下程式的輸出結果是

main()

{ char cf[3][5]={"AAAA","BBB","CC"};

printf(""%s"n",ch[1]);

}

A) "AAAA" B) "BBB" C) "BBBCC" D) "CC"

(35) 在C語言中,形參的預設儲存類是

A) auto B) register C) static D) extern

(36) 若指標p已正確定義,要使p指向兩個連續的整型動態儲存單元,不正確的語句是

A) p=2*(int*)malloc(sizeof(int));

B) p=(int*)malloc(2*sizeof(int));

C) p=(int*)malloc(2*2);

D) p=(int*)calloc(2,sizeof(int));

(37) 以下程式的輸出結果是

main()

{ char x=040;

printf("%0n",x<<1);

}

A) 100 B) 80 C) 64 D) 32

(38) 若要開啟A盤上user子目錄下名為的文字檔案進行讀、寫操作,下面符合此要求的函式呼叫是

A) fopen("A:user","r") B) fopen("A:user","r+")

C) fopen("A:user","rb") C) fopen("A:user","w")

(39) 以下不能正確進行字串賦初值的語句是

A) char str[5]="good!"; B) char str[]="good!";

C) char *str="good!"; D) char str[5]={‘g',‘o',‘o',‘d'};

(40) 若有下面的說明和定義:

struct test

{ int ml; char m2; float m3;

union uu {char ul[5]; int u2[2];} ua;

} myaa;

則sizeof(struct test )的值是

A) 12 B) 16 C) 14 D) 9

(41) 若有定義:int aa[ 8];。則以下表達式中不能代表陣列元aa[1]的地址的是

A) &aa[0]+1 B) &aa[1] C) &aa[0]++ D) aa+1

(42) 以下程式的輸出結果是

f(int b[],int m,int n)

{ int i,s=0;

for(i=m;i

return s;

}

main()

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

x=f(a,3,7);

printf("%dn",x);

}

A) 10 B) 18 C) 8 D) 15

(43) 若有以下定義和語句:

int s[4][5],(*ps)[5];

ps=s;

則對s陣列元素的正確引用形式是

A) ps+1 B) *(ps+3) C) ps[0][2] D) *(ps+1)+3

(44) 以下程式的輸出結果是

main()

{ int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;

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

for(j=i;j<=i;j++) t=t+b[i][b[j][j]];

printf("%dn",t);

}

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

(45) 以下程式的輸出結果是

#include

#include

main()

{ char b1[8]="abcdefg",b2[8],*pb=b1+3;

while (--pb>=b1) strcpy(b2,pb);

printf("%dn",strlen(b2));

}

A) 8 B) 3 C) 1 D) 7

(46) 在說明語句:int *f();中,識別符號f代表的是

A) 一個用於指向整型資料的指標變數

B) 一個用於指向一維陣列的行指標

C) 一個用於指向函式的指標變數

D) 一個返回值為指標型的函式名

(47) 不合法的main函式命令列引數表示形式是

A) main(int a,char *c[]) B) main(int arc,char **arv)

C) main(int argc,char *argv) D) main(int argv,char *argc[])

(48) 以下程式的輸出的結果是

int x=3;

main()

{ int i;

for (i=1;i

}

ncre()

{ staic int x=1;

x*=x+1;

printf(" %d",x);

}

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

(49) 若以下定義:

struct link

{ int data;

struck link *next;

}a,b,c,*p,*q;

且變數a和b之間已有如下圖所示的連結串列結構:

a b

data next data next

┌──┬──┐ ┌──┬──┐

│ 5 │ ┼──→ │ 9 │