二級C 語言筆試試題匯編_第1頁
二級C 語言筆試試題匯編_第2頁
二級C 語言筆試試題匯編_第3頁
二級C 語言筆試試題匯編_第4頁
二級C 語言筆試試題匯編_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

二級C語言筆試試題匯編(針對2008年4D)可以讀出,可以刪改

月)答案:B

一、選擇題((1)-(40)每題1分,(41)?(50)07)從Windows環(huán)境進入MS-DOS方式后,

每題2分,共60分)返回Windows環(huán)境的DOS命令為

下列各題A)、B)、C)、D)四個選項中,只A)EXIT

有--個選項是正確的。B)QUIT

01)與十進制數(shù)200等值的十六進制數(shù)為C)RET

A)A8D)MSDOS

B)A4答案:A

C)C808)在Windows環(huán)境下,若資源管理器左窗

D)C4口中的某文件夾左邊標有“+”標記,則表

答案:C示

02)DOS文件系統(tǒng)的組織結構屬于A)該文件夾為空

A)星形結構B)該文件夾中含有子文件夾

B)網(wǎng)形結構C)該文件夾中只包含有可執(zhí)行文件

C)環(huán)形結構D)該文件夾中包含系統(tǒng)文件

D)樹形結構答案:B

答案:D09)在Windows菜單中,暗淡的命令名項目

03)對存儲器按字節(jié)進行編址,若某存儲器表示該命令

芯片共有10根地址線,則該存儲器芯片的A)暫時不能用

存儲容量B)正在執(zhí)行

為C)包含下一層菜單

A)1KBD)包含對話框

B)2KB答案:A

C)4KB10)

D)8KBA)將當前應用程序轉為后價運行

答案:AB)退出Windows后再關機

04)在DOS環(huán)境下,代表鍵盤和顯示器的C)終止當前應用程序的運行

設備文件名為D)退出Windows后重新啟動計算機

A)PRN答案:C

B)CON11)用C語言編寫的代碼程序

C)NULA)可立即執(zhí)行

D)LPTB)是一個源程序

答案:BC)經(jīng)過編譯即可執(zhí)行

05)計算機網(wǎng)絡的主要特點是D)經(jīng)過編譯解釋才能執(zhí)行

A)運算速度快答案:B

B)運算精度高12)結構化程序由三種基本結構組成,三種

C)資源共享基本結構組成的算法

D)人機交互A)可以完成任何復雜的任務

答案:CB)只能完成部分復雜的任務

06)磁盤處于寫保護狀態(tài)時其中的數(shù)據(jù)C)只能完成符合結構化的任務

A)不能讀出,不能刪改D)只能完成一些簡單的任務

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

C)不能讀出,可以刪改13)以下定義語句中正確的是

A)chara=,A*b-B*;答案:A

B)floata=b=10.0;18)有以下程序

C)inta=10,*b=&a;main()

D)float*a,b=&a;{intm=0256,n=256;

答案:Cprintf(n%o%o\nH,m,n);

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

A)_1234_程序運行后的輸出結果是

B)_l_2A)02560400

C)int_2_B)0256256

D)2_int_C)256400

答案:DD)400400

15)有以下定義語句答案:C

doublea,b;intw;longc;19)有以下程序

若各變量已正確賦值,則下列選項中正確的main()

表達式是{inta=666,b=888;

A)a=a+b=b++printfC%d\n”,a,b);

B)w%((int)a+b)}

C)(c+w)%(int)a程序運行后的輸出結果是

D)w=a=b;A)錯誤信息

答案:CB)666

16)有以下程序C)888

main()D)666,888

{intm=3,n=4,x;答案:B

x=?m++;20)有以下程序

x=x+8/++n;main()

printf{"%d\n",x);{inti;

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

程序運行后的輸出結果是switch(i)

A)3(

B)5caseO:printfi(n%d",i);

C)-lcase2:printf(,,%d,,,i);

