當前位置:學問君>人在職場>IT認證>

2016年9月計算機二級c語言題庫

學問君 人氣:5.56K

2016年計算機等級考試複習已拉來大幕,同學們有開始複習了嗎?複習的最好方式是多做練習,下面本站爲大家分享最新的計算機二級C語言題庫,僅供參考!

2016年9月計算機二級c語言題庫

一、選擇題((1)~(10)每小題2分,(11)~(50)每小題1分,共60分)

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

(1)與十進制數200等值的十六進制數爲

A) A8 B)A4 C)C8 D)C4

(2)DOS檔案系統的組織結構屬於

A)星形結構 B)網形結構 C) 環形結構 D)樹形結構

(3)對存儲器按字節進行編址,若某存儲器芯片共有10根地址線,則該存儲器芯片的存儲容量爲

A)1KB B)2KB C)4KB D)8KB

(4)在DOS環境下,代表鍵盤和顯示器的設備檔案名爲

A)PRN B)CON C)NUL D)LPT

(5)計算機網絡的主要特點是

A) 運算速度快 B)運算精度高 C)資源共享 D)人機交互

(6)磁盤處於寫保護狀態時其中的數據

A)不能讀出,不能刪改 B)可以讀出,不能刪改

C)不能讀出,可以刪改 D)可以讀出,可以刪改

(7)從Windows環境進入MS-DOS方式後,返回Windows環境的DOS命令爲

A)EXIT B)QUIT C)RET D)MSDO

(8)在Windows環境下,若資源管理器左宣傳品中的某檔案夾左邊標有“+”標記,則表示

A)該檔案夾爲空 B)該檔案夾中含有子檔案夾

C)該檔案夾中只包含有可執行檔案 D)該檔案夾中包含系統檔案

(9)在Windows選單中,暗淡的命令名項目表示該命令

A)暫時不能用 B)正在執行

C)包含下一層選單 D)包含對話框

(10)在Windows環境下,單擊當前視窗中的按鈕“× ”(右上角的關閉按鈕),其功能是

A)將當前應用程序轉爲後臺執行 B)退出Windows後再關機

C)終止當前應用程序的執行 D)退出Windows後重新啓動計算機

(11)用C語言編寫的代碼程序

A)可立即執行 B)是一個源程序

C)經過編譯即可執行 D)經過編譯解釋才能執行

(12)結構化程序由三種基本結構組成,三種基本結構組成的算法

A)可以完成任何複雜的任務 B)只能完成部分複雜的任務

C)只能完成符合結構化的任務 D)只能完成一些簡單的任務

(13)以下定義語句中正確的是

A)char a='A'b='B'; B)float a=b=10.0;

C)int a=10,*b=&a; D)float *a,b=&a;

(14)下列選項中,不能用作標識符的是

A)_1234_ B)_1_2 C)int_2_ D)2_int_

(15)有以下定義語句

double a,b; int w; long c;

若各變量已正確賦值,則下列選項中正確的表達式是

A)a=a+b=b++ B)w%(int)a+b)

C)(c+w)%(int)a D)w=a==b;

(16)有以下程序

main()

{ int m=3,n=4,x;

x=-m++;

x=x+8/++n;

printf("%dn",x);

}

程序執行後的輸出結果是

A)3 B)5 C)-1 D)-2

(17)有以下程序

main()

{ char a='a',b;

print("%c,",++a);

printf("%cn",b=a++);

}

程序執行後的輸出結果是

A)b,b B)b,c C)a,b D)a,c

(18)有以下程序

main()

{ int m=0256,n=256;

printf("%o %on",mn,n);

}

程序執行後的輸出結果是

A)0256 0400 B)0256 256 C)256 400 D)400 400

(19)有以下程序

main()

{ int a=666,b=888;

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

}

程序執行後的輸出結果是

A)錯誤資訊 B)666 C)888 D)666,888

(20)有以下程序

main()

{ int i;

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

switch(i)

{

case 0:printf("%d",i);

case 2:printf("%d",i);

default:printf("%d",i);

}

}

程序執行後的輸出結果是

A)022111 B)021021 C)000122 D)012

(21)若x和y代表整型數,以下表達式中不能正確表示數學關係|x-y|<10的是

A)abs(x-y)<10 B)x-y>-10&& x-y<10

C)@(x-y)<-10||!(y-x)>10 D)(x-y)*(x-y)<100

(22)有以下程序

main()

{

int a=3,b=4,c=5,d=2;

if(a>b)

if(b>c)

printf("%d",d++ +1);

else

printf("%d",++d +1);

printf("%dn",d);

}

程序執行後的輸出結果是

A)2 B)3 C)43 D)44

(23)下列條件語句中,功能與其他語句不同的是

A) if(a) printf("%dn",x); else printf("%dn",y);

B) if(a==0) printf("%dn",y); else printf("%dn",x);

C) if (a!=0) printf("%dn",x); else printf("%dn",y);

D) if(a==0) printf("%dn",x); else printf("%dn",y);

(24)有以下程序

main()

