<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年10月江蘇省計算機二級C語言真題第1套

                   

                  1.         下列PC使用的CPU系列產品中,不屬于Intel公司的是_______.

                  A. Celeron系列

                  B. Pentium系列

                  C. Core系列

                  D. FX系列

                  D

                  解析:Intel公司推出的CPU,包括入門級的Celeron系列,高于CeleronPentium系列,性能比較高的Core系列。

                  2

                  2.         掃描儀是目前常用的圖像輸入設備。下列相關敘述中,錯誤的是______。

                  A. 手持式掃描只適用于—行—行地掃描文字稿

                  B. 目前平板式掃描儀在家庭和辦公自動化領域得到了廣泛應用

                  C. 滾筒式掃描儀的技術性能較高,大多數應用于專業印刷排版領域

                  D. 掃描儀均可以選擇黑白、灰度或彩色工作模式,但不可以設置灰度級數或色彩的位數

                  D

                  解析: 掃描儀可以選擇黑白、灰度或彩色工作模式,也可以設置灰度級數或色彩的位數 。

                  2

                  3.         在音頻信號的數字化過程中,人的說話聲音頻帶較窄(僅為3003400Hz),通常語音的取樣頻率為8kHz、量化位數為8位,這時未壓縮的碼率大約為____。

                  A. 8kb/s

                  B. 64kb/s

                  C. 300kb/s

                  D. 1411kb/s

                  B

                  解析:根據公式 波形聲音的碼率=取樣頻率*量化位數*聲道數 。

                  5

                  4.         下列有關智能手機常用操作系統的敘述中,錯誤的是_____.

                  A. iPone手機使用由蘋果公司開發的iOS操作系統,其系統內核是—種“類Unix"系統

                  B. Android是—個以Linux內核為基礎的開放源代碼的操作系統,早先由Android公司開發

                  C. 我國內地銷售的Android智能手機,—般都使用Android所附帶的用戶界面和應用程序(GMS)

                  D. iOSAndroid屬于兩種不同的操作系統,其平臺上的應用程序也不相同,不能相互通用

                  C

                  解析: 我國內地銷售的Android智能手機,—般不使用Android所附帶的用戶界面和應用程序(GMS)  。

                  2

                  5.         字符集及其編碼是計算機中表示、存儲、處理和交換文本信息的基礎。下列有關漢字編碼標準的敘述中,錯誤的是______。

                  A. 我國1981年頒布的GB2312標準僅包含6000多個漢字和600多個非漢字圖形字符

                  B. 我國1995年發布的GBK,標準與GB2312標準兼容,且將漢字擴充到20000多個

                  C. 我國在2000年和2005年兩次發布GB18030編碼標準,它與原先的國家標準GBK兼容

                  D. 無論是ISO組織制定的UCS、還是一些公司聯合制定的Unicode,其漢字部分均與GB 18030兼容

                  D

                  解析: GB18030是我國頒布的,也是當前包含的漢字是最多的, UCS是國際標準化組織發布的,與其等同的是由微軟等公司共同制定的工業標準Unicode, GB18030Unicode兩者的漢字編碼有很大區別 。

                  5

                  6.         程序設計語言處理系統是一種重要的系統軟件。下列相關的敘述中,錯誤的是____。

                  A. 機器語言也需要語言處理系統,其作用是將程序代碼轉換成二進制指令代碼

                  B. 不同的程序設計語言需要有不同的語言處理系統,它們通常是不通用的

                  C. 解釋程序通常適合于交互方式工作的、或在調試狀態下運行的程序

                  D. 編譯程序的作用是將高級語言翻譯為機器語言(或匯編語言)

                  A

                  解析: 機器語言就是二進制指令代碼, ,所以不需要語言處理系統  。

                  3

                  7.         下列關于常見輔助存儲器的敘述中,錯誤的是_______。

                  A. 通!獕K硬盤由1張或幾張盤片組成,其數據需要用柱面號、扇區號和磁頭號等參數來定位

                  B. U盤又稱為優盤、閃存盤,其寫入速度—般慢于讀出速度,且寫入次數有—定的限制

                  C. 目前有些PC使用混合硬盤(SSD+HDD)的做法,以提高系統的整體性能

                  D. 光盤分為只讀盤片、—次可寫盤片和可擦寫盤片,CD-R、DVD-RBD-R均為只讀盤片

                  D

                  解析: CD-R, DVD-RBD-R是只寫入一次光盤片,CD-ROM,DVD-ROM,BD-ROM是只讀型光盤片。

                  2

                  8.         下列有關智能手機及其功能的敘述中,錯誤的是_____。

                  A. 從第2代移動通信開始,所有的手機均可以上互聯網,因此均被稱為智能手機

                  B. 所謂”雙卡雙待”手機,是指手機同時可以安裝兩張SIM卡,且兩張卡均可處于待機狀態

                  C. 全網通手機可以接入國內三大運營商的所有4G、3G2G網絡,支持多種不同的網絡制式

                  D. 國內三大運營商采用的4G技術并不相同,移動采用TD-LTE,電信和聯通采用LTE-FDD

                  A

                  解析: 第一代通信技術采用模擬技術,第二代通信技術采用數字技術,第三代通信技術3G,4代通信技術稱為4G, 按照手機的功能劃分為笨手機、功能手機、智能手機,其中智能手機是指可以像PC個人電腦一樣安裝第3方軟件,不斷擴充其功能,而功能手機一般不能隨意安裝和卸載軟件,第二代手機屬于功能手機,不屬于智能機。

                  2

                  9.         下列有關PC主板及其中的功能部件的敘述中,錯誤的是____。

                  A. 目前許多擴充卡的功能可以部分或全部集成在主板上,因而從外觀上看主板的結構越來越簡化

                  B. 主板上的BIOS芯片是一種閃速存儲器,PC啟動時最先運行BIOS中的軟件

                  C. 主板上的CMOS存儲器是—種非易失性存儲器,其中存儲的配置信息永不丟失

                  D. 主板上的芯片組早期是由兩片集成電路構成的,目前大多為單芯片的芯片組

                  C

                  解析: CMOS屬于易失性存儲器,需要由主板上的電池供電  。

                  2

                  10.     通俗地說,算法就是解決問題的方法和步驟。在設計算法時有一些基本要求,下列相關敘述中錯誤的是_____。

                  A. 每個算法至少有—個輸入,輸出有且僅有—個

                  B. 算法中的每—步操作必須有確切的含義,不能有二義性

                  C. 一個算法總是在執行了有限步的操作后終止

                  D. 算法中有待實現的操作都應該是計算機可執行的

                  A

                  解析: 算法的基本要素:確定性、有窮性、能行性、輸出,算法可以沒有輸入,但必須有輸出。

                  3

                  1(單選題):

                  若有預處理命令“#include<string. h>"和聲明“char sl[80]=world cup,s2[80]=2018;”,則以下庫函數調用中錯誤的是________。

                  A. strlen(s1);

                  B. strcpy(s1,s2);

                  C. strcat(s1,s2);

                  D. strcmp(s1[0],s2[0]);

                  D

                  解析: A選項返回s1內存空間中字符個數9,B選項將s2中內存空間的值拷貝給s1內存空間,C選項表示將s2內存空間的值放到s1內存空間原有數值第1個結束標志符\0的后面,題目中s1內存空間形成world cup2018,D選項錯誤,strcmp(表達式1,表達式2)的作用是比較表達式1指向的內存空間中的字符串與表達式2指向的內存空間中的字符串是否相等,因為strcmp要求表達式必須是內存編號,s1[0]返回的是w,s2[0]返回的是2,不是內存編號,如果修改為strcmp(s1,s2)就對了,因為在C語言中,只寫數組的名字表示該數組的起始內存編號;strlen,strcpy,strcat,strcmp都要求參數是內存編號, 因文字解析不如視頻清晰,詳細見視頻詳細講解。

                  7

                  己有聲明“double a=1.23456;int i;”,現要求使變量a中實數的十進制表示經過四舍五入處理后僅保留2位小數(即將a值變為1.23000),以下表達式中能實現該功能的是_______。

                  A. i=a*100+0.5,a=i/100.0

                  B. a = (a*100+0.5)/100.0

                  C. a=((int)a*100+0.5)/100.0

                  D. a=(a/100+0.5)/100.0

                  A

                  解析:因為i是整型,所以i=a*100+0.5得到i=123.456+0.5,得到i=123,然后執行a=i/100.0后得到1.23000,注意這里的i/100.0不能寫成i/100,因為i是整型,100是整型,整型除以整型得到整型,所以i/100的結果是1而不是1.23 ,100.0才表示雙精度型,所以i/100.0才正確,另外C選項首先執行(int)a得到1,然后(1*100+0.5)/100.0得到結果1.005000 。

                  4

                  以下聲明中正確的是______。

                  A. int a[];

                  B. int a[10]=0;

                  C. int a[10+1]={0};

                  D. int a[3l={1,2,3,4};

                  C

                  解析:聲明數組時,數組大小必須是常量,A選項錯誤,修改為 int a[]={1,2,3};這類格式就對了;B選項錯誤,int,double,float類型初始化數組賦值時,不能直接不加{}就賦值,修改為int a[10]; 或者int a[10]={1,2};這類格式就對了;D選項錯誤, int a[3]大小是3塊內存空間,{1,2,3,4}4個值了。

                  7

                  若有聲明“int a=l,x=3,y=4:”,則下列語句中除_______外,其他三條語句功能均相同。

                  A.  if(a) printf("%d ",x);  else  printf("%d",y);

                  B. if(a == 0) printf("%d",y);  else  printf("%d”,x);

                  C. if(a! =0) printf("%d",x); else printf('%d",y);

                  D. if(a==0) printf("%d",x); else printf(“%d”,y);

                  D

                  解析:C語言中,0表示假值,0表示真值,因為a=1,所以ABC選項直接輸出x值。

                  5

                  若有聲明“int a[4],j;”及語句“for(j=0;j<4;j++) p[j]=a+j;”,則標識符p應聲明為_______。

                  A. int p[4];

                  B. int (*p)[4];

                  C. int **p[4];

                  D. int *p[4];

                  D

                  解析:A選項是指普通數組,聲明可以盛放4int型數值的內存空間區;B選項是指向一維數組的指針變量;C選項是二級指針數組,里面盛放的是一級指針的內存編號;D選項是指針數組, 聲明可以盛放4int型內存編號的內存空間區, 因文字解析不如視頻清晰,詳細見視頻詳細講解  。

                  10

                   

                   

                  6(填空題 <3> ) :

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

                  #include<stdio.h>

                  void change(int x, int m)

                  {

                      char ch[]={"0123456789ABCDEF"},b[80];

                      int i=0,r;

                      while(x)

                      {

                          r=x%m;  

                          x/=m;

                          b[i++]=ch[r];

                      }

                      for(--i;i>=0;i--)

                          printf("%c",b[i]);

                  }

                  int main()

                  {

                      change(10,2);  printf("\n");

                      change(20,8);  printf("\n");

                      change(30,16);    

                      return 0;

                  }

                   

                  1010@24@1E

                   

                  7 (填空題 <2> ) :

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

                  #include<stdio.h>

                  int func(int a)

                  {

                      static int c=1;

                      c*=a;   

                      return c;

                  }

                  int main()

                  {

                      int  b=1, i;

                      for(i=2;i<4;i++)

                      {

                          b=b+func(i);

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

                      }

                      return 0;

                  }

                   

                  3@9

                   

                   

                  8(填空題 <2> ) :

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

                  #include<stdio.h>

                  int f(int a,int b);

                  int main( )

                  {

                      printf("%d\n%d",f(3,5), f(9,6));

                      return 0;

                  }

                  int f(int a,int b)

                  {

                      if(a==b)

                          return a;

                      else

                          if(a>b)

                              return f(a-b,b);

                          else 

                              return f(a,b-a);

                  }

                   

                  1@3

                   

                  9 (填空題 <3> ) :

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

                  #include<stdio.h>

                  int main( )

                  {

                      int a[3][3]={0},i,j,k,n=3;

                      j=n/2;  i=n-1; 

                      a[i][j]=1;

                      for(k=2;k<=n*n;k++)

                      {

                          i++;j++;

                          if(i>n-1&&j>n-1)

                          {

                              i=i-2;  j--;

                          }

                          else

                          {

                              if(i>n-1) i=0;      

                              if(j>n-1) j=0;  

                          }

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

                              a[i][j]=k;

                          else 

                          {

                              i=i-2; j--; a[i][j]=k;

                          }

                      }

                      printf("%d\n%d\n%d ",a[2][1], a[0][2], a[1][1]);

                      return 0;

                  }

                  1@2@5

                   

                   

                  1(完善程序):

                  完善程序12,每空3

                  【要求】

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

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

                  【程序功能】

                  函數f的功能是計算并返回F(x)值,其中x不等于0。

                  計算F(x)中的無窮級數時,當通項(-1)nx2n/(2n)!的絕對值小于等于10-6時停止累加。

                  【測試數據與運行結果】

                  測試數據:x = 1

                   輸出:f(1.000000)=1.278868

                  【待完善的源程序】

                  #include<stdio.h>

                  #include<conio.h>

                  #include<math.h>

                  double f(double x)

                  {

                      int n=1,sign=-1;

                      double term=    1     ,sum=term;         

                      while(    2    >1e-6)             

                      {

                          term=term*sign*x*x/   3    ; 

                          sum=sum+term;   

                          n++;

                      }

                      sum=3.14159/2-cos(x)/x*    4   ;   

                      return sum;

                  }

                  int main()

                  {

                      double x=1;  

                      printf("f(%f)=%f\n",x,f(x));

                      getch();

                      return 0;

                  }

                   

                  1@fabs(term)@((2*n-1)*(2*n))@sum

                   

                  (1)1

                  (2)fabs(term)

                  (3)((2*n-1)*(2*n))

                  (4)sum

                   

                   

                   

                  2(改錯題):

                  改錯(共16分,每錯4分)

                  【要求】

                  1.打開T盤中文件myf1.c,按以下程序功能改正文件中程序的錯誤。

                  2.可以修改語句中的一部分內容,調整語句次序,增加變量聲明或預處理命令,但不能增加其他語句,也不能刪去整條語句。

                  3.修改后的源程序仍保存在Tmyf1.c文件中,請勿改變myf1.c的文件名。

                  【程序功能】

                   在一個一維數組中存儲的N個互不相同的整數中找出最小值和最大值,將最小值移到第一個數之前,將最大值移到最后一個數之后,其他數保持相對位置不變。

                  【測試數據與運行結果】

                  測試數據:8,5,6,9,4,1,-1,7,3,2

                  輸出:-1,8,5,6,4,1,7,3,2,9

                  【含有錯誤的源程序】

                  #include <stdio.h>

                  #include<conio.h>

                  #define N 10

                  void crl(int *a)

                  {

                      int i,j,max=0,min=0,temp;

                      for(i=1;i<N;i++)

                          if(a[min]>a[i]) min=i;

                      temp=a[min];

                      j=min;

                      while(j<0)

                      {

                          a[j]=a[j-1];

                          j--;

                      }

                      a[0]=temp;

                      for(i=1;i<N;i++)

                          if(a[max]<a[i]) max=i;

                      temp=a[max];

                      j=max;

                      while(j<N-1)

                      {

                          a[j]=a[j-1];

                          j++;

                      }

                      a[N-1]=temp;

                  }

                  int main()

                  {

                      int a[N]={8,5,6,9,4,1,-1,7,3,2};

                      int i;

                      crl(int a);

                      for(i=0;i<N;i++)

                         printf("%5d",*a+i);

                      printf("\n");

                      getch();

                      return 0;

                  }

                   

                  while(j<0)   修改為   while(j>0)@ a[j]=a[j-1];   修改為  a[j]=a[j+1];@ crl(int a);    修改為   crl(a);@ printf("%5d",*a+i);   修改為  printf("%5d",*(a+i));

                   

                   

                  (1) while(j<0)   修改為   while(j>0)

                  (2) a[j]=a[j-1];   修改為  a[j]=a[j+1];

                  (3) crl(int a);    修改為   crl(a);

                  (4) printf("%5d",*a+i);   修改為  printf("%5d",*(a+i));

                   

                   

                  3(編程題):

                  編程(共22分)

                  【要求】

                  1.打開T盤中文件myf2.c,在其中輸入所編寫的程序。

                  2.數據文件的打開、使用、關閉均用C語言標準庫中緩沖文件系統的文件操作函數實現。

                  3.請勿改變myf2.c的文件名。

                  【程序功能】

                    在一個字符串中所有數字子串前插入指定字符。例如,原字符串為"AB1CD12EF123GH",在所有數字字符子串前插入一個指定字符'-'后字符串變為"AB-1CD-12EF-123GH"。

                  【編程要求】

                  1.編寫void insert(char *p)函數。函數功能:在p指向的字符串中所有數字字符子串前插入一個字符-。

                  2.編寫main函數。函數功能:聲明1個一維數組并用測試數據初始化,用數組作實參調用insert函數對數組中字符串做處理,將處理后的字符串輸出到顯示器屏幕及文件myf2.out中。最后將考生本人的準考證號輸出到文件myf2.out中。

                  【測試數據與運行結果】

                  測試數據:"AB1CD12EF123GH"

                   輸出:AB-1CD-12EF-123GH

                   

                  #include <stdio.h>

                   

                  void insert(char *p)

                  {

                    char *t,*q;

                    int  judge=0;

                    q=p;

                    while(*p)

                    {

                       if(*p>='0' && *p<='9' && judge==0)

                      {       

                         while(*q) q++;

                               

                         for(t=p;t<q;q--)

                         {         

                           *q=*(q-1);

                         }

                         *t='-';       

                         judge=1;

                   

                       }

                      if(*p>='A' && *p<='Z' || *p>='a' && *p<='z')

                     {

                        judge=0;

                      }

                      p++;

                    }

                  }

                   

                  int main()

                  {

                     FILE *fp;

                     char c[100]={"AB1CD12EF123GH"};

                     insert(c);

                     fp=fopen("myf2.out","w+");

                     printf("%s",c);

                     fprintf(fp,"%s\n",c);

                     fprintf(fp,"My Exam is 001122");

                     fclose(fp);

                  }

                   

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