D)-2default:printf(n%dn,i);

答案:D)

17)有以下程序)

main()程序運行后的輸出結果是

{chara=,a\b;A)022111

printf(M%c,M,++a);B)021021

printf("%c\n”,b=a++);Q000122

}D)012

程序運行后的輸出結果是答案:C

A)b,b21)若x和y代表整型數(shù),以下表達式中不

B)b,c能正確表示數(shù)學關系|x-y|<10的是

C)a,bA)abs(x-y)<10

D)a,cB)x-y>-l0&&x-y<10

C)!(x-y)<-10||!(y-x)>lOB)13

D)(x-y)*(x-y)<100C)21

答案:cD)程序進入死循環(huán)

22)有以下程序答案:D

main()25)若變量己正確定義,要求程序段完成求

{inta=3,b=4,c=5,d=2;5!的計算,不能完成此操作的程序段是

if(a>b)A)fbr(i=l,p=l;i<=5;i++)p*=i;

if(b>c)B)for(i=l;i<=5;i++){p=l;p*=i;}

printf(,,%d,,,d+++1);C)i=1;p=1;while(i<=5)

elseD)i=l;p=1;do{p*=i;i-H-;}while(i<=5);

printfC%d”,++d+1);答案:B

printf(n%d\nM,d);26)有以下程序

}main()

程序運行后的輸出結果是{chara,b,c,d;

A)2scanf{**%c,%c,%d,%d",&a,&b,&c,&d);

B)3printf{M%c,%c,%c,%c\n",a,b,c,d);

C)43}

D)44若運行時從鍵盤上輸入:6,5,65,66<回車,o

答案:A則輸出結果是

23)下列條件語句中,功能與其他語句不同A)6,5,A,B

的是B)6,5,65,66

A)if(a)printf(n%d\nn,x);elseC)6,5,6,5

printf(M%d\nM,y);D)6,5,6,6

B)ifi(a=0)printf(n%d\n",y);else答案:A

printf(n%d\n",x);27)以下能正確定義二維數(shù)組的是

C)if(a!=0)printff%d\n”,x);elseA)inta[][3];

printfC'%d\nn,y);B)inta[][3]={2*3};

D)if(a==0)printf("%d\n”,x);elseC)inta[][3]={};

printf("%d\n”,y);D)inta[2][3]={{l},{2},{3,4});

答案:D答案:B

24)有以下程序28)有以下程序

main()intf(inta)

{inti=0,s=0;{returna%2;}

for(;;)main()

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

ifi[i==3||i==5)continue;fbr(i=O;f(s[i]);i++)d+=s[i];

if(i=6)break;printf("%d\n",d);

i++;)

s+=i;程序運行后的輸出結果是

)A)9

printf(M%d\nn,s);B)ll

)C)19

程序運行后的輸出結果是D)21

A)10答案:A

29)若有以下說明和語句a[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=

intc[4][5],(*p)[5];NULL;

P=c;*q=*(p+5);

能夠正確引用C數(shù)組元素的是printf("%d%d\n",*p,*q);

A)p+1)

B)*(p+3)程序運行后的輸出結果是

C)*(p+D+3A)運行后報錯

D)*(p[0]+2)B)66

答案:DC)611

30)有以下程序D)510

main()答案:A

{inta=7,b=8,*p,*q,*r;34)設有以下定義和語句

p=&a;q=&b;inta[3][2]={l,2,3,4,5,6},*p[3];

r=p;p=q;q=r;p[0]=a[l];

printf{"%d,%d,%d,%d\n",*p,*q,a,b);則*(p[0]+l)所代表的數(shù)組元素是

)A)a[0][l]

程序運行后的輸出結果是B)a[l][0]

A)8,7,8,7C)a[l][l]

B)7,8,7,8D)a[l][2]

C)8,7,7,8答案:C

D)7,8,8,735)有以下程序

答案:Cmain()

