<progress id="6tu77"><bdo id="6tu77"></bdo></progress>

<tbody id="6tu77"></tbody>

        1. <samp id="6tu77"><ins id="6tu77"><u id="6tu77"></u></ins></samp>
          <tbody id="6tu77"></tbody>

          <samp id="6tu77"><ins id="6tu77"><u id="6tu77"></u></ins></samp>
        2. <progress id="6tu77"><bdo id="6tu77"></bdo></progress>
          <samp id="6tu77"><ins id="6tu77"><ruby id="6tu77"></ruby></ins></samp><tbody id="6tu77"></tbody>
          <samp id="6tu77"></samp>
        3.  
          2015年計算機二級考試《C語言》提高練習題(4)

          首頁 > 

          考試

           > 2015年計算機二級...

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

          1[填空題]從鍵盤輸入一組無符號整數并保存在數組xx[M]中,以整數0結束輸入,即第M+1個數是0(共M個數據),數與數之間以Enter鍵分隔,要求這些數的最大位數不超過4位,其元素的個數通過變量num傳人函數proc()。請補充函數proc(),該函數的功能是:從數組XX中找出十位和百位的數字之和大于5的所有無符號整數,結果保存在數組yy中,其個數由函數proc()返回。

          例如,當xx[8]={3 637 369 421 35 7334 54 67}時,bb[4]={637 369 421 7334 67)。

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

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

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

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

          參考解析:

          【1】xx[i]/100【2】bb[n++]=xx[i]【3】n

          從數組XX中找出十位和百位的數字之和大于5的所有無符號整數,首先要得到每一個整數十位和百位的數字。要得到一個整數十位和百位的數字,可以通過取余來實現,因此,【1】處填“xx[i]/100”;每得到一個符合要求的整數,放在數組bb中,因此,【2】處填“bb[n++]=xx[i]”;變量n中存放的是符合要求的個數,最后返回各主函數,因此【3】處填“n”。

          2[單選題] 若變量已正確定義

          for(x=0,Y=0;(y!=99&&x<4);x++)

          則以上for循環

          A.執行3次B.執行4次C.執行無限次D.執行次數不定

          參考答案:B

          參考解析:本題重點考查for語句的循環次數,for(x=0,y=0;(y!=99&&x<4);x++),y!=99&&x<4即循環條件當y不等于99以及x<4時,執行循環語句,當有一個條件不成立時,均結束循環,因此循環4次,B選項正確。

          3[單選題] 以下敘述中錯誤的是

          A.用typedef可以說明一種新的類型名

          B.typedef的作用是用一個新的標識符來代表已存在的類型名

          C.可以用typedef說明的新類型名來定義變量

          D.typedef說明的新類型名必須使用大寫字母,否則會出編譯錯誤

          參考答案:D

          考解析:本題考查typedef的使用方法,typedef對已存在的類型使用一個新的名字,新類型可以使用小寫,所以D選項錯誤。

          4[簡答題]規定輸入的字符串中只包含字母和*號。編寫函數fun(),其功能是:刪除字符串中所有的*號。編寫函數時,不得使用C語言提供的字符串函數。

          例如,字符串中的內容為“****A*BC*DEF*G****”,刪除后,字符串中的內容應當是“ABCDEFG”。

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

          請勿改動main()函數和其他函數中的任何內容,僅在函數fun()的花括號中填入編寫的若干語句。

          試題程序:

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

          參考解析:

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

          【解析】此題是刪除字符串中的星號。思路是通過for循環來完成對字符串的遍歷,通過if判斷,找到不是“*”的字符,將其賦值到數組a中星號前的位置,“if(a[i]!= ˊ*ˊ)”“a[j++]=a[i]”,最后返回主函數將刪除*后的字符串輸出即可。

          5[單選題] 下列變量聲明合法的是()。

          A.short a=1.4e-1;

          B.double b=1+3e2.8;

          C.10ng do=0xfdaL;

          D.float 2_ aaa=1e-3;

          參考答案:A

          參考解析:解答本題需了解3個知識點:①標識符是由字母、數字或下劃線組成,并且它的第一個字符必須是字母或者下劃線;②do是C語言的一個關鍵字,不能再用作變量名和函數名;③C語言規定指數形式的實型數量e或E后面的指數必須是整數。

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

          A.改變函數形參的值,不會改變對應實參的值

          B.函數可以返回地址值

          C.可以給指針變量賦一個整數作為地址值

          D.當在程序的開頭包含文件stdio.h時,可以給指針變量賦NULL

          參考答案:C

          參考解析:指針變量的值只能是存儲單元地址,而不能是一個整數,故選項C錯誤。

          7[填空題]請補充main()函數,該函數的功能是求方程axs+bx+c=0的兩個實數根。方程的系數a、b、C從鍵盤輸入,如果判別式(disc=b*b-4*a*c)tb于0,則要求重新輸人a、b、c的值。

          例如,當a=1,b=2,c=1時,方程的兩個根分別是:x1=-1.00,X2=-1.00。

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

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

          試題程序:

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

          參考解析:

          【1】disc%0或0>disc【2】sqrt【3】sqrt

          【解析】本題考查的是do-while循環,第【1】處填空:“disc<0”或“0)disc”;本題引入“#include”頭文件可知,可調用函數sqrt。

          8[單選題] 下列數據結構中,能夠按照“先進后出”原則存取數據的是( )。

          A.循環隊列B.棧C.隊列D.二叉樹

          參考答案:B

          參考解析:棧是按先進后出的原則組織數據的。隊列是先進先出的原則組織數據。

          9[簡答題]下列給定程序中函數fun的功能是:用冒泡法對6個字符串進行升序排列。請改正程序中的錯誤,使它能得出正確的結果。

          注意:部分源程序在文件MODIl.C中,不得增行或刪行,也不得更改程序的結構!

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

          參考解析:

          (1)fh(j=i+1;j<6;j++)

          (2)*(pstr+i)=}(pstr+j);

          【考點分析】

          本題考查:冒泡排序算法;for循環語句格式;指針數組。

          【解題思路】

          (1)此處考查for語句的格式,各表達式之間應用“;”隔開。

          (2)此處考查用指針表示數組元素的方法,}(pstr+I)表示pstr所指向數組的第1個元素,同理}(pstr+j)表示pstr所指向數組的第j個元素。

          【解題寶典】

          冒泡排序算法,其基本思想是,將待排序的元素看作是豎著排列的“氣泡”,較小的元素比較輕,從而要往上浮。在冒泡排序算法中我們要對這個“氣泡”序列處理若干遍。所謂一遍處理,就是自底向上檢查一遍這個序列,并時刻注意兩個相鄰的元素的順序是否正確。如果發現兩個相鄰元素的順序不對,即“輕”的元素在下面,就交換它們的位置。顯然,處理一遍之后,“最輕”的元素就浮到了最高位置;處理二遍之后,“次輕”的元素就浮到了次高位置。依次類推,完成排序。

          用代碼實現數組s[N]的升序排列為:for(i=0;i

          for(j=i十1;j

          if(s[i]>s[j]){t-s[i];s[i]=s[j]s[j]=t;}

          10[單選題] 有以下程序:

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

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

          A.x=4B.X=8C.x=6D.x=12

          參考答案:B

          參考解析:

          eoulinue的作用是跳出循環體中剩余的1語句而進行下一次循環。第一次執行外循環i的值為0,執行|x++,x的值變為l,第一次執行內層循環j的值為0,不滿足if1條件,執行x++,x的值變為2,第二次內循環j的值為1,if條1件成立,跳出本次循環,第三次執行內循環j的值為2,不滿足l if條件,x的值變為3,第四次執行內循環j的值為3滿足條件1跳出本次內循環,x的值加l,即為4,第一次外循環結束。第1二次執行外循環時,同理,i的值被加了,4次,變為8,所以選擇I,B選項。

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

          查看全部

          推薦文章

          猜你喜歡

          附近的人在看

          推薦閱讀

          拓展閱讀

          相關資訊

          最新資訊

          網友關注

          ?
          国产精品一区二区久久精品