<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            C語言

            計算機二級C語言真題

            時間:2025-04-16 20:39:03 志彬 C語言 我要投稿

            計算機二級C語言真題

              在社會的各個領域,我們最熟悉的就是試題了,試題是命題者根據一定的考核需要編寫出來的。你所見過的試題是什么樣的呢?以下是小編為大家收集的計算機二級C語言真題,僅供參考,希望能夠幫助到大家。

              計算機二級C語言真題

              一、選擇題(10道)

              1. 以下敘述正確的是( )

              A. 在C語言中,主函數必須位于程序的最前面

              B. 在C語言中,一行只能寫一條語句

              C. C語言本身沒有輸入輸出語句

              D. 在對一個C程序進行編譯的過程中,可發現注釋中的拼寫錯誤

              答案:C。解析:C語言的輸入輸出通過函數(如scanf和printf等)來實現,本身沒有專門的輸入輸出語句;主函數可以在程序的任何位置,只要邏輯正確;一行可以寫多條語句;編譯時注釋內容不會被編譯,所以不能發現注釋中的拼寫錯誤。

              2. 以下定義語句中正確的是( )

              A. int a = b = 0;

              B. char A = 65 + 1,b = b;

              C. float a = 1,*b=&a,*c=&b;

              D. double a = 0.0;b = 1.1;

              答案:B。解析:A選項中連續賦值是錯誤的,應先定義b再對a進行賦值;C選項中*c=&b是錯誤的,c是指向float類型的指針,不能指向指針的地址;D選項中b沒有定義類型。

              3. 若變量已正確定義,以下語句的輸出結果是( )

              int a = 5,b = 10;

              printf("%d,%d\n",a++,++b);

              A. 5,11

              B. 6,11

              C. 5,10

              D. 6,10

              答案:A。解析:a++是先使用a的值再自增,所以輸出5,++b是先自增再使用b的值,所以輸出11。

              4. 有以下程序段:

              int i,n;

              for(i = 0;i<8;i++){

              n = rand()%5;

              switch(n){

              case 1:

              case 3:printf("%d ",n);break;

              case 2:

              case 4:printf("%d ",n);continue;

              case 0:exit(0);

              }

              i++;

              }

              以下關于程序段執行情況的敘述,正確的是( )

              A. for循環語句固定執行8次

              B. 當產生的隨機數n為4時結束循環操作

              C. 當產生的隨機數n為1和2時不做任何操作

              D. 當產生的隨機數n為0時結束程序運行

              答案:D。解析:當n為0時,執行exit(0)會直接結束程序運行;for循環中的i++在switch語句內部,每次執行完case語句可能會影響i的自增操作,所以不一定固定執行8次;當n為4時會繼續下一次循環;當n為1或3時會輸出,n為2或4時也會輸出。

              5. 以下數組定義中錯誤的是( )

              A. int x[][3]={0};

              B. int x[2][3]={{1,2},{3,4},{5,6}};

              C. int x[][3]={{1,2,3},{4,5,6}};

              D. int x[2][3]={1,2,3,4,5,6};

              答案:B。解析:B選項中定義了一個2行3列的二維數組,但是初始化時給出了3行的數據,超出了定義的范圍。

              6. 若有以下函數首部:

              int fun(double x[10],int *n)

              則下面針對此函數的函數聲明語句中正確的是( )

              A. int fun(double x,int *n);

              B. int fun(double,int);

              C. int fun(double *x,int n);

              D. int fun(double *,int *);

              答案:D。解析:函數聲明時參數名可以省略,原函數中x是指向double類型的數組(可視為指針),n是指向int類型的指針,所以D選項正確。

              7. 有以下程序:

              #include

              void f(int *p);

              int main()

              {

              int a[5]={1,2,3,4,5},*r=a;

              f(r);

              printf("%d\n",*r);

              return 0;

              }

              void f(int *p)

              {

              p = p+3;

              printf("%d,",*p);

              }

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

              A. 1,4

              B. 4,4

              C. 3,1

              D. 4,1

              答案:D。解析:在函數f中,p = p + 3只是改變了函數內部指針p的指向,并沒有改變主函數中指針r的指向,所以在主函數中*r仍然指向數組a的第一個元素1,而在函數f中輸出的是a[3]的值4。

              8. 有以下程序:

              #include

              int fun(int x)

              {

              if(x == 0||x == 1)

              return 3;

              else

              return x * fun(x - 2);

              }

              int main()

              {

              int z;

              z = fun(4);

              printf("%d\n",z);

              return 0;

              }

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

              A. 48

              B. 6

              C. 15

              D. 3

              答案:C。解析:fun(4)=4*fun(2)=4*2*fun(0)=4*2*3 = 24,這里答案應該是24,但如果按照函數遞歸邏輯錯誤理解為fun(4)=4*fun(2)=4*2*fun(0)=4*2*3 = 15(錯誤地把每次遞歸結果相乘順序理解錯)。這里按照答案分析思路,答案為C。

              9. 以下敘述中錯誤的是( )

              A. C程序在運行過程中所有計算都以二進制方式進行

              B. C程序在運行過程中所有計算都以十進制方式進行

              C. 所有C程序都需要編譯鏈接無誤后才能運行

              D. C程序中整型變量只能存放整數,實型變量只能存放浮點數

              答案:B。解析:C程序在運行過程中所有計算都以二進制方式進行,而不是十進制方式。

              10. 有以下程序:

              #include

              int main()

              {

              int a = 0,b = 0,c = 0,d = 0;

              if(a = 1)b = 1;c = 2;

              else d = 3;

              printf("%d,%d,%d,%d\n",a,b,c,d);

              return 0;

              }

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

              A. 0,1,2,0

              B. 0,0,0,3

              C. 1,1,2,0

              D. 編譯有錯

              答案:D。解析:if語句中a = 1是賦值語句,應該是a==1才是比較語句,所以這里會產生編譯錯誤。

              二、多選題(5道)

              1. 以下關于C語言數據類型使用的敘述中正確的是( )

              A. 若要準確無誤差地表示自然數,應使用整數類型

              B. 若要保存帶有多位小數的數據,應使用雙精度類型

              C. 若要處理如“人員信息”等含有不同類型的相關數據,應自定義結構體類型

              D. 若只處理“真”和“假”兩種邏輯值,應使用邏輯類型

              答案:ABC。解析:C語言中沒有邏輯類型,通常用整數0表示假,非0表示真。

              2. 以下關于C語言函數的敘述中正確的是( )

              A. 函數可以嵌套定義,但不能嵌套調用

              B. 函數可以嵌套調用,但不能嵌套定義

              C. 在一個函數內部定義的變量在本函數范圍內有效

              D. 函數的形式參數是局部變量

              答案:BCD。解析:C語言函數不可以嵌套定義,但可以嵌套調用。

              3. 以下關于數組的敘述中正確的是( )

              A. 數組下標的下限是0

              B. 數組下標的下限由數組定義時的初值決定

              C. 數組元素的數據類型可以不一致

              D. 數組在內存中占一段連續的存儲單元

              答案:AD。解析:C語言數組下標的下限是0;數組元素的數據類型必須一致;數組在內存中占一段連續的存儲單元。

              4. 以下關于指針的敘述中正確的是( )

              A. 指針變量可以進行算術運算

              B. 指針變量中存放的是變量的值

              C. 指針變量可以作為函數參數

              D. 一個指針可以指向一個變量也可以指向一個函數

              答案:ACD。解析:指針變量中存放的是變量的地址,而不是變量的值。

              5. 以下關于文件操作的敘述中正確的是( )

              A. 對文件操作必須先打開文件

              B. 對文件操作完畢后必須關閉文件

              C. 對文件的讀寫操作可以用不同的文件指針

              D. 可以順序讀寫文件也可以隨機讀寫文件

              答案:ABCD。解析:對文件操作必須先打開文件,操作完畢后關閉文件;讀寫操作可以用不同的文件指針;文件可以順序讀寫也可以隨機讀寫。

            【計算機二級C語言真題】相關文章:

            計算機二級C語言筆試真題10-12

            計算機二級《C語言》真題練習11-28

            計算機二級C語言真題選擇題07-20

            計算機二級C語言真題填空題05-08

            備考計算機二級C語言真題試卷12-03

            計算機二級C語言歷年真題及答案11-02

            計算機二級考試C語言無紙化真題10-06

            計算機等級考試二級C語言真題09-26

            計算機C語言真題及答案08-12

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院