31)si和s2己正確定義并分別指向兩個字符{charstr[][10]={"China","Beijing"!,*p=str;

串。若要求:當si所指串大于s2所指串時,printf("%s\n",p+10);

執(zhí)行語)

句S:則以下選項中正確的是程序運行后的輸出結果是

A)if(sl>s2)S;A)China

B)if(strcmp(sl,s2))S;B)Beijing

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

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

答案:D答案:B

32)設有定義語句36)有以下程序

intx[6]={2,4,6,8,5,7),*p=x,i;main()

要求依次輸出x數(shù)組6個元素中的值,不能{chars[]="ABCD",*p;

完成此操作的語句是fbr(p=s+l;p<s+4;p++)printf("%s\n",p);

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

B)for(i=0;i<6;i++)printf("%2d",*(p+i));程序運行后的輸出結果是

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

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

答案:DCD

33)有以下程序D

#include<stdio.h>B)A

main()B

{intC

DB)ft>n函數(shù)的返回值可以是任意的數(shù)據(jù)類

C)B型

CC)fun函數(shù)的返回值是無值型的指針類型

DD)指針fun指向一?個函數(shù),該函數(shù)無返回

D)BCD值

CD答案:C

D42)有以下程序

答案:Dmain()

37)在函數(shù)調用過程中,如果函數(shù)如funA{chars[]=,,Yes\n/NoM,*ps=s;

調用了函數(shù)funB,函數(shù)funB又調用了函數(shù)puts(ps+4);

如funA,則*(ps+4)=0;

A)稱為函數(shù)的直接遞歸調用puts(s);

B)稱為函數(shù)的間接遞歸調用}

C)稱為函數(shù)的循環(huán)調用程序運行后的輸出結果是(選項D中的第一

D)C語言中不允許這樣的遞歸調用行是空行)

答案:BA)n/No

38)己有定義:i又i,a[10],*p;,則合法的賦Yes

值語句是/No

A)p=100;B)/No

B)p=a[5];Yes

C)p=a[2]+2;C)n/No

D)p=a+2;Yes

答案:D/No

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

A)局部交量說明為static存儲類,其生存/No

期將得到延長Yes

B)全局變量說明為static存儲類,其作用答案:B

域將被擴大43)有以下程序

C)任何存儲類的變量在未賦初值時,其值main()

都是不確定的{unsignedinta;

D)形參可以使用的存儲類說明符與局部intb="l;

變量完全相同a=b;

答案:Aprintf(”%u”,a);

40)設有定義語句:charcl=92,c2=92;,則}

以下表達式中值為零的是程序運行后的輸出結果是

A)clAc2A)-l

B)cl&c2B)65535

C)-c2Q32767

D)cl|c2D)-32768

答案:A答案:B

41)程序中對fim函數(shù)有如下說明44)有以下程序

void*fun();voidfun(int*a,inti,intj)

此說明的含義是{intt;

A)fun函數(shù)無返回值

{t=a[i];a[i]=a[j];a[j]=t;

i++;j-;程序運行后的輸出結果是

fun(a,i,j);A)75310246

B)01234567

C)76310462

main()D)13570246

{intx[]={2,6,l,8},i;答案:A

fun(x,0,3);47)有如下程序

fbr(i=0;i<4;i++)printf("%2d",x[i]);#include<stdio.h>

pr血f("\n”);main()

){FILE*fpl;

程序運行后的輸出結果是fpl=fbpenC,fLtxtM,nwn);

A)1268fprintf(fpl;,abcn);

B)8621fclose(fpl);

C)8162}

D)8612若文本文件fl.txt中原有內容為:good,則

答案:C運行以上程序后文件fl.txt中的內容為

45)有以下說明和定義語句A)goodabc

structstudentB)abcd

{intage;charnum[8];};C)abc

structstudentD)abcgood

stu[3]={{20,"200401”},⑵,”200402”},{19J2答案:C

00403”}};48)(48)?(50)共用一題。以下程序的功能

