2022上半年全國計算機二級C語言筆試真題_第1頁
2022上半年全國計算機二級C語言筆試真題_第2頁
2022上半年全國計算機二級C語言筆試真題_第3頁
2022上半年全國計算機二級C語言筆試真題_第4頁
2022上半年全國計算機二級C語言筆試真題_第5頁
已閱讀5頁,還剩22頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

本文格式為Word版,下載可任意編輯——2022上半年全國計算機二級C語言筆試真題2022上半年全國計算機二級C語言筆試真題

一、選擇題1一10每題2分,11一50每題1分,共60分以下各題A、B、C、D四個選項中,只有一個選項是正確的,請將正確選項涂寫在答題卡相應位置上,答在試卷上不得分。

1以下選項中不屬于布局化程序設計方法的是

A.自頂向下

B.逐步求精

C.模塊化

D.可復用

2兩個或兩個以上模塊之間關聯的精細程度稱為

A.耦合度

B.內聚度

C.繁雜度

D.數據傳輸特性

3以下表達中正確的是

A.軟件測試理應由程序開發者來完成

B.程序經調試后一般不需要再測試

C.軟件維護只包括對程序代碼的維護

D.以上三種說法都不對

4按照"后進先出'原那么組織數據的數據布局是

A.隊列

B.棧

C.雙向鏈表

D.二叉樹

5以下表達中正確的是

A.線性鏈表是線性表的鏈式存儲布局

B.棧與隊列是非線性布局

C.雙向鏈表是非線性布局

D.只有根結點的二叉樹是線性布局

6對如下二叉樹

ABDECF

舉行后序遍歷的結果為

A.ABCDEF

B.DBEAFC

C.ABDECF

D.DEBFCA

7在深度為7的滿二叉樹中,葉子結點的個數為

A.32

B.31

C.64

D.63

8"商品'與"顧客'兩個實體集之間的聯系一般是

A.一對一

B.一對多

C.多對一

D.多對多

9在E-R圖中,用來表示實體的圖形是

A.矩形

B.橢圓形

C.菱形

D.三角形

10數據庫DB、數據庫系統DBS、數據庫管理系統DBMS之間的關系是

A.DB包含DBS和DBMS

B.DBMS包含DB和DBS

C.DBS包含DB和DBMS

D.沒有任何關系

11以下不合法的用戶標識符是

A.j2_KEY

B.Double

C.4d

D._8_

12以下不合法的數值常量是

A.011

B.1e1

C.8.0E0.5

D.0xabcd

13以下不合法的字符常量是

A.\018

B.\

C.\\

D.\xcc

14表達式3.6-5/2+1.2+5%2的值是

A.4.3

B.4.8

C.3.3

D.3.8

15以下能正確定義字符串的語句是

A.charstr[]=\064;

B.charstr=kx43;

C.charstr=;

D.charstr[]=\0;

16以下數組定義中錯誤的是

A.intx[][3]=0;

B.intx[2][3]=l,2,3,4,5,6;

C.intx[][3]=l,2,3,4,5,6;

D.intx[2][3]=l,2,3,4,5,6;

17若要求從鍵盤讀入含有空格字符的字符串,應使用函數

A.getc

B.gets

C.getchar

D.scanf

18以下四個程序中,完全正確的是

A.#include

B.#include

main;main

/*programming*//*/programming/*/

printfprogramming!\n;printfprogramming!\n;

C.#include

D.include

mainmain

/*/*programming*/*//*programming*/

printfprogramming!\n;printfprogramming!\n;

19若有定義:floatx=1.5;inta=1,b=3,c=2;那么正確的switch語句是

A.switchx

B.switchintx;

case1.0:printf*\n;case1:printf*\n;

case2.0:printf**\n;case2:printf**\n;

C.switcha+

B.

D.switcha+

B.

case1:printf*\n;case1:printf*\n;

case2+1:printf**\n;casec:printf**\n;

20若各選項中所用變量已正確定義,函數fun中通過return語句返回一個函數值,以下選項中錯誤的程序是

A.main