{ int i=0,x=0;

for (;;)

{

if(i==3||i==5) continue;

if (i==6) break;

i++;

s+=i;

};

printf("%dn",s);

}

程序執行後的輸出結果是

A)10 B)13 C)21 D)程序進入死循環

(25)若變量已正確定義,要求程序段完成求5!的計算,不能完成此操作的程序段是B

A)for(i=1,p=1;i<=5;i++) p*=i;

B)for(i=1;i<=5;i++){ p=1; p*=i;}

C)i=1;p=1;while(i<=5){p*=i; i++;}

D)i=1;p=1;do{p*=i; i++; }while(i<=5);

(26)有以下程序

main()

{ char a,b,c,d;

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

printf("c,%c,%c,%cn",a,b,c,d);

}

若執行時從鍵盤上輸入:6,5,65,66。則輸出結果是

A)6,5,A,B B)6,5,65,66 C)6,5,6,5 D)6,5,6,6

(27)以下能正確定義二維數組的是

A)int a[][3]; B)int a[][3]=2{2*3};

C)int a[][3]={}; D)int a[2][3]={{1},{2},{3,4}};

(28)有以下程序

int f(int a)

{ return a%2; }

main()

{ int s[8]={1,3,5,2,4,6},i,d=0;

for (i=0;f(s);i++) d+=s;

printf("%dn",d);

}

程序執行後的輸出結果是

A)9 B)11 C)19 D)21

(29)若有以下說明和語句,int c[4][5],(*p)[5];p=c;能正確引用c數組元素的是

A)p+1 B)*(p+3)

C)*(p+1)+3 D)*(p[0]+2))

(30)有以下程序

main()

{ int a=7,b=8,*p,*q,*r;

p=&a;q=&b;

r=p; p=q;q=r;

printf("%d,%d,%d,%dn",*p,"q,a,b);

}

程序執行後的輸出結果是

A)8,7,8,7 B)7,8,7,8 C)8,7,7,8 D)7,8,8,7

(31)s12和s2已正確定義並分別指向兩個字元串。若要求:當s1所指串大於s2所指串時,執行語 句S;則以下選項中正確的是

A)if(s1>s2)S; B)if(strcmp(s1,s2))S;

C)if(strcmp(s2,s1)>0)S; D)if(strcmp(s1,s2)>0)S;

(32)設有定義語句

int x[6]={2,4,6,8,5,7},*p=x,i;

要求依次輸出x數組6個元素中的值,不能完成此操作的語句是

A)for(i=0;i<6;i++) printf("%2d",*(p++));

B)for(i=0;i<6;i++) printf("%2d",*(p+i));

C)for(i=0;i<6;i++) printf("%2d",*p++);

D)for(i=0;i<6;i++) printf("%2d",(*p)++);

(33)有以下程序

#include

main()

{int a[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL;

*q=*(p+5);

printf("%d %dn",*p,*1);

}

程序執行後的輸出結果是

A)執行後報錯 B)6 6 C)6 11 D)5 10

(34)有以下定義和語句

int a[3][2]={1,2,3,4,5,6,},*p[3];

p[0]=a[1];

則*p[0]+1)所代表的數組元素是

A)a[0][1] B)a[1][0] C)a[1][1] D)a[1][2]

(35)有以下程序

main()

{char str[][10]={"China","Beijing"},*p=str;

printf("%sn",p+10);

}

程序執行後的輸出結果是

A) China B)Bejing C)ng D)ing

(36)有以下程序

main()

{char s[]="ABCD",*p;

for(p=s+1;p

}

程序執行後的輸出結果是

A) ABCD B)A C)B D)BCD

BCD B C CD

CD C D D

D D

(37)在函數調用過程中,如果函數funA調用了函數 funB,函數funB又調用了函數funA,則

A)稱爲函數的直接遞歸調用 B)稱爲函數的間接遞歸調用

C)稱爲函數的循環調用 D)C語言中不允許這樣的遞歸調用

(38)已有定義:int i,a[10],*p;,則合法的賦值語句是

A)p=100; B)p=a[5]; C)p=a[2]+2; D)p=a+2;

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

A)局部變量說明爲static存儲數,其生存期將得到延長

B)全局變量說明爲static存儲類,其作用域將被擴大

C)任何存儲類的變量在未賦初值時,其值都是不確定的

D)形參可以使用的存儲類說明符與局部變量完全相同

(40)設有定義語句:char c1=92,c2=92;,則以下表達式中值爲零的是

A)c1^c2 B)c1&c2 C)~c2 D)c1|c2

(41)程序中對fun函數有如下說明

void *fun();

此說明的含義是:

A)fun了數無返回值

B)fun函數的返回值可以是任意的數據類型

C)fun函數的返回值是無值型的指針類型

D)指針fun指向一個函數,該函數無返回值

(42)有以下程序

main()

{ char s[]"Yesn/No",*ps=s;

puts(ps+4);

*(ps+4)=0;

puts(s);

}

程序執行後的輸出結果是

A)n/No B)/No C)n/NO D)

Yes Yes Yes /No