structstudent*p=stu;是:建立一個帶有頭結點的單向鏈表,并將

以下選項中引用結構體變量成員的表達式存儲在

錯誤的是數(shù)組中的字符依次轉儲到鏈表的各個結點

A)(p++)->num中,請選擇正確的選項作為下劃線號碼與題

B)p->num號相同處

C)(*p).num的正確答案。

D)stu[3].age#include<stdlib.h>

答案:Dstructnode

46)有以下程序{chardata;stuctnode*next;};

main()_(48)___CreatList(char*s)

{mtx[]={l,3,5,7,2A6,0},ij,k;{structnode*h,*p,*q;

for(i=0;i<3;i++)h=(structnode*)malloc(sizeof(struct

for(j=2;j>=i;j-)node));

p=q=h;

if(x[j+l]>x[j]){k=x[j];x[j]=x[j+1];x[j+1]=k;}while(*s!='\0,)

for(i=0;i<3;i++){p=(structnode*)malloc(sizeof(struct

for(j=4;j<7-i;j++)node));

p->data=___(49)___;

if(x[j]>x[j+1]){k=x[j];x[j]=x[j+l];x[j+1]=k;}q->next=p;

fbr(i=0;i<8;i++)printf(,,%d,,,x[i]);q=_(50)_;

prin氓“\n”);s++;

)head=CreatList(st);

p->next=,\O';

returnh;}

}A)*s

main()B)s

{charstr[]="linklist";C)*s++

structnode*head;D)(*s)++

hcad=CreatList(str);答案:A

50)(48)?(50)共用一題。以下程序的功能

}是:建立一個帶有頭結點的單向鏈表,并將

A)char*存儲在

B)structnode數(shù)組中的字符依次轉儲到鏈表的各個結點

C)structnode*中,請選擇正確的選項作為下劃線號碼與題

D)char號相同處

答案:c的正確答案。

49)(48)?(50)共用一題。以下程序的功能#include<stdlib.h>

是:建立一個帶有頭結點的單向鏈表,并將structnode

存儲在{chardata;stuctnode*next;};

數(shù)組中的字符依次轉儲到鏈表的各個結點_(48)___CreatList(char*s)

中,請選擇正確的選項作為下劃線號碼與題{structnode*h,*p,*q;

號相同處h=(structnode*)malloc(sizeof(struct

的正確答案。node));

#include<stdlib.h>p=q=h;

structnodewhile(*s!='\0,)

{chardata;stuctnode*next;};{p=(structnode*)malloc(sizeof(struct

_(48)___CreatList(char*s)node));

{structnode*h,*p,*q;p->data=___(49)___;

h=(structnode*)malloc(sizeof(structq->next=p;

node));q=_(5o)_;

p=q=h;S-H-;

while(*s!-\0'))

{p=(structnode*)malloc(sizeof(structp->next='\0*;

node));returnh;

p->data=___(49)___;}

q->next=p;main()

q=一(50)—;{charstr[]=Hlinklist”;

S-H-;Structnode*head;

)head=CreatList(st);

p->next=,\0';

returnh;}

}A)p->next

inain()B)p

{charstr[]="linklist";C)s

Structnode*head;D)s->next

答案:B本小題第1空答案:24

二、填空題(每空2分,共40分)9)以下程序運行后的輸出結果是【9】。

請將每一個空的正確答案寫在答題處【1】main()

至【20】。{intx=l,y=0,a=0,b=0;

1)在64位高檔微機中,CPU能同時處理【1】switch(x)

個字節(jié)的二進制數(shù)據(jù)。{case1:switch(y)

本小題第1空答案:8或八{case0:a++;break;

2)E-mail地址由域名和用戶名兩部分組成,case1:b++;brcak;

它們之間用@分隔,其中在@后面的部分是}

[2Lcase2:a++;b++;break;

本小題第1空答案:域名或電子郵件服}

