全國計算機二級《C語言》考試題庫與答案
全國計算機二級《C語言》考試題庫與答案
在學習、工作中,我們都離不開試題,借助試題可以檢驗考試者是否已經(jīng)具備獲得某種資格的基本能力。什么樣的試題才能有效幫助到我們呢?以下是小編為大家收集的全國計算機二級《C語言》考試題庫與答案,歡迎大家分享。
(資料圖片)
全國計算機二級《C語言》考試題庫與答案 篇1
(1)下列關(guān)于棧敘述正確的是( )。
A.棧頂元素最先能被刪除
B.棧頂元素最后才能被刪除
C.棧底元素永遠不能被刪除
D.棧底元素最先被刪除
(2)下列敘述中正確的是( )。
A.在棧中,棧中元素隨棧底指針與棧頂指針的變化而動態(tài)變化
B.在棧中,棧頂指針不變,棧中元素隨棧底指針的變化而動態(tài)變化
C.在棧中,棧底指針不變,棧中元素隨棧頂指針的變化而動態(tài)變化
D.以上說法都不正確
某二叉樹共有7個結(jié)點,其中葉子結(jié)點只有l(wèi)個,則該二叉樹的深度為(假設根結(jié)點在第1層)( )。
A.3
B.4
C.6
D.7
軟件按功能可以分為應用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于應用軟件的是( ):
A.學生成績管理系統(tǒng)
B.c語言編譯程序
C.UNIX操作系統(tǒng)
D.數(shù)據(jù)庫管理系統(tǒng)
(5)結(jié)構(gòu)化程序所要求的基本結(jié)構(gòu)不包括( )。
A.順序結(jié)構(gòu)
B.GOT0跳轉(zhuǎn)
C.選擇(分支)結(jié)構(gòu)
D.重復(循環(huán))結(jié)構(gòu)
(6)下面描述中錯誤的是( )。
A.系統(tǒng)總體結(jié)構(gòu)圖支持軟件系統(tǒng)的詳細設計
B.軟件設計是將軟件需求轉(zhuǎn)換為軟件表示的過程
C.數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)庫設計是軟件設計的任務之一
D.PAD圖是軟件詳細設計的表示工具
(7)負責數(shù)據(jù)庫中查詢操作的數(shù)據(jù)庫語言是( )。
A.數(shù)據(jù)定義語言
B.數(shù)據(jù)管理語言
C.數(shù)據(jù)操縱語言
D.數(shù)據(jù)控制語言
一個教師可講授多門課程,一門課程可由多個教師講授。則實體教師和課程間的聯(lián)系是( )。
A.1:1聯(lián)系
B.1:m聯(lián)系
C.m:1聯(lián)系
D.m:n聯(lián)系
(9)已知大寫字母A的ASCIl碼值是65,小寫字母a的ASCIl碼值是97。以下不能將變量C中的大寫字母轉(zhuǎn)換為對應小寫字母的語句是( )。
A.C=(。A’+C.%26一"a"
B.c=c+32
C.c=c一"A"+"a"
D.c=(c一’A")%26+-a"
(10)定義無符號整數(shù)類為UInt,下面可以作為類uInt實例化值的是( )。
A.-369
B.369
C.0.369
D.整數(shù)集合{1,2,3,4,5}(11)以下敘述中錯誤的是( )。
C程序在運行過程中所有計算都以二進制方式進行
B.c程序在運行過程中所有計算都以十進制方式進行
C.所有c程序都需要編譯鏈接無誤后才能運行
D.c程序中字符變量存放的是字符的ASCIl碼值
(12)以下關(guān)于c語言的敘述中正確的是( )。
A.C語言的數(shù)值常量中夾帶空格不影響常量值的正確表示
B.C語言中的變量可以在使用之前的任何位置進行定義
C.在C語言算術(shù)表達式的書寫中,運算符兩側(cè)的運算數(shù)類型必須一致
D.C語言中的注釋不可以夾在變量名或關(guān)鍵字的中間
(13)以下不合法的字符常量是( )。
A."、、"
B.’”’
C.’18’
D.xcc"
(14)以下選項中正確的定義語句是( )。
A.double,a,b;
B.double a=b=7;
C.double a;b;
D.double 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.;,能把整數(shù)3賦給變量a,5賦給變量b的輸入數(shù)據(jù)是( )。
A.3 5
B.3,5
C.3;5
D.35
參考答案與解析
(1)A
【解析】棧是先進后出的數(shù)據(jù)結(jié)構(gòu),所以棧頂元素最后入棧卻最先被刪除。棧底元素最先入棧卻最旨除。所以選擇A。。
(2)C
【解析】棧是先進后出的數(shù)據(jù)結(jié)構(gòu),在整個過程中,棧底指針不變,入棧與出棧操作均由棧頂指針的變化來操作,所以選擇C。
(3)D
【解析】根據(jù)二叉樹的基本性質(zhì)3:在任意一裸二叉樹中,多為0的葉子結(jié)點總比度為2的結(jié)點多一個.所以本題中度為2的結(jié)點為1—1=0個,所以可以知道本題目中的二叉樹的每一個結(jié)點都有一個分支,所以共7個結(jié)點共7層,即度為7。
(4)A
【解析】軟件按功能可以分為:應用軟件、系統(tǒng)軟件、支撐軟件。操作系統(tǒng)、編譯程序、匯編程序、網(wǎng)絡軟件、數(shù)據(jù)庫管理系統(tǒng)都屬于系統(tǒng)軟件。所以B、C、D都是系統(tǒng)軟件,只有A是應用軟件。
(5)B
【解析】1966年Boehm和Jaeopini證明了程序設計語言僅僅使用順序、選擇和重復三種基本控制結(jié)構(gòu)就足以表達出各種其他形式結(jié)構(gòu)的程序設計方法。
(6)A
【解析】詳細設計的任務是為軟件結(jié)構(gòu)圖中而非總體結(jié)構(gòu)圖中的每一個模塊確定實現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu),用某種選定的表達工具表示算法和數(shù)據(jù)結(jié)構(gòu)的細節(jié),所以A錯誤。
(7)C
【解析】數(shù)據(jù)定義語言:負責數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建;數(shù)據(jù)操縱語言:負責數(shù)據(jù)的操縱。包括查詢及增、刪、改等操作;數(shù)據(jù)控制語言:負責數(shù)據(jù)完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復等功能。
(8)D
【解析】因為一個教師可講授多門課程,而一門課程又能由多個老師講授所以他們之間是多對多的關(guān)系,可以表示為m:n。
(9)A
【解析】根據(jù)題意可知,小寫字母比與之對應的大寫字母的ASCⅡ碼大32。A選項中字符A加上c表示的大寫字符再對字母個數(shù)26取余,本身這個表達式?jīng)]有任何含義,所以選擇A選項。
(10)B
【解析】只有B選項369可以用無符號整敦來表示和存儲。A選項一369有負號,選項C 0.369是小數(shù)都不能用無符號整數(shù)類存儲。選項D是一個整數(shù)集合得用致組來存儲。
(11)B
【解析】C程序在運行過程中的所有計算都以二進制方式進行,所以B選項錯誤。
(12)D
【解析】C語言的數(shù)值常量中不能夾帶空格,所以A錯誤。C語言中的變量都必須先定義再使用,對變量的定義通常放在函數(shù)體內(nèi)的前部,但也可以放在函數(shù)外部或復合語句的開頭。不能隨便放置,所以8錯誤。在C語言中運算符兩側(cè)的運算數(shù)據(jù)類型可以不一致,且結(jié)果與精度較高的保持一致,所以C錯誤。
(13)C
【解析】轉(zhuǎn)義字符中,八進制的表示形式為ddd,
但是八進制中不能包含數(shù)字8,所以c選項不合法。
(14)D
【解析】A選項中變量類型符doub1e后面不能有逗號。B選項中變量b不能先使用再定義,應該寫成選項D中的"格式。C選項中變量a后面應該是逗號而不是分號。
(15)A
【解析】不能將變量或常量賦給一個表達式,所以A選項中(b=4)=3是錯誤的。
(16)C
【解析】輸入數(shù)據(jù)的格式必須與seanf()的格式控制串完全匹配,所以輸入時必須在3和5之間輸入“;”。
全國計算機二級《C語言》考試題庫與答案 篇2
1: 第1題請編寫函數(shù)fun,其功能使:將兩個兩位正整數(shù)a b合并形成一個整數(shù)放在c中。合并的方式使:將a數(shù)的十位和個位數(shù)依次放在c數(shù)的百位和個位上,b數(shù)的十位和個位數(shù)依次放在c數(shù)的千位和十位上。
答案:
void fun(int a,int b,long *c)
{*c=(b/10)*1000+(a/10)*100+(b%10)*10+a%10;}
2: 第2題請編寫一個函數(shù)fun,它的功能使:計算n門課程的平均分,計算結(jié)果作為函數(shù)值返回。
答案:
float fun(float *a,int n)
{float ave=0.0;
int i;
for(i=0;i
ave+=a;
ave/=n;
return ave;}
3: 第3題假定輸入的字符串中只包含字母和*號。請編寫函數(shù)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題請編寫函數(shù)fun,其功能是:將兩個兩位數(shù)的正整數(shù)a b合并形成一個整數(shù)放在c中,合并的方式是:將a數(shù)的十位和個位數(shù)依次放在c的個位和百位上,b數(shù)的十位和個位數(shù)依次放在c數(shù)的千位和十位上。
答案:
void fun(int a,int b,long *c)
{c=(b/10)*1000+(a%10)*100+(b%10)*10+a/10;}
5: 第5題 n名學生的成績已在主函數(shù)中放入一個帶頭節(jié)點的鏈表結(jié)構(gòu)中,h指向鏈表的頭節(jié)點。請編寫函數(shù)fun,它的功能是:求出平均分,由函數(shù)值返回。
答案:
double fun(strec *h)
{double aver=0.0;
while(h!=null)
{aver+=h->s;
hy=h->next;}
aver/=n;
return aver;}
6: 第6題請編寫函數(shù)fun,計算并輸出給定10個數(shù)的方差。
答案:
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題請編寫函數(shù)fun,其功能是:將兩個兩位數(shù)的正整數(shù)a b合并形成一個整數(shù)放在c 中。合并的方式是:將a數(shù)的十位和個位數(shù)依次放在c數(shù)的千位和十位上,b數(shù)的十位和個位數(shù)依次放在c數(shù)的個位和百位上。
答案:
void fun(int a,int b,long *c)
{*c=(a/10)*1000+(a%10)*10+(b%10)*100+b/10;}
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。