<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>
                  江蘇省高校計算機等級考試命題研究院 江蘇省高校計算機等級考試輔導
                  2015年10月江蘇省計算機二級C真實考卷

                  2015年10月江蘇省高校計算機等級考試

                  二級C真實考卷

                  第一部分  計算機基礎知識

                  下列有關數字技術與微電子技術的敘述中,錯誤的是______

                  A.數字技術是采用有限個狀態(主要是兩個狀態)來表示、處理、存儲和傳輸信息的技術

                  B.比特是信息的基本單位,1個比特可以表示8位二進制數

                  C.集成電路芯片是微電子技術的結晶,是現代信息產業的基礎

                  D.Moore定律是指"單塊集成電路的集成度平均每18-24個月翻一番"

                  B

                  解析: 比特是信息的基本單位,1個比特可以表示1位二進制數

                  1

                  下列有關計算機發展與分類的敘述中,錯誤的是______。

                  A.數字電子計算機誕生于20世紀40年代,個人計算機(微型計算機)產生于20世紀80年代初

                  B.4代計算機的CPU主要采用中小規模集成電路,5代計算機采用超大規模集成電路

                  C.計算機分類有多種方法,按其內部邏輯結構通常分為16位機、32位機或64位機等,目前使用的PC機大多是32位機或64位機

                  D.巨型計算機一般采用大規模并行處理的體系結構,我國國防科技大學研制的"天河1,巨型計算機,其性能可在全球巨型機排行榜中位居前10

                  B

                  解析:計算機的發展一共4,4代計算機的CPU主要采用超大規模與極大規模集成電路

                  2

                  下列有關PC機微處理器的敘述中,錯誤的是_________

                  A.目前PC機所用的各種微處理器均由Intel公司設計和生產

                  B.微處理器通常由單片集成電路制成

                  C.一臺高性能PC機中通常包含多個微處理器

                  D.臺式PC機與筆記本PC機采用的微處理器通常有所不同公司

                  A

                  解析:目前PC機所使用的各種微處理器主要是由IntelAMD公司設計和生產的,我們國家也能生產CPU

                  2

                  下列是PC機常用的四種外設接口,其中適用于連接硬盤和光驅的是______

                  A.RS-232

                  B.SATA

                  C.IEEE-1394

                  D.VGA

                  B

                  解析:VGA是連接顯示器接口,IEEE-1394用于連接高速數據傳輸設備

                  2

                  按照軟件著作權益的處置方式,軟件可以分為商品軟件、共享軟件、自由軟件等類型。在下列相關敘述中,錯誤的是_________。

                  A.商品軟件需要用戶付費才能得到其使用權

                  B.共享軟件是具有版權的軟件,允許用戶有條件的使用

                  C.自由軟件允許使用者隨意拷貝、傳播,允許修改其源代碼但必須公開修改內容

                  D.共享軟件、自由軟件均屬于免費軟件

                  D

                  解析:共享軟件是買前免費試用,不屬于免費軟件,自由軟件屬于免費軟件

                  3

                  因特網中的IP地址可以分為A類、B類、C類、D類等。在下列4IP地址中,屬于C類地址的是_________ 。

                  A.28.129.200.19

                  B.88.129.200.19

                  C.188.129.200.19

                  D.222.129.200.19

                  D

                  解析:AIP地址首個數字的范圍是0—127, BIP地址首個數字范圍是128-191,CIP地址首個數字范圍是192—223范圍內,

                  4

                  通常所說的TCP/IP協議,是指由100多個協議組成的協議系列(包含下列幾個協議)。在下列協議中,發送電子郵件主要依賴______.

                  A.HTTP協議

                  B.FTP協議

                  C.Telnet協議

                  D.SMTP協議

                  D

                  解析:HTTP是上網時所用的協議,FTP是文件傳輸時使用的協議,Telnet是遠程登錄協議

                  4

                  下列有關采用ADSL技術接入因特網的敘述中,錯誤的是_________

                  A.計算機中需要安裝(集成)以太網網卡

                  B.需要使用專用的ADSL MODEM設備

                  C.上行與下行傳輸速率相同,傳輸速率可達100Mbps

                  D.可傳送數據、音頻、視頻等信息

                  C

                  解析:ADSL上行與下行傳輸速率不相同,上行傳輸速率小于下行傳輸速率

                  4

                  下列有關漢字字符集及其編碼的敘述中,錯誤的是_________

                  A.GB2312是我國頒布的第一個漢字編碼國家標準,該標準包含了6000多個漢字

                  B.GB2312的所有字符在計算機內都采用2個字節來表示

                  C.GBK收錄了包括繁體字在內的20000多個漢字和符號,它向下兼容GB2312

                  D.GB18030是我國最新頒布的漢字編碼標準,它與GB2312GBK均不兼容

                  D

                  解析: GB18030是我國最新頒布的漢字編碼標準,它與GB2312GBK均保持兼容

                  5

                  語音在數字化時常用的取樣頻率為8kHz、量化位數為8bits。若聲道數為2,則每分鐘的數字語音數據量在未壓縮時大約為_________

                  A.64KB 

                  B.128KB

                  C.1MB

                  D.2MB

                  C

                  解析:8Khz*8b*2*60=8000b*8b*2*60=8000*960b/8=8000*120B=960 000B大約為1MB

                  5

                   

                  第二部分  C程序設計

                  一、選擇題(用答題卡答題,答案依次填在21-30答題號內)

                  已有聲明”int x,a=3,b=2;”,則執行賦值語句”x=a>b++?a++:b++;”,變量x、a、b的值分別為______ 。

                  A3 4 3   

                  B3 3 4  

                  C3 3 3

                  D4 3 4

                  A

                  解析:根據運算符規則,首先執行b++,因為++b之后,所以首先返回b的值2,然后b自增1變為3,a>2返回真值,所以執行a++,同樣++在后邊,首先返回a的值3,然后a自增1變為4,x=3,所以x,a,b的值分別是3,4,3

                  5

                  已有聲明"int a,b,k;",以下語句中與"if(a>b) k=0; else k=1;"等價的是_________。

                  A.k=a<=b;

                  B.k=a

                  C.k=a>b;

                  D.k=(a>b)?1:0;

                  A

                  解析題目中if語句作用是a>b條件成立時給k賦值0,不成立執行給k賦值1,與選項A符合

                  5

                  已有結構定義和聲明如下
                  struct
                  {
                    int len;
                    char *str;
                  }s, *p=&s;
                  以下敘述中正確的是_______。

                  A. *p->str++(*p)->str++等價

                  B.(p++)->lenp++->len不等價

                  C.++p->len使p1

                  D.++p->len使p指向的結構變量中成員len1

                  D

                  解析:根據運算符的優先級,->的優先級高于++,++的優先級高于*, 所以首先執行->然后執行++,所以A選項錯誤。B選項是等價的。

                  11

                  已有聲明“int i; char c, s[20];”,現要求從輸入序列“123, b45efg”中將123看作十進制整數字符串轉換為int整型數據后讀入變量i,'b'讀入變量c、將"45efg"讀入數組s,正確的scanf語句應為_______。

                  A.scanf("%d,%c%s",i,c,s);

                  B.scanf("%d,%c%s",&i,&c,s);

                  C.scanf("%d%c%s",&i,&c,s);

                  D.scanf("%d%c%c%s",&i,&c,s);

                  B

                  解析: A選項錯誤,scanf獲取值時,變量必須以地址的形式,i,c要修改為&i,&c。C選項沒有在%d%c之間加,,這樣導致將符號,賦值給變量c了。D選項中格式符與變量不匹配,s是地址,卻對應了%c。

                  5

                  以下函數的功能是__________。
                  int fun(char *s, char *t)
                  { 
                     for(; *s==*t; s++,t++)
                       if(*s=='\0'&&*t=='\0')  return (0);
                     return(*s-*t);
                  }

                  A.求字符串s和字符串t的長度差

                  B. ASCII編碼值比較字符串s和字符串t

                  C. 連接字符串s和字符t

                  D. 將字符串s復制到字符串t

                  B

                  解析:for循環的作用比較*s是否等于*t,如果相等就執行下一次循環,否則for循環停止,具體見視頻詳細解析

                  10

                   

                   

                  C填空題

                  以下程序運行時,輸出結果中第一行是_________,第二行是_________。
                  #include
                  #define SIZE 6
                  int main()
                  {  
                      void fun(char *a, int t1, int t2);
                      char s[SIZE] ; int i ;
                      for(i=0;i       s[i]= 'a'+i;
                      fun(s,0,SIZE/2);
                      for(i=0;i       printf("%c",s[i]);
                      printf("\n");
                      fun(s,SIZE/2,SIZE-1);
                      for(i=0;i       printf("%c",s[i]);
                      printf("\n");
                      return 0;
                  }
                  void fun(char *a, int t1, int t2)
                  {
                     char ch ;
                     while(t1   { 
                        ch=*(a+t1) ;
                        *(a+t1)=*(a+t2) ;
                        *(a+t2)=ch ;
                        t1++ ;
                        t2-- ;
                     }
                  }

                  dcbaef@dcbfea

                  解析:具體見視頻詳細解析

                  10

                  以下程序運行時,輸出結果中第一行是_________,第二行是_________。
                  #include
                  int main()
                  {
                     int i;
                     for(i=0;i<10;i=i+2)
                        switch(i%3)
                        {
                           case 0:     printf("*");
                           case 1:     printf("#");   break;
                           default:    printf("\n");    
                        }
                     return 0;
                  }

                  *#@#*#

                  解析:具體見視頻詳細解析

                  6

                  以下程序運行時,輸出結果中第一行是_________,第二行是_________。
                  #include
                  #define N 4
                  int main()
                  { 
                     int i=3,j,k=6 ;
                     int a[5]={5,3,2,1} ;
                     while(i>0 && k>a[i]) i-- ;
                     for(j=N-1 ; j>=i ; j--)
                         a[j+1]=a[j] ;
                     a[j+1]=k ;
                     for(i=0 ; i<=N ; i++)
                         if( !(a[i]%2))
                            printf("=\n",a[i]);
                  return 0 ;
                  }

                  6@2

                  解析:具體見視頻詳細解析

                  7

                  以下程序運行時,輸出結果中第一行是_________,第二行是_________。
                  #include
                  #include
                  void test(int m)
                  {
                     int i;
                     char *s1;
                     if(m>1)
                     {
                        s1=(char *)malloc(m+1);
                        for(i=0; i        s1[i]=i+'A';
                        s1[i]= '\0';
                        printf("%s\n",s1);
                        test(m-3);
                     }
                     else
                        printf("Last");
                  }
                  int main()
                  {
                     int n=5;
                     test(n);
                     return 0;
                  }

                  ABCDE@AB

                  解析:具體見視頻詳細解析

                  10

                  以下程序運行時,輸出結果中第一行是__________,第二行是__________。
                  #include
                  #include
                  int main()
                  {
                     char str[8][10]={ "Aser","Jordan","England","China",
                                "Mongland","Korea","Japan","India"};
                     char p[10];
                     int i,j;
                     for(i=0;i<8;i++)
                     {
                       for(j=i+1; j<8; j++)
                       {
                           if(strcmp(str[i],str[j])<0)
                            {  strcpy(p,str[j]);
                               strcpy(str[j],str[i]);
                               strcpy(str[i],p);
                                 }
                          }
                       puts(str[i]);
                     }
                     return 0;
                  }

                  Mongland@Korea

                  解析:具體見視頻詳細解析

                  7

                   

                   

                   

                  C操作題

                  一、(完善程序)

                  【要求】

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

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

                   

                  【程序功能】

                  某人有51塊,32塊和43塊的游戲幣,求解使用這些游戲幣能組合出多少種不同面值的游戲活動。

                  【運行結果】

                  24 kinds: 

                  0,3,6,9,12,2,5,8,11,14,4,7,10,13,16,15,18,1,17,19,20,21,22,23,

                  【待完善的源程序】

                  #include

                  #include

                  int  getZuhe(     (1)    )  

                  {

                       int i,j,k,m,s,n=0;

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

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

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

                           {

                              s=      (2)      ;   

                              for (m=0;m

                                if(s==a[m]) break;     

                              if(    (3)     ) 

                                 a[n++]=s; 

                           }

                       return n;

                  }

                  int main()

                  {

                        int k, kind;

                        int a[120]={0};  

                        kind=getZuhe(a);

                        printf("\n%d kinds:",kind);

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

                            printf("%d,", a[k]);

                        getch();

                        return 0;

                  }

                  int a[]@i+2*j+k*3i*1+j*2+k*3@m==nm>=n@k

                  解析:

                  (1) int a[]

                  (2) i+2*j+k*3

                  (3) m==nm>=n

                  (4) k

                  具體見視頻詳細解析

                   

                  二、(改錯題)

                  【要求】

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

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

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

                   

                  【程序功能】

                     函數int fun(int num[],int n,char res[][50])的功能是對num指向的數組中n個整數中的每個整數r尋找滿足等式“xyz+yzz=r”x、y、zx、y、z分別代表一位十進制數字)。如果找到一組x, y, z使得等式成立則生成一個等式字符串存儲到res數組的一行中,如果未找到就將“not found for”字符串存入res數組的一行中,函數返回num數組中滿足上述等式的整數個數。

                  函數void itostr(int n,char *s)的功能是將整數n轉換為一個十進制表示的字符串存入s指向的數組中。

                  【測試數據與運行結果】

                  測試數據: 762, 145, 678

                      輸出: found 2 equations for 3 nums

                      251+511=762

                      not found for 145

                      334+344=678

                  【含有錯誤的源程序】  

                  #include

                  #include

                  #include

                  int main()

                  {

                     int fun(int num[],int n,char res[][50]);

                      int num[3]={762,145,678};

                      char res[10][50],ct,i;

                      ct=fun(num,3,res);

                      printf("found %d equations for %d nums\n",ct,3);

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

                          puts(res);  

                      getch();

                      return 0;

                  }

                  void itostr(int n,char *s)

                  {

                      int i=0,j;

                      char ch;

                      while(n>10)     

                      {

                          s[i++]=n+'0'; 

                          n=n/10;      

                      }

                      s[i]='\0';

                      j=0,i--;

                      while(j

                      {

                          ch=s[i]; s[i]=s[j]; s[j]=ch;

                          i--,j++;

                      }

                  }

                  int fun(int num[],int n,char res[][50])

                  {   int x,y,z,i,j,k,f,ct=0;

                       char tmp[50];

                       for(k=0;k

                      {

                          for (f=0,i=100;i<=999;i++)

                          { 

                              y=i/10;   

                              z=i;

                              if (i+100*y+10*z+z=num[k])  

                             { 

                                  itostr(i, tmp);

                                  strcpy(res[k],tmp);

                                  strcat(res[k],"+");

                                  itostr(100*y+10*z+z,tmp);

                                  strcat(res[k],tmp);

                                  strcat(res[k],"=");

                                  itostr(num[k],tmp);

                                  strcat(res[k],tmp); 

                                  f=1;

                                  ct++;

                                  break;

                            }

                          }

                          if(!f)

                          {

                              strcpy(res[k],"not found for ");

                              itostr(num[k],tmp);

                              strcat(res[k],tmp);

                          }

                      }

                      return ct;

                  }

                   

                  puts(res[i])@i+100*y+10*z+z==num[k]@n>0@y=i/10;

                  解析:

                  (1) puts(res[i])

                  (2) i+100*y+10*z+z==num[k]

                  (3) n>0

                  (4) y= i/10;

                  具體見視頻詳細解析

                  三、(編程題)

                  【要求】

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

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

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

                  【程序功能】

                  計算一個歌唱比賽參賽選手的得分。

                  假設有N個裁判給一個參賽選手打分(分值在010之間)。選手得分計算方法為:去掉一個最高分和一個次高分,再去掉一個最低分和一個次低分,所剩分數的平均分作為該參賽選手的最后得分。

                  【編程要求】

                      1.  編寫函數double getscore(double *score) 。函數形參score指向的數組中存放N個裁判給一個參賽選手的打分。函數功能是依據score數組中的分數按上述方法計算一個參賽選手的最后得分,并作為函數返回值返回。

                      2.  編寫main函數。函數功能是聲明數組score并用測試數據初始化,用score數組作為實參調用getscore函數計算數組score中參賽選手的最后得分,將score數組中數據及該選手的最后得分輸出到屏幕及文件myf2.out中。最后將考生本人準考證號輸出到文件myf2.out中。

                  【測試數據與運行結果】

                  測試數據:

                      9.47  9.56  9.96  10.00  9.75  9.78  9.95  9.86  9.82  9.18

                  輸出:

                  9.47  9.56  9.96  10.00  9.75  9.78  9.95  9.86  9.82  9.18

                  last score =  9.79

                   

                   

                  #include

                  #include   //函數exit(0)需要

                  #define N 10

                  double getscore(double *score)

                  {   int i;

                      double num,sum=0,max=score[0],min=score[0],max2=-1,min2=11;

                      for(i=0;i      //搜索最高分和最低分

                         {

                                if(score[i]>max) max=score[i];

                                if(score[i]

                         }

                         for(i=0;i      //搜索次高分和次低分

                         {

                                if(score[i]>max2&&score[i]

                                if(score[i]min) min2=score[i];

                         }

                         num=i-4;

                      for(i=0;i     

                         {

                         sum=sum+score[i];

                         }

                      sum=sum-max-max2-min-min2;

                      return sum/num;  //返回參賽選手的最后得分              

                  }

                  int main()

                  {   int i;

                         double score[20]={9.47,9.56,9.96,10.00,9.75,9.78,9.95,9.86,9.82,9.18},average; FILE *fp;

                      if((fp=fopen("myf2.out","w"))==NULL)

                         { printf("\nCan't open the file!"); exit (0);}

                      average=getscore(score);

                         printf("\n測試數據:\n"),fprintf(fp,"\n測試數據:\n");

                      for(i=0;score[i]!='\0';i++)

                                printf("%6.2lf",score[i]),fprintf(fp,"%6.2lf",score[i]);

                         printf("\n"),fprintf(fp,"\n");

                      printf("last score=%4.2lf\n",average),fprintf(fp,"last score=%4.2lf\n",average);

                      printf("\nMy number is:001122\n"),fprintf(fp,"\nMy number is:001122\n");

                         fclose(fp); 

                      return 0;

                  }

                   

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