務器名printf(H%d%d\n';a,b);

3)Windows窗口-一般由標題欄、菜單欄、控}

制按鈕等部分組成。為了移動窗口,則要用本小題第1空答案:21

鼠標拖10)以下程序運行后的輸出結果是【10】。

動【3】。main()

本小題第1空答案:標題欄{int

4)計算機軟件分為系統(tǒng)軟件和應用軟件,a[4][4]={{l,2,3,4},{5,6,7,8},{ll,12,13,14},{l

UNIX系統(tǒng)屬于1415,16,17,18)};

本小題第1空答案:系統(tǒng)軟件inti=Oj=O,s=O;

5)在Windows環(huán)境下,為了將屏幕內容存while(i++<4)

入剪貼板,應按【5】鍵。(

本小題第1空答案:PrintScreen或if(i=2||i=4)continue;

PrtScm或PrtScj=0;

6)以下程序段的輸出結果是[6Ldo{s+=a[i][j];j-H-;}while(j<4);

inti=9;}

printf(H%o\n",i);printf("%d\n",s);

本小題第1空答案:11)

7)以下程序運行后的輸出結果是[7L本小題第1空答案:92

main()11)以下程序運行后的輸出結果是【11】。

{inta,b,c;main()

a=25;{chara[]=nLanguage,,,b[]=HProgrameM;

b=025;char*pl,*p2;intk;

c=0x25;pl=a;p2=b;

printf(n%d%d%d\nn,a,b,c);for(k=0;k<=7;k-H-)

)if(*(pl+k)=*(p2+k))

本小題第1空答案:252137printf(,,%c",*(p1+k));

8)以下程序運行后的輸出結果是[8L}

main()本小題第1空答案:gae

{intp[7]={l1,13,14,15,16,17,18};12)以下程序運行后的輸出結果是【12】。

inti=0,j=0;main()

while(i<7&&p[i]%2=1)j+=p[i++];{chara[]=Ml23456789",*p;inti=0;

printf(n%d\nn,j);P=a;

while(*p)

{if(i%2=0)*p='*';#defineN4

p++;i++;voidSumColumMin(inta[M][N],int*sum)

}{inti,j,k,s=O;

puts(a);fdr(i=O;i<N;i-H-)

}{k=0;

本小題第1空答案:*2*4*6*8*for(j=l;j<M;j++)

13)以下程序中,for循環(huán)體執(zhí)行的次數(shù)是if(a[k][i]>aU][i])k=j;

【13】。s+=[18];

#defineN2)

#deflncMN+1[19]=s;

#defineKM+l*M/2)

main()main()

{inti;{intX[M][N]={3,2,5,1,4,1,8,3),S;

for(i=l;i<K;i-H-)SumColumMin([20]);

printf("%d\n",s);

)

本小題第1空答案:a[k][i]

本小題第1空答案:4本小題第2空答案:*sum

14)本小題第3空答案:x,&s

本小題第1空答案:x一、選擇題((1)?(10)每小題2分,(11)?

本小題第2空答案:x*x+l或l+x*x(50)每小題1分,共60分)

15)以下程序從終端讀入數(shù)據(jù)到數(shù)組中,統(tǒng)下列各題A)、B)、C)、D)四個選項中,只

計其中正數(shù)的個數(shù),并計算它們之和。請?zhí)钣幸粋€選項是正確的。

空。01)數(shù)據(jù)的存儲結構是指

main()A)存儲在外存中的數(shù)據(jù)

{inti,a[20],sum,count;B)數(shù)據(jù)所占的存儲空間量

sum=count=0;C)數(shù)據(jù)在計算機中的順序存儲方式

for(i=0;i<20;i++)scanf("%d",[16]);D)數(shù)據(jù)的邏輯結構在計算機中的表示

fbr(i=0;i<20;i++)答案:D

{if(a[i]>0)02)下列關于棧的描述中錯誤的是