B.floatfuninta,int

B.

x=fun2,10;main

floatfuninta,int

B.x=funi,j;

C.floatfunint,int;

D.main

mainfloatfuninti,intj;

x=fun2,10;x=funi,j;

floatfuninta,int

B.floatfuninta,int

B.

21在以下給出的表達式中,與whileE中的E不等價的表達式是

A.!E==0

B.E0‖E0

C.E==0

D.E!=0

22要求通過while循環不斷讀入字符,當讀入字母N時終止循環。若變量已正確定義,以下正確的程序段是

A.whilech=getchar!=Nprintf%c,ch;

B.whilech=getchar!=Nprintf%c,ch;

C.whilech=getchar==Nprintf%c,ch;

D.whilech=getchar==Nprintf%c,ch;

23已定義以下函數

intfunint*p

return*p;

fun函數返回值是

A.不確定的值

B.一個整數

C.形參P中存放的值

D.形參P的地址值

24若有說明語句:double*p,a;那么能通過scanf語句正確給輸入項讀入數據的程序段是

A.*p=a;scanf%1f,p;

B.*p=a;scanf%f,p;

C.p=a;scanf%1f,*p;

D.p=a;scanf%1f,p;

25現有以下布局體說明和變量定義,如下圖,指針p、q、r分別指向一個鏈表中連續的三個結點。

structnode

chardata;

structnode*next;*p,*q,*r;

現要將q和r所指結點交換前后位置,同時要保持鏈表的連續,以下不能完成此操作的'語句是

A.q-next=r-next;p-next=r;r-next=q;

B.p-next=r;q-next=r-next;r-next=q;

C.q-next=r-next;r-next=q;p-next=r;

D.r-next=q;p-next=r;q-next=r-next;

26有以下程序段

structst

intx;int*y;*pt;

inta[]=l,2,b[]=3,4;

structstc[2]=10,a,20,b;

pt=c;

以下選項中表達式的值為11的是

A.*pt-y

B.pt-x

C.++pt-x

D.pt++-x

27設fp為指向某二進制文件的指針,且已讀到此文件末尾,那么函數feoffp的返回值為

A.EOF

B.非0值

C.0

D.NULL

28設有以下語句

inta=1,b=2,c;

c=a^b2;

執行后,C的值為

A.6

B.7

C.8

D.9

29有以下程序

#include

main

charc1,c2,c3,c4,c5,c6;

scanf%c%c%c%c,c1,c2,c3,c4;

c5=getchar;c6=getchar;

putcharc1;putcharc2;

printf%c%c\n,c5,c6;

程序運行后,若從鍵盤輸入從第1列開頭

123回車

45678回車

那么輸出結果是

A.1267

B.1256

C.1278

D.1245

30有以下程序

main

inty=10;

whiley--;printfy=%d\n,y;

程序執行后的輸出結果是

A.y=0

B.y=-1

C.y=1

D.while構成無限循環

2022上半年全國計算機二級C語言筆試真題

31有以下程序

main

inta=0,b=0,c=0,d=0;

ifa=1b=1;c=2;

elsed=3;

printf%d,%d,%d,%d\n,a,b,c,

D.;

程序輸出

A.0,1,2,0

B.0,0,0,3

C.1,1,2,0

D.編譯有錯

32有以下程序

main

inti,j,x=0;

fori=0;i2;i++

x++;

forj=0;j=3;j++

ifj%2continue;

x++;

x++;

printfx=%d\n,x;

程序執行后的輸出結果是

A.x=4

B.x=8

C.x=6

D.x=12

33有以下程序

intfun1doubleareturna*=a;

intfun2doublex,doubley

doublea=0,b=0;

a=fun1x;b=fun1y;returninta+

B.;

main

doublew;w=fun21.1,2.0;

程序執行后變量w中的值是

A.5.21

B.5

C.5.0

D.0.0

34有以下程序

main

inti,t[][3]=9,8,7,6,5,4,3,2,1;

fori=0;i3;i++printf%d,t[2-i][i];

程序執行后的輸出結果是

A.753

