計算機二級c語言試題及答案(新版多篇)

文思社 人氣:1.61W

計算機二級c語言試題及答案(新版多篇)

全國計算機二級《C語言》考試題庫與答案 篇一

1: 第1題請編寫函式fun,其功能使:將兩個兩位正整數a b合併形成一個整數放在c中。合併的方式使:將a數的十位和個位數依次放在c數的百位和個位上,b數的十位和個位數依次放在c數的千位和十位上。

答案:

void fun(int a,int b,long *c)

{*c=(b/10)*1000+(a/10)*100+(b%10)*10+a%10;}

2: 第2題請編寫一個函式fun,它的功能使:計算n門課程的平均分,計算結果作為函式值返回。

答案:

float fun(float *a,int n)

{float ave=0.0;

int i;

for(i=0;i

ave+=a;

ave/=n;

return ave;}

3: 第3題假定輸入的字串中只包含字母和*號。請編寫函式fun,它的功能使:將字串尾部的*號全部刪除,前面和中間的*號不刪除。

答案:

void fun(char *a)

{int i=0;

char *p,*q;

p=q=a;

while(*p)

p++;

p--;

while(*p==‘*’)

p--;

while(q<=p)

{a=*q;

i++;

q++;}

a=‘’;}

4: 第4題請編寫函式fun,其功能是:將兩個兩位數的正整數a b合併形成一個整數放在c中,合併的方式是:將a數的十位和個位數依次放在c的個位和百位上,b數的十位和個位數依次放在c數的千位和十位上。

答案:

void fun(int a,int b,long *c)

{c=(b/10)*1000+(a%10)*100+(b%10)*10+a/10;}

5: 第5題 n名學生的成績已在主函式中放入一個帶頭節點的連結串列結構中,h指向連結串列的頭節點。請編寫函式fun,它的功能是:求出平均分,由函式值返回。

答案:

double fun(strec *h)

{double aver=0.0;

while(h!=null)

{aver+=h->s;

hy=h->next;}

aver/=n;

return aver;}

6: 第6題請編寫函式fun,計算並輸出給定10個數的方差。

答案:

double fun(double x[10])

{int i,j;

double s=0.0,s1=0.0;

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

s1+=x;

s1/=10;

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

s+=(x[j]-s1)*(x[j]-s1);

s/=10;

s=pow(s,0.5);

return s;}

7: 第7題請編寫函式fun,其功能是:將兩個兩位數的正整數a b合併形成一個整數放在c 中。合併的方式是:將a數的十位和個位數依次放在c數的千位和十位上,b數的十位和個位數依次放在c數的個位和百位上。

答案:

void fun(int a,int b,long *c)

{*c=(a/10)*1000+(a%10)*10+(b%10)*100+b/10;}

全國計算機二級《C語言》考試題庫與答案 篇二

(1)下列關於棧敘述正確的是( )。

A.棧頂元素最先能被刪除

B.棧頂元素最後才能被刪除

C.棧底元素永遠不能被刪除

D.棧底元素最先被刪除

(2)下列敘述中正確的是( )。

A.在棧中,棧中元素隨棧底指標與棧頂指標的變化而動態變化

B.在棧中,棧頂指標不變,棧中元素隨棧底指標的變化而動態變化

C.在棧中,棧底指標不變,棧中元素隨棧頂指標的變化而動態變化

D.以上說法都不正確

某二元樹共有7個結點,其中葉子結點只有l個,則該二元樹的深度為(假設根結點在第1層)( )。

A.3

B.4

C.6

D.7

軟體按功能可以分為應用軟體、系統軟體和支撐軟體(或工具軟體)。下面屬於應用軟體的是( ):

A.學生成績管理系統

B.c語言編譯程式

作業系統

D.資料庫管理系統

(5)結構化程式所要求的基本結構不包括( )。

A.順序結構

0跳轉

C.選擇(分支)結構

D.重複(迴圈)結構

(6)下面描述中錯誤的是( )。

A.系統總體結構圖支援軟體系統的詳細設計

B.軟體設計是將軟體需求轉換為軟體表示的過程

C.資料結構與資料庫設計是軟體設計的任務之一

圖是軟體詳細設計的表示工具

(7)負責資料庫中查詢操作的資料庫語言是( )。

A.資料定義語言

B.資料管理語言

C.資料操縱語言

D.資料控制語言

一個教師可講授多門課程,一門課程可由多個教師講授。則實體教師和課程間的聯絡是( )。

A.1:1聯絡

B.1:m聯絡

C.m:1聯絡

D.m:n聯絡

(9)已知大寫字母A的ASCIl碼值是65,小寫字母a的ASCIl碼值是97。以下不能將變數C中的大寫字母轉換為對應小寫字母的語句是( )。

A.C=(。A’+C.%26一“a”

B.c=c+32

C.c=c一“A”+“a”

D.c=(c一’A“)%26+-a”

(10)定義無符號整數類為UInt,下面可以作為類uInt例項化值的是( )。

A.-369

B.369

C.0.369

D.整數集合{1,2,3,4,5}(11)以下敘述中錯誤的是( )。

C程式在執行過程中所有計算都以二進位制方式進行

B.c程式在執行過程中所有計算都以十進位制方式進行

C.所有c程式都需要編譯連結無誤後才能執行

D.c程式中字元變數存放的是字元的ASCIl碼值

(12)以下關於c語言的敘述中正確的是( )。

A.C語言的數值常量中夾帶空格不影響常量值的正確表示

B.C語言中的變數可以在使用之前的任何位置進行定義

C.在C語言算術表示式的書寫中,運算子兩側的運算數型別必須一致

D.C語言中的註釋不可以夾在變數名或關鍵字的中間

(13)以下不合法的字元常量是( )。

A.“、、”

B.’”’

C.’18’

"

(14)以下選項中正確的定義語句是( )。

le,a,b;

le a=b=7;

le a;b;

le a=7,b=7;

(15)若有定義語句:int a=3,b=2,c=1;以下選項中錯誤的賦值表示式是( )。

A.a=(b=4)=3;

B.a=b=c+1;

C.a=(b=4)+c;

D.a=1+(b=c=4);

(16)若有定義:int a,h;通過語句:scanf(”%d;%d”,&a,&B.;,能把整數3賦給變數a,5賦給變數b的輸入資料是( )。

A.3 5

B.3,5

C.3;5

D.35

參考答案與解析

(1)A

【解析】棧是先進後出的資料結構,所以棧頂元素最後入棧卻最先被刪除。棧底元素最先入棧卻最旨除。所以選擇A。。

(2)C

【解析】棧是先進後出的資料結構,在整個過程中,棧底指標不變,入棧與出棧操作均由棧頂指標的變化來操作,所以選擇C。

(3)D

【解析】根據二元樹的基本性質3:在任意一裸二元樹中,多為0的葉子結點總比度為2的結點多一個。所以本題中度為2的結點為1—1=0個,所以可以知道本題目中的二元樹的每一個結點都有一個分支,所以共7個結點共7層,即度為7。

(4)A

【解析】軟體按功能可以分為:應用軟體、系統軟體、支撐軟體。作業系統、編譯程式、彙編程式、網路軟體、資料庫管理系統都屬於系統軟體。所以B、C、D都是系統軟體,只有A是應用軟體。

(5)B

【解析】1966年Boehm和Jaeopini證明了程式設計語言僅僅使用順序、選擇和重複三種基本控制結構就足以表達出各種其他形式結構的程式設計方法。

(6)A

【解析】詳細設計的任務是為軟體結構圖中而非總體結構圖中的每一個模組確定實現演算法和區域性資料結構,用某種選定的表達工具表示演算法和資料結構的細節,所以A錯誤。

(7)C

【解析】資料定義語言:負責資料的模式定義與資料的物理存取構建;資料操縱語言:負責資料的操縱。包括查詢及增、刪、改等操作;資料控制語言:負責資料完整性、安全性的定義與檢查以及併發控制、故障恢復等功能。

(8)D

【解析】因為一個教師可講授多門課程,而一門課程又能由多個老師講授所以他們之間是多對多的關係,可以表示為m:n。

(9)A

【解析】根據題意可知,小寫字母比與之對應的大寫字母的ASCⅡ碼大32。A選項中字元A加上c表示的大寫字元再對字母個數26取餘,本身這個表示式沒有任何含義,所以選擇A選項。

(10)B

【解析】只有B選項369可以用無符號整敦來表示和儲存。A選項一369有負號,選項C 0.369是小數都不能用無符號整數類儲存。選項D是一個整數集合得用致組來儲存。

(11)B

【解析】C程式在執行過程中的所有計算都以二進位制方式進行,所以B選項錯誤。

(12)D

【解析】C語言的數值常量中不能夾帶空格,所以A錯誤。C語言中的變數都必須先定義再使用,對變數的定義通常放在函式體內的前部,但也可以放在函式外部或複合語句的開頭。不能隨便放置,所以8錯誤。在C語言中運算子兩側的運算資料型別可以不一致,且結果與精度較高的保持一致,所以C錯誤。

(13)C

【解析】轉義字元中,八進位制的表示形式為ddd,

但是八進位制中不能包含數字8,所以c選項不合法。

(14)D

【解析】A選項中變數型別符doub1e後面不能有逗號。B選項中變數b不能先使用再定義,應該寫成選項D中的'格式。C選項中變數a後面應該是逗號而不是分號。

(15)A

【解析】不能將變數或常量賦給一個表示式,所以A選項中(b=4)=3是錯誤的。

(16)C

【解析】輸入資料的格式必須與seanf()的格式控制串完全匹配,所以輸入時必須在3和5之間輸入“;”。