<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. 試題

    計算機二級C語言鞏固練習

    時間:2025-04-11 17:15:37 試題 我要投稿

    2017計算機二級C語言鞏固練習

      成績的取得離不開我們平時的努力,以下是百分網小編為大家整理的2017計算機二級C語言鞏固練習題,希望對大家的學習起到幫助!

      1.下列說法正確的是( )。

      A.在C語言中,可以使用動態內存分配技術定義元素個數可變的數組

      B.在c語言中,數組元素的個數可以不確定,允許隨機變動

      C.在C語言中,數組元素的數據類型可以不一致

      D.在C語言中,定義一個數組后.就確定了它所容納的元素的個數

      2.表達式“~0x11”的值是( )。

      A.0xFFEE

      B.0x71

      C.0x0071

      D.0xFFF1

      3.下列程序的輸出結果是( )。

      main()

      { int p[8]={11,12,13,14,15,16,17,18},i=0,j =0;

      while(i++<7)

      if(p[i]%2)j+=p[i];

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

      }

      A.42

      B.45

      C.56

      D.60

      4.下列程序的輸出結果是( )。

      #included stdi0.h>

      #included string.h>

      void fun(int b[])

      { static int i=0;

      do

      { b[i]+=b[i+1];

      }while(++i<2);

      }

      main()

      { int k,a[5]={1,3,5,4,9};

      fun(a);

      for(k=0;k<5;k++)printf("%d",a[k]);

      }

      A.13579

      B.48579

      C.48549

      D.48999

      5.有以下程序:

      main()

      { int a=1,b=3,C=5,*P;

      int*p1=&a,*p2=&b,*p3=&c;

      *p=*p1*(*p2);

      }

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

      A.1

      B.2

      C.3

      D.4

      6.有以下程序:

      fun(int x)

      { int P;

      if(x==0 || x==l)return(3);

      p=x-fun(x-2);

      return p;

      }

      main()

      {printf("%d\n",fun(7));}

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

      A.7

      B.3

      C.2

      D.0

      7.下述程序的運行結果是( )。

      #included stdio.h>

      #included strin9.h>

      main()

      { char*s1="abDuj";

      char*s2="ABdUG";

      int t;

      t=strcmp(s1,s2);

      printf("%d",t);

      }

      A.正數

      B.負數

      C.零

      D.不確定的值

      8.下列程序中c的二進制值是( )。

      char a=2,b=4,c;

      c=a^b>>2;

      A.00000011

      B.00010100

      C.00011100

      D.00011000

      9.函數fseek()的正確調用形式是( )。

      A.fseek(位移量,起始點,文件類型指針);

      B.fseek(文件類型指針,位移量,起始點);

      C.fseek(文件類型指針,起始點,位移量);

      D.fseek(起始點,位移量,文件類型指針);

      10.下列敘述正確的是( )。

      A.C語言中的文件是流式文件,因此只能順序存取數據

      B.打開一個已存在的文件并進行了寫操作后,原有文件中的全部數據必定被覆蓋

      C.在一個程序中當對文件進了寫操作后,必須先關閉該文件然后再打開,才能讀到第1個數據

      D.當對文件的讀(寫)操作完成之后,必須將它關閉,否則可能導致數據丟失

      11.為了避免在嵌套的條件語句if else中產生二義性,C語言規定,else子句總是與( )配對。

      A.縮排位置相同if

      B.其前面最近的if

      C.其后面最近的if

      D.同一行上的if

      12.設有下列程序段:

      char str[]="HelloWorld":

      char* plr;

      ptr=str:

      執行上面的程序段后,*(ptr+10)的值為( )。

      A.’\0 ’

      B.’0’

      C.不確定的值

      D.’0’的地址

      13.有以下程序:

      void swap(char*x,char*y)

      { char t;

      t=*x;*x=*y;*y=t;

      }

      main()

      { char*s1="abe",*s2="123":

      swap(s1,s2);

      printf("%s,%s\n",s1,s2);

      }

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

      A.123,abe

      B.abc.123

      C.1bc,a23

      D.321,cba

      14.下列程序的運行結果是( )。

      #include

      main()

      { static char a[]="Languagef",b[]="programe":

      char*p1,*p2;int k;

      p1=a;p2=b;

      for(k=0;k<=8;k++)

      if(*(p1+k)==*(p2+k))

      printf("%c",*(p1+k)):

      }

      A.gae

      B.ang

      C.program

      D.有語法錯

      15.下列程序的運行結果為( )。

      #define MAX(x,y)(x)>(y)?(x):(y)

      main()

      { int a=2,b=3,C=1,d=3,t:

      printf("%d\n",(MAX(a+h,c+d))*100):

      }

      A.500

      B.5

      C.4

      D.400

      參考答案及解析

      1.D。【解析】在C語言中,數組元素的個數是確定的,不允許隨機變動,數組定義好后,它所能容納的元素的個數也就確定了,并且同一個數組中所有元素都是同一類型。

      2.A。【解析】本題主要考查按位求反運算:十六進制整型常量的形式是以數字Ox開頭的十六進制字符串;位求反運算的規則是:將二進制表示的運算對象按位取反,即將1變0,將0變1。

      3.B。【解析】C語言中,數組的下標默認為0,因此數組P的下標從0開始,所以p[8]的范圍為0~7。第l次循環i=0,執行循環,得出i=1,因此p[i]為p[1]=12,12%2= 0,不執行后面的語句;接著進行第2次循環,此時i=1,小于7執行循環,并且i自加,得i=2,因此p[i]為p[2]=13,13%2=1,執行后面的語句;依此類推最后退出循環。最后j 的值為:j=13+15+17=45。

      4.C。【解析】本題考查do-while循環,在fun函數中,首先定義了靜態變量i=0,do-while循環要實現的功能是以b[0]=b[0]+b[1],b[1]=b[1]+b[2],其他元素不變的規則重新給b數組賦值。在主函數中,通過調用fun函數,按上面的規則對數組a重新賦值,最后輸出數組a。

      5.C。【解析】本題中指針p1、p2、p3指向a、b、c值所存放的地址空間,然后再將指針變量*p1、*p2中值的乘積賦給指針變量*P,即賦給變量c,輸出c的值3。

      6.C。【解析】在函數funlint x)中,有個if語句判斷,如果參數x等于0或1時,返回值,否則進入下面的p=x-fun (x-2)遞歸函數。當在主函勢中調用fun(7)時,其過程為:“fun(7)=7-fun(5)=7-(5一fun(3))=7-(5-(3-fun (1)))=7-(5-(3—3))=7-5=2”,所以最后的輸出結果為2。

      7.A。【解析】本題考查符符串比較函數和兩個字符串比較的原則這兩個知識點。

      (1)兩字符串比較的原則是依次比較兩個字符串同一位置的一對字符,若它們的ASCII碼值相同,則繼續比較下一對字符,若它們的ASCII碼值不同,則ASCII碼值較大的字符所在的字符串較大;若所有字符相同,則兩個字符串相等;若一個字符串全部i個字符與另一個字符串的前i個字符相同,則字符串較長的較大

      (2)strcmp(s1,s2)的返回值,當str1str2,返回值為正數。

      8.A。【解析】本題主要者查右移運算和按位異或。把b化為二進制數為00000100,右移兩位后為00000001,a的二進制為00000010,兩者異或為00000011。

      9.B。【解析】指針函數fseek()的調用形式為:fseek (fp,offset,position);fseek函數參數說明:“fp”是指向該文件的文件型指針;“offset”為位移量,是指從起始點position 到要確定的新位置的字節數。以起點為基準,向前移動字節數。“position”為起始點,指出以文件的什么位置為基準進行移動,position的值用整型常數表示,“0”表示文件的開頭,“1”表示文件的當前位置,“2”表示文件的末尾。

      10.D。【解析】在C語言巾,文件的存取方式有兩種:順序存取和直接存取。如果以“a”的方式對已打開的文件進

      行寫操作后,則原文件中內容將保存,新的數據寫在原有內容之后。如果以“a+”的方式勾讀和寫操作而打開文件,則可以對文件進行讀寫,而且在讀和寫操作之間不必關閉文件,可以從頭開始讀。當對文件的讀(寫)操作完成之后,必須將它關閉。

      11.B。【解析】C語言規定,在if…else語句中,else總是與它前面的最近的if配對。

      12.A。【解析】本題主要考查字符數組和指針,在c語言中,字符型數組在存放字符串時會自動在末尾加上’\0 ’,所以數組str有11個元素;ptr指向數組str的首地址,ptr+ 10是指向str[10],*(ptr+10)是引用str[10]的值。

      13.C。【解析】本題考查swap函數,它的作用是把x、Y 所指的內容互換,其他的不變,因此當執行完調用函數后,僅僅’a’與’1’互換,其他的沒有變。

      14.A。【解析】本題考查指針用法,if語句的功能是判斷兩個數組中的字符是否相同,如果相同則輸出。

      15.A。【解析】本題考查帶參數宏的定義,運算符:(x) >(y)?(x):(y)當表達式為真時輸出X,否則輸出Y,調用(MAX(a+b,c+d))*100時,(a+b=5)>(c+d=4),輸出a+b=5,所以x=5*100。

    【計算機二級C語言鞏固練習】相關文章:

    計算機二級C語言鞏固練習題201708-16

    計算機二級《C語言》考前鞏固練習題201609-10

    2017計算機二級C語言知識鞏固題08-23

    2017計算機二級C語言知識鞏固試題05-18

    計算機二級C語言練習題07-18

    計算機二級C語言考試沖刺練習10-06

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

    全國計算機二級《C語言》鞏固試題及答案06-10

    計算機二級考試C語言預測上機鞏固試題06-17

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人