{count++;A)棧是先進后出的線性表

sum+=[17];B)棧只能順序存儲

C)棧具有記憶作用

D)對棧的插入與刪除操作中,不需要改

printf("sum=%d,count=%d\n",sum,count);變棧底指針

)答案:B

本小題第1空答案:&a[i]或a+i03)對于長度為n的線性表,在最壞情況下,

本小題第2空答案:a[i]或*(a+i)卜列各排序法所對應的比較次數(shù)中正確的

16)以下程序中,函數(shù)SumColumMin的功是

能是:求出M行N列二維數(shù)組每列元素中A)冒泡排序為n/2

的最小值,并計B)冒泡排序為n

算它們的和值。和值通過形參傳回主函數(shù)輸C)快速排序為n

出?請?zhí)羁?。D)快速排序為n(n-l)/2

#defineM2答案:D

04)對長度為n的線性表進行順序查找,在A)數(shù)據(jù)與程序獨立存放

最壞情況下所需要的比較次數(shù)為B)不同的數(shù)據(jù)被存放在不同的文件中

A)C)不同的數(shù)據(jù)只能被對應的應用程序所

B)n/2使用

C)nD)以上三種說法都不對

D)n+1答案:D

答案:C10)用樹形結構表示實體之間聯(lián)系的模型

05)下列對于線性鏈表的描述中正確的是是

A)存儲空間不一定是連續(xù),且各元素的A)關系模型

存儲順序是任意的B)網(wǎng)狀模型

B)存儲空間不一定是連續(xù),且前件元素一C)層次模型

定存儲在后件元素的前面D)以上三個都是

C)存儲空間必須連續(xù),且前件元素一定存答案:C

儲在后件元素的前面11)算法具有五個特性,以下選項中不屬于

D)存儲空間必須連續(xù),且各元素的存儲算法特性的是

順序是任意的A)有窮性

答案:AB)簡潔性

06)下列對于軟件測試的描述中正確的是C)可行性

A)軟件測試的目的是證明程序是否正確D)確定性

B)軟件測試的H的是使程序運行結果正答案:B

確12)以下選項中可作為C語言合法常量的是

C)軟件測試的目的是盡可能多地發(fā)現(xiàn)程A)-80.

序中的錯誤B)-080

D)軟件測試的目的是使程序符合結構化C)-8el.O

原則D)-80.0e

答案:C答案:A

07)為了使模塊盡可能獨立,要求13)以下敘述中正確的是

A)模塊的內聚程度要盡量高,且各模塊A)用C程序實現(xiàn)的算法必須要有輸入和

間的耦合程度要盡量強輸出操作

B)模塊的內聚程度要盡量高,且各模塊間B)用C程序實現(xiàn)的算法可以沒有輸出但

的耦合程度要盡量弱必須要有輸入

C)模塊的內聚程度要盡量低,且各模塊間C)用C程序實現(xiàn)的算法可以沒有輸入但

的耦合程度要盡量弱必須要有輸出

D)模塊的內聚程度要盡量低,且各模塊D)用C程序實現(xiàn)的算法可以既沒有輸入

間的耦合程度要盡量強也沒有輸出

答案:B答案:C

08)下列描述中正確的是14)以下不能定義為用戶標識符是

A)程序就是軟件A)Main

B)軟件開發(fā)不受計算機系統(tǒng)的限制B)_0

C)軟件既是邏輯實體,又是物理實體C)_int

D)軟件是程序、數(shù)據(jù)與相關文檔的集合D)sizeof

答案:D答案:D

09)數(shù)據(jù)獨立性是數(shù)據(jù)庫技術的重要特點15)以下選項中,不能作為合法常量的是

之一。所謂數(shù)據(jù)獨立性是指A)1.234e04

B)1.234e0.4是

C)1.234e+4A)m=123n=456p=789

D)1.234e0B)m=123n=456p=789

答案:B

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論