B.357

C.369

D.751

35有以下程序

funcharp[][10]

intn=0,i;

fori=0;i7;i++

ifp[i][0]==Tn++;

returnn;

main

charstr[][10]=Mon,Tue,Wed,Thu,Fri,Sat,Sun;

printf%d\n,funstr;

程序執行后的輸出結果是

A.1

B.2

C.3

D.0

36有以下程序

main

inti,s=0,t[]=l,2,3,4,5,6,7,8,9;

fori=0;i9;i+=2s+=*t+i;

printf%d\n,s;

程序執行后的輸出結果是

A.45

B.20

C.25

D.36

37有以下程序

voidfun1char*p

char*q;

q=p;

while*q!=\0

*q++;q++;

main

chara[]=Program,*p;

p=a[3];fun1p;printf%s\n,a;

程序執行后的輸出結果是

A.Prohsbn

B.Prphsbn

C.Progsbn

D.Program

38有以下程序

voidswapchar*x,char*y

chart;

t=*x;*x=*y;*y=t;

main

char*s1=abc,*s2=123;

swaps1,s2;printf%s,%s\n,s1,s2;

程序執行后的輸出結果是

A.123,abc

B.abc,123

C.1bc,a23

D.321,cba

39有以下程序

intfunintn

ifn==1return1;

else

returnn+funn-1;

main

intx;

scanf%d,x;x=funx;printf%d\n,x;

執行程序時,給變量X輸入10,程序的輸出結果是

A.55

B.54

C.65

D.45

40有以下程序

intfunintx[],intn

staticintsum=0,i;

fori=0;ireturnsum;

main

inta[]=1,2,3,4,5,b[]=6,7,8,9,s=0;

s=funa,5+funb,4;printf%d\n,s;

程序執行后的輸出結果是

A.45

B.50

C.60

D.55

41有以下程序

main

union

charch[2];

intd;

s;

s.d=0x4321;

printf%x,%x\n,s.ch[0],s.ch[1];

在16位編譯系統上,程序執行后的輸出結果是

A.21,43

B.43,21

C.43,00

D.21,00

42有以下程序

main

char*p[]=3697,2584;

inti,j;longnum=0;

fori=0;i2;i++

j=0;

whilep[i][j]!=\0

ifp[i][j]-0%2num=10*num+p[i][j]-0;

j+=2;

printf%d\n,num;

程序執行后的輸出結果是

A.35

B.37

C.39

D.3975

43執行以下程序后,test.txt文件的內容是若文件能正常開啟

#include

main

FILE*fp;

char*s1=Fortran,*s2=Basic;

iffp=fopentest.txt,wb'==NULL

printfCantopentest.txtfile\n;exit1;

fwrites1,7,1,fp;/*把從地址s1開頭的7個字符寫到fp所指文件中*/

fseekfp,0L,SEEK_SET;/*文件位置指針移到文件開頭*/

fwrites2,5,1,fp;

fclosefp;

A.Basican

B.BasicFortran

C.Basic

D.FortranBasic

44以下表達中錯誤的是

A.C語言源程序經編譯后生成后綴為.obj的目標程序

B.C程序經過編譯、連接步驟之后才能形成一個真正可執行的二進制機器指令文件

C.用C語言編寫的程序稱為源程序,它以ASCII代碼形式存放在一個文本文件中

D.C語言中的每條可執行語句和非執行語句最終都將被轉換成二進制的機器指令

45以下表達中錯誤的是

A.算法正確的程序最終確定會終止

B.算法正確的程序可以有零個輸出

C.算法正確的程序可以有零個輸入

D.算法正確的程序對于一致的輸入確定有一致的結果

46以下表達中錯誤的是

A.C程序務必由一個或一個以上的函數組成

B.函數調用可以作為一個獨立的語句存在

C.若函數有返回值,務必通過return語句返回

D.函數形參的值也可以傳回給對應的實參

47設有以下定義和語句

charstr[20]=Program,*p;

p=str;

那么以下表達中正確的是

A.*p與str[0]的值相等

B.str與p的類型完全一致

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

D.數組str中存放的內容和指針變量p中存放的內容一致

48以下表達中錯誤的是

A.C程序中的#include和#define行均不是C語句

B.除逗號運算符外,賦值運算符的優先級最低

C.C程序中,j++;是賦值語句

D.C程序中,+、-、*、/、%號是算術運算符,可用于整型和實型數的運算

49以下表達中正確的是

A.預處理命令行務必位于C源程序的起始位置

B.在C語言中,預處理命令行都以#開頭

C.每個C程序務必在開頭包含預處理命令行:#include

D.C語言的預處理不能實現宏定義和條件編譯的功能

50以下表達中錯誤的是

A.可以通過typedef增加新的類型

B.可以用typedef將已存在的類型用一個新的名字來代表

C.用typedef定義新的類型名后,原有類型名仍有效

D.用typedef可以為各種類型起別名,但不能為變量起別名

2022上半年全國計算機二級C語言筆試真題

二、填空題每空2分,共40分請將每一個空的正確答案寫在答題卡至序號的橫線上,答在試卷上不得分。

1對長度為10的線性表舉行冒泡排序,最壞處境下需要對比的次數為。

2在面向對象方法中,描述的是具有好像屬性與操作的一組對象。

3在關系模型中,把數據看成是二維表,每一個二維表稱為一個。

4程序測試分為靜態分析和動態測試。其中是指不執行程序,而只是對程序文本舉行檢查,通過閱讀和議論,分析和察覺程序中的錯誤。

5數據獨立性分為規律獨立性與物理獨立性。當數據的存儲布局變更時,其規律布局可以不變,因此,基于規律布局的應用程序不必修改,稱為。

6若變量a,b已定義為int類型并賦值21和55,要求用printf函數以a=21,b=55的形式輸出,請寫出完整的的輸出語句。

7以下程序用于判斷a、b、c能否構成三角形,若能,輸出YES,否那么輸出NO。當給a、b、c輸入三角形三條邊長時,確定a、b、c能構成三角形的條件是需同時得志三個條件:a+bc,a+cb,b+ca。請填空。

main

floata,b,c;

scanf%f%f%f,a,b,

C.;

ifprintfYES\n;/*a、b、c能構成三角形*/

elseprintfNO\n;/*a、b、c不能構成三角形*/

8以下程序的輸出結果是。

main

inta[3][3]=1,2,9,3,4,8,5,6,7,i,s=0;

fori=0;i3;i++s+=a[i][i]+a[i][3-i-1];

printf%d\n,s;

9當運行以下程序時,輸入abcd,程序的輸出結果是:。

insertcharstr[]

inti;

i=strlenstr;

whilei0

str[2*i]=str[i];str[2*i-1]=*;i--;

printf%s\n,str;

main

charstr[40];

scanf%s,str;insertstr;

10下面程序的運行結果是:。

funintt[],intn

inti,m;

ifn==1returnt[0];

else

ifn=2m=funt,n-1;returnm;

main

inta[]=11,4,6,3,8,2,3,5,9,2;

printf%d\n,funa,10;

11現有兩個C程序文件T18.c和myfun.c同在TC系統目次文件夾下,其中T18.c文件如下:

#include

#includemyfun.c

main

fun;printf\n;

myfun.c文件如下:

voidfun

chars[80],c;intn=0;

whilec=getchar!=\ns[n++]=c;

n--;

whilen=0printf%c,s[n--];

當編譯連接通過后,運行程序T18時,輸入Thank!那么輸出結果是:。

12以下函數fun的功能是返回str所指字符串中以形參c中字符開頭的后續字符串的首地址,例如:str所指字符串為:Hello!,c中的字符為e,那么函數返回字符串:ello!的首地址。若str所指字符串為空串或不包含c中的字符,那么函數返回NULL。請填空。

char*funchar*str,char

C.

intn=0;char*p=str;

ifp!=NULL

whilep[n]!=cp[n]!=\0n++;

ifp[n]==\0ret

溫馨提示

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

評論

0/150

提交評論