<samp id="uu9tx"></samp>
        <samp id="uu9tx"><tr id="uu9tx"><nav id="uu9tx"></nav></tr></samp>
        <delect id="uu9tx"><legend id="uu9tx"><meter id="uu9tx"></meter></legend></delect>
                <samp id="uu9tx"><tr id="uu9tx"><meter id="uu9tx"></meter></tr></samp><nav id="uu9tx"></nav>
                <samp id="uu9tx"></samp>
                  <samp id="uu9tx"><tr id="uu9tx"><meter id="uu9tx"></meter></tr></samp>
                  江蘇省高校計算機等級考試命題研究院 江蘇省高校計算機等級考試輔導
                  2018年3月江蘇省計算機二級C語言真題第1套

                  1.         高級語言編寫的程序可以由編譯程序將其翻譯轉換為可執行程序,這些程序在Windows環境下查看其類型時顯示為“MS-DOS應用程序”“應用程序”或“應用程序擴展”,顯示為應用程序的文件,其文件擴展名通常是__________。

                  A. COM

                  B. APP

                  C. EXE

                  D. DLL

                  C

                  解析:APPiOS手機可執行程序的簡稱, EXE顯示為應用程序,DLL是應用程序擴展。

                  3

                  2.         下列關于IP地址(IPv4)和路由器的敘述中,錯誤的是______

                  A.IP地址中包含有網絡號和主機號兩個內容,IP地址與子網掩碼進行邏輯加運算可得到網絡號

                  B. IP地址(IPv4)長度僅為32,大約只有40億個地址可用,目前已分配完畢

                  C. 路由器除了在兩個不同網絡之間傳輸IP數據報,通常還具有流量控制、性能管理等功能

                  D. 目前家用無線路由器是一種將以太網交換機,無線AP和路由器等集成在一起的產品

                  A

                  解析: IP地址中包含有網絡號和主機號兩個內容,IP地址與子網掩碼進行邏輯與運算可得到網絡號 。

                  4

                  3.         在有些HTML文檔中,嵌入了動態修改網頁內容或控制文檔展現的腳本程序,許多腳本程序是采用_________語言編寫的。

                  A.  VBA

                  B.  VBScript

                  C.  Objective-C

                  D.  Python

                  B

                  解析:VBA是嵌入到office中的編程語言,VBScript是嵌入到HTML中的腳本語言,Objective-C主要是應用于蘋果操作系統中的編程語言,Python是一門編程語言。

                  3

                  4.         在現代通信系統中,為了能有效地提高數據鏈路的利用率、降低通信成本,一般使用多路復用技術讓多路信號同時共用一條傳輸線進行傳輸,在使用光纖傳輸信息時,主要是采用____________技術。

                  A.  TDM

                  B.  WDM

                  C.  FDM

                  D.  CDM

                  B

                  解析: 時分多路復用(TDM)是各終端設備按不同時間來輪流使用同一線路來傳輸數據,是計算機網絡傳輸使用的主要方式,頻分多路復用(FDM)是將不同信源發出的信號調制在不同頻率的載波上(例如收音機與電視機),波分多路復用(WDM)是在一根光纖傳輸不同波長的光波。

                  4

                  5.         下列圖像文件格式中,_________格式在高檔的數碼相機中使用較多,它不但包含未經處理的像素數據,而且還記錄了拍攝時相機的一些設置信息。

                  A.  BMP

                  B.  RAW

                  C.  JPEG

                  D.  TIF

                  B

                  解析: RAW文件格式在數碼相機中使用較多,其含義是未經加工的圖像,包含了感光器件捕獲到的未經處理的像素數據,還包含了拍攝照片時的很多參數   。

                  5

                  6.         下列關于常用操作系統(產品)的敘述中,錯誤的是_________ 。

                  A. UNIX操作系統是廣泛的操作系統之一,目前已經研制和開發了若干不同分支的UNIX產品

                  B. Linux內核是最有名的自由軟件之一,目前全球已有上百個Linux操作系統發行版

                  C. 目前Linux已經被移植到多種硬件平臺,但該類操作系統還不能用于大型和超級計算機

                  D. 目前PC不僅可以使用Windows操作系統,也可以使用Linux操作系統

                  C

                  解析: 目前Linux已經被移植到多種硬件平臺,該類操作系統可以應用于大型和超級計算機 。

                  3

                  7.         通俗地說,算法就是解決問題的方法和步驟,下列關于算法表示及算法分析的敘述中,錯誤的是______

                  A. 與采用文字描述算法相比,采用流程圖表示算法則更簡明、更容易理解

                  B. 在設計算法時人們常用偽代碼表示算法,這比采用具體的程序設計語言表示更方便,效率更高

                  C. 從算法復雜度來看,若算法的復雜度為常數階則效率更高,若為指數階則效率極低

                  D. 一個問題的求解可以有多種不同的算法,通過算法優化,其時間和空間復雜度相差通常不大

                  D

                  解析: 一個問題的求解可以有多種不同的算法, 其時間和空間復雜度通常相差很大  。

                  3

                  8.         通俗地說,算法就是解決問題的方法和步驟,下列相關敘述中,錯誤的是______

                  A. 算法的一個顯著特征是,其解決的是一類問題而不是一個特點的問題

                  B. 所謂設計算法,就是尋找解決問題的方法與規則,并將其表示成算法

                  C. 算法設計一般采用由細到粗,由具體到抽象的逐步求精的方法

                  D. 枚舉性、迭代法、遞推法、回溯法等都是用于算法設計的基本方法

                  C

                  解析: 算法設計一般采用由粗到細,由抽象到具體的逐步求精的方法  。

                  3

                  9.         計算機繪制的圖像也稱為矢量圖形,用于繪制矢量圖形的軟件稱為矢量繪圖軟件。下列軟件中,屬于矢量繪圖軟件的是______。

                  A. ACDSee

                  B. CorelDraw

                  C. Photoshop

                  D. Lightroom

                  B

                  解析:流行的矢量繪圖軟件包括AutoCAD、CorelDraw,Illstrator, FreeHand,Visio等。

                  5

                  10.     字符集及其編碼是計算機中表示、存儲、處理和交換文本信息的基礎,但由于歷史原因,目前不同系統或應用中使用的字符編碼方案并不統一。目前在Windows中文版操作系統中,通常使用_______來表示和處理文本,在數據文件需要保存到外存時會轉換成操作系統所默認的本地編碼(方案)。

                  A. ASCII

                  B. UTF-8

                  C. UTF-16

                  D. GB18030

                  C

                  解析: UCS有兩種標準UTF-8UTF-16,UTF-8采用ASCII碼用1個字節編碼,拉丁字母,標點符號等采用2字節編碼,漢字采用3個字節編碼,其他極少字符采用4字節編碼,UCS-16是指ASCII和漢字都采用2字節編碼,其他不常用字符采用4字節編碼,Windows中文版上現在使用UTF-16,也是Java,.NET軟件開發環境等默認的編碼標準。

                  5

                   

                  以下程序段中第_______行有語法錯。

                  int x;                          //1

                  int f(int y)                    //2

                  {  return w; }                  //3

                  int w=1;                        //4

                  int main()                      //5

                  {  int z=2; f(z) ; return 0; }  //6

                  A. 2

                  B. 3

                  C. 4

                  D. 6

                  B

                  解析:函數f中有一個w變量,因為w值的聲明在f函數的下方,根據C規定,變量的作用域是從聲明處開始的,所以會報錯。

                  8

                  以下程序的輸出結果是______。

                  #include

                  #define H(x)  x/(x-1)

                  int main()

                   {

                       int a=1, b=2;

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

                       return 0;

                  }

                  A. 2

                  B. 0.5

                  C. 0

                  D. -4

                  A

                  解析:H(a-b)調用#define H(x)后換算為1-2/(1-2-1),根據C語言運算順序,首先執行2/(1-2-1)結果是-1,然后用1減去-1,結果即2 。

                  3

                  已有如下數據類型定義和變量聲明:

                      struct person

                      {

                      int num;

                      char name[20],sex;

                      struct {  int year,month,day;  }birthday;

                         }a={20,"Li ning",'M',{1998,1,1}},*p=&a;

                  以下語句中正確的是____

                  A. printf("%s",a->name);

                  B. printf("%d",p->birthday.year);

                  C. printf("%s",*p.name);

                  D. printf("%d",p-> birthday->year);

                  B

                  解析: 運算符->要求左邊必須是內存編號,運算符.要求左邊必須是變量;A選項中的a是普通變量,不是其所在的內存編號,所以a->name錯誤,A選項修改為a.name就對了;B選項中,因為p是指針變量,所以p->birthday返回普通變量,然后通過.year獲取值,所以正確;C選項中.的優先級高于*,所以實際是*(p.name),因為p是指針變量,所以不能用.,修改為(*p).name就對了;D選項錯誤的原因參考B選項。

                  11

                   

                  已有聲明“int k,a,b; unsigned long y=5;double  x=10;”,以下表達式中語法正確的是______。

                  A. x%5

                  B. x=*y

                  C. k=(a+1)++

                  D. a+=(a=3)*(b=2)

                  D

                  解析:A,運算符%要求左右兩邊都是整數,不能是doublefloat類型;B,表達式*y因為*處于表達式的第1個位置,所以要求y必須是一個指針變量,不能是普通常量 ,修改為x*=y,表示x=x*y;就可以了;C,++必須放到變量的前面或后面,不能放到表達式或常量的前面或后面; D選項執行后,a的值是9。

                  3

                  以下跳轉語句中可以選擇不唯一的跳轉目的地的語句是______。

                  A. continue

                  B. break

                  C. goto

                  D. return

                  C

                  解析:continue表示直接跳轉到循環開始處;break表示跳出所在的循環或switch過程;return表示返回函數調用處;通過 goto 可以調轉到指定的位置。

                  6

                  6(填空題 <2>

                  以下程序運行時, 輸出結果中第一行是____________   ,第二行是____________   。

                   

                  #include

                  int f(int a[],int m,int b[],int n,int c[])

                  {

                      int i,j,k=0,t;

                      for(i=0;i

                      {

                          for(t=0,j=0;j

                              if( a[i]==b[j] )

                              {   t=1;  break;  }

                          if(t)

                              c[k++]=a[i];

                      }

                      return k;

                  }

                  int main()

                  {

                      int x[]={7,2,3,6,1},y[]={5,10,7,9,8,6},z[10],w,j;

                      w=f(x,5,y,6,z);

                      for(j=0;j

                          printf("%d\n",z[j]);

                      return 0;

                  }

                   

                  7@6

                  解析: 因為文字描述不如視頻講解清楚,詳細見視頻講解

                  8

                   

                   

                  7(填空題 <3>

                  以下程序運行時,輸出結果中第一行是____________   ,第二行是____________   ,第三行是____________   。

                   

                  #include

                  int main()

                  {

                      int a,b,j,k,w,s[4];

                      for(a=10;a<=16;a++)                  

                      {

                          b=2*a;

                          s[0]=a/10;  s[1]=a;

                          s[2]=b/10;  s[3]=b;

                          w=1;              

                          for(j=0;j<3;j++)

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

                                  if(s[k]==0||j!=k && s[j]==s[k] )w=0;  

                          if(w)

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

                      }

                      return 0;

                  }

                  13@14@16

                  解析: 因為文字描述不如視頻講解清楚,詳細見視頻講解

                  7

                   

                   

                  8 (填空題 <2>

                  以下程序運行時, 輸出結果中第一行是____________   ,第二行是____________   。

                   

                  #include

                  #include

                  int main()

                  {   

                      char *p1="student",p2[]="student";

                      if(p1==p2) puts("yes");

                      else puts("no");

                      if(!strcmp(p1,p2)) puts("yes");

                      else puts("no");

                      return 0;

                  }

                  no@yes

                  解析: 因為文字描述不如視頻講解清楚,詳細見視頻講解

                  10

                   

                   

                  9 (填空題 <3>

                  以下程序運行時,輸出結果中第一行是____________   ,第二行是____________   ,第三行是____________   。

                   

                  提示:函數int toupper(int ch)功能是將小寫字母轉換為對應大寫字母。

                  #include

                  #include

                  long fun(char *s)

                  {

                      long n, sign, base=10,t;

                      for(; *s==' ';s++);

                      sign=(*s=='-')?-1:1;

                      if(*s=='+'||*s=='-') s++;

                      if(*s=='0'&& s++)

                      {

                          if(*s=='x'||*s=='X')

                          {    base=16; s++; }

                          else

                              base=8;

                      }

                      for(n=0,t=1;t &&(isdigit(*s)||isalpha(*s));s++)

                          switch(base)

                          {

                              case 10: if(isdigit(*s))

                                          n=n*base+*s-'0';

                                      else

                                          t=0;

                                      break;

                              case 8:  if(*s >='0'&& *s <='7')

                        n=n*base+*s-'0';

                                      else

                                          t=0;

                                      break;

                              case 16:  if(isdigit(*s))

                                          n=n*base+*s-'0';

                                      else if(toupper(*s)>='A' &&toupper(*s)<='F')

                                              n=n*base+toupper(*s)-'A'+10;

                                      else

                                          t=0;

                          }

                      return sign*n;

                  }

                  int main()

                  {

                      char c1[]="0xc",c2[]="015",c3[]="-17";

                      printf("%ld\n%ld\n%ld",fun(c1),fun(c2),fun(c3));

                      return 0;

                  }

                   

                  12@13@-17

                  解析: 因為文字描述不如視頻講解清楚,詳細見視頻講解

                  10

                   

                  1(完善程序):

                  【要求】

                  1.打開T盤中文件myf0.c,按以下程序功能完善文件中的程序。

                  2.修改后的源程序仍保存在Tmyf0.c文件中,請勿改變myf0.c的文件名。

                  【程序功能】

                     已知main函數內結構數組p中前3個元素值已按成員index升序排列。以下程序先在p數組前3個元素中插入結構變量s1中保存的數據,再輸出p數組前4個元素的值。要求插入s1數據后p數組前4個元素值仍按成員index升序排列。

                  【測試數據與運行結果】

                     測試數據:p數組中原始數據為 {5,"wang",},{10,"li",},{15,"zhao"}

                               s1變量中數據為 {3,"zhang"}

                         輸出:

                               3 zhang

                               5 wang

                               10 li

                               15 zhao

                  【待完善的源程序】

                  #include

                  #include

                  typedef struct s

                  {

                      int index;

                      char name[10];

                  }ST;

                  int insert(ST *p, ST s, int n)

                  {

                      int k,j;

                      if(s.index>p[n-1].index)

                      {

                          p[n]=s;

                          return n+1;

                      }

                      for(k=0;k

                          if(    1   >s.index )           

                             break;

                      for(j=n;     2   ;j--)                

                          p[j]=p[j-1];

                          3    =s;                    

                      return n+1;             

                  }

                  int main()

                  {

                      int n=3;

                      ST p[8]={{5,"wang",},{10,"li",},{15,"zhao"}},s1={3,"zhang"},*q;

                      n = insert(    4    );     

                      for(q=p;q

                          printf("%d %s\n",q->index,q->name);

                      getch();

                      return 0;

                  }

                   

                  p[k].index@j>k@p[k]@p,s1,n

                   

                  (1)p[k].index

                  (2)j>k

                  (3)p[k]

                  (4)p,s1,n

                   

                   

                  2(改錯題):

                  點擊該網址具體見/Html/two_c_eng/1231142558396.html

                   

                  3(編程題):

                  點擊該網址具體見  /Html/two_c_eng/1231142558396.html 

                  亚洲欧美日韩国产一区二区三区_全亚洲免费一级黄片_国产一区二区三区不卡视频手机版_国产污三级网站在线观看