<cite id="ddhtb"><video id="ddhtb"><thead id="ddhtb"></thead></video></cite><var id="ddhtb"></var><var id="ddhtb"><video id="ddhtb"><listing id="ddhtb"></listing></video></var>
<var id="ddhtb"><strike id="ddhtb"></strike></var>
<cite id="ddhtb"><video id="ddhtb"><menuitem id="ddhtb"></menuitem></video></cite><cite id="ddhtb"><video id="ddhtb"></video></cite>
<var id="ddhtb"></var>
<cite id="ddhtb"></cite>
<menuitem id="ddhtb"></menuitem>
<var id="ddhtb"></var>
<menuitem id="ddhtb"></menuitem><ins id="ddhtb"><span id="ddhtb"></span></ins>
<var id="ddhtb"><strike id="ddhtb"><listing id="ddhtb"></listing></strike></var> <menuitem id="ddhtb"><video id="ddhtb"><thead id="ddhtb"></thead></video></menuitem><menuitem id="ddhtb"><span id="ddhtb"><thead id="ddhtb"></thead></span></menuitem>
<ins id="ddhtb"><noframes id="ddhtb">
<menuitem id="ddhtb"></menuitem><var id="ddhtb"></var>
<var id="ddhtb"></var>
<var id="ddhtb"></var>
<menuitem id="ddhtb"></menuitem>
<var id="ddhtb"><span id="ddhtb"><var id="ddhtb"></var></span></var>
<var id="ddhtb"></var><var id="ddhtb"><video id="ddhtb"></video></var>
<menuitem id="ddhtb"></menuitem>
 
2015年計算機二級考試《C語言》提高練習題(11)

首頁 > 

考試

 > 2015年計算機二級...

2015年計算機二級考試《C語言》提高練習題(11)(圖)

1[填空題]請補充主函數main(),該函數的功能是:把從鍵盤輸人的3個整數按從小到大輸出。

例如,輸入“50 60 40”,結果輸出“40 50 60”。

注意:部分源程序給出如下。

請勿改動main()函數和其他函數中的任何內容,僅在橫線上填人所編寫的若干表達式或語句。

試題程序:

2015年計算機二級考試《C語言》提高練習題(11)1

參考解析:

【1】x>y【2】x>z【3】y>z【解析】由程序最后的輸出可知變量x 中存放3個整數中最小的,變量2中存放3個整數中最大的。當x大于y時,變量x和y互換,因此,【1】處填x>y。當x大于2時,變量x和z互換,因此,【2】處填x>z。當y大于z時,變量y和z互換,因此’【3】處填y>z。

2[簡答題]下列給定的程序中,函數proc()的功能是:將str所指字符串中出現的t1所指字符串全部替換成t2所指字符串,所形成的新的字符串放在w所指的數組中。在此處,要求t1和t2所指字符串的長度相同。

例如,當str所指字符串中所指的內容為abcdabcdef9,t1所指字符串中的內容為bc,t2所指字符串中的內容為11時,結果在w所指的數組中的內容應為alldalldefg。請修改程序中的錯誤,使它能得出正確的結果。

注意:不要改動main()函數,不得增行或刪行,也不得更改程序的結構。

試題程序:

2015年計算機二級考試《C語言》提高練習題(11)2

參考解析:

(1)錯誤:int proc(char*str,char*t1,char*t2,char*w)

正確:void proc(char*str,char*t1.char*t2,char*w)

(2)錯誤:while(r)

正確:while(*r)

(3)錯誤:r++

正確:r++;

【解析】:由主函數中proc()函數的調用以及proc()函數的定義,可知該函數沒有返回值,因此把proc()前的“int”改為“void”;由proc()函數可知,變量r指向的是字符串t1地址,while循環要判斷的是字符串tl是否結束,因此,“while(r)”應改為“while(*r)”;C語言中,每一條語句都以分號結束,因此。“r++”后要加上分號。

3[單選題]以下敘述中正確的是

A.在c語言中,邏輯真值和假值分別對應1和0

B.關系運算符兩邊的運算對象可以是C語言中任意合法的表達式

C.對于浮點變量x和y,表達式:x==y是非法的,會出編譯錯誤

D.分支結構是根據算術表達式的結果來判斷流程走向的

參考答案:B

參考解析:A選項中,在c語言中,邏輯真值對應非0;C選項中,表達式:x==y是合法的;D選項中,分支結構的流程走向是根據表達式的值,并不僅僅是算數表達式的值。因此B選項正確。

4[簡答題]下列給定程序中,函數proc()的功能是:對M名學生的學習成績,按從低到高的順序找出前m(m≤10)名學生來,并將這些學生數據存放在一個動態分配的連續存儲區中,此存儲區的首地址作為函數值返回。

請修改程序中的錯誤,使它能得到正確結果。

注意:不要改動main()函數,不得增行或刪行,也不得更改程序的結構。

試題程序:

2015年計算機二級考試《C語言》提高練習題(11)3

2015年計算機二級考試《C語言》提高練習題(11)4

2015年計算機二級考試《C語言》提高練習題(11)5

參考解析:

(1)錯誤:*t=calloe(m,sizeof(STU));

正確:(struct ss*)calloc(m,sizeof(STU));

(2)錯誤:for(i=j=0;i

正確:for(i=j=0;i

(3)錯誤:t[k].s=b[j].s;

正確:t[k]=b[j];

【解析】由函數proc()可知,變量t是指向動態存儲空間的變量,因此不能間接訪問運算符,而函數calloc的返回值類型為void*,要進行顯式類型轉換,因此“*t=calloc(m,si-zeof(STU));”應改為“(struct ss*)calloc(m,sizeof(STU));”。

由程序可知,變量i為控制學生個數的變量,因此“for(i=j=

2015年計算機二級考試《C語言》提高練習題(11)6

5[單選題] 以下敘述中錯誤的是( )。

A.用戶定義的函數中可以沒有return語句

B.用戶定義的函數中可以有多個return語句,以便可以調用一次返回多個函數值

C.用戶定義的函數中若沒有reillnl語句,則應當定義函數為void類型

D.函數的retU/Tl語句中可以沒有表達式

參考答案:B

參考解析:本題重點考察函數返回值的相關知識,函數的值只能通過returll語句返回主調函數,在函敦中允許有多個return語句,但每次調用只能有一個return語句t執行,因此只能返回一個函數值。不返回函數值的函數,可以明確定義為“空類型”,類型說明符為“void”。因此B選項正確。

6[單選題] 下述程序的輸出結果是()。

2015年計算機二級考試《C語言》提高練習題(11)7

A.4,4B.2,2C.4,5 D.2,4

參考答案:D

參考解析:首先定義了一個指向一維數組b的指針p,一個指向指針p的指針變量q;輸出*(p++)是先輸出*p,即b[0]的值,再將指針p指向數組的下一個元素b[1];輸出**q是輸出指針P所指單元的內容。

7[單選題] 有如下程序段:

2015年計算機二級考試《C語言》提高練習題(11)8

執行該程序后,x的值為()。

A.trueB.falseC.0 D.1

參考答案:D

參考解析:在C語言中,當表達式成立時用l表示,不成立時用0表示,即X=(a&&b)&&(c<ˊ B'ˊ)](14&&15)&&(ˊAˊ<'Bˊ)=1 &&1=1,故選擇D選項。

8[單選題] 有下列程序:

2015年計算機二級考試《C語言》提高練習題(11)9

執行后的結果是()。

A.輸出字符a的ASCⅡ碼

B.輸出字符C的ASCⅡ碼

C.輸出字符C

D.程序出錯

參考答案:D

參考解析:因為字符數組s[];中的數組名S表示的是一個地址常量。所以語句“s+=2;”不能將指針在當前位置的基礎上再向后移動兩位,因而程序編譯時出錯。

9[單選題]

2015年計算機二級考試《C語言》提高練習題(11)10

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

A.Qian,f,350,Sun,f,350B.Qiamf,350,Qian,f,350C.Qian,f,350,Sun,m,370D.Zha0,m,290,Sun,m,370

參考答案:A

參考解析:c語言函數參數傳遞大致分為:

1、值傳遞過程中。被調函數的形參作為被調函數的局部變量處理,即在內存的堆棧中開辟空間以存放由主調函數放進來的實參的值,從而成為了實參的一個拷貝。值傳遞的特點是被調函數對形參的任何操作都是作為局部變量進行,不會影響主調函數的實參變量的值。

2、地址傳遞過程中,被調函數的形參雖然也作為局部變量在堆棧中開辟了內存空間,但是這時存放的是由主調函數放進來的實參變量的地址。被調函數對形參的任何操作都被處理成間接尋址,即通過堆棧中存放的地址訪問主調函數中的實參變量。正因為如此,被調函數對形參做的任何操作都影響了主調函數中的實參變量。結構體中nanle是數組,做實參傳遞,會退化為指針,因此調用f(),b.nanle發生修改,其他的成員,傳遞的是拷貝,不會被修改。因此輸出Sun,f,350。故答案為A選項。

10[填空題]函數fun()的功能是:逆置數組元素中的值。形參n給出數組中數據的個數。

例如:若a所指數組中的數據依次為:1、2、3、4、5、6、7、8、9,則逆置后依次為:9、8、7、6、5、4、3、2、1。

注意:部分源程序給出如下。

請勿改動main()函數和其他函數中的任何內容,僅在fun()函數的橫線上填入所編寫的若干表達式或語句。

試題程序:

2015年計算機二級考試《C語言》提高練習題(11)112015年計算機二級考試《C語言》提高練習題(11)12

參考解析:【1】n/2【2】i【3】a[n-i-1]

【解析】:fun()函數實現的功能是實現數組的逆置。具體步驟通過參數傳遞,得到數組指針(即數組名)和數組記錄大小的變量n,通過這兩個參數配置for循環,遍歷數組的中間的元素位置,每次循環都將i位置和對應位置結點(i距離0位置等于其距離尾位置的結點)的元素交換,由此實現數組的逆置。

更多精彩資訊請關注查字典資訊網,我們將持續為您更新最新資訊!

查看全部

推薦文章

猜你喜歡

附近的人在看

推薦閱讀

拓展閱讀

相關資訊

最新資訊

網友關注

?
欧美疯狂做受xxxx高潮