網站首頁 個人文檔 個人總結 工作總結 述職報告 心得體會 演講稿 講話致辭 實用文 教學資源 企業文化 公文 論文

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

欄目: 試卷考卷 / 發佈於: / 人氣:1.58W

計算機二級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之間輸入“;”。