江蘇省高校計算機等級考試命題研究院 江蘇省高校計算機等級考試輔導
2015年秋江蘇省計算機等級考試二級C考試樣卷


江蘇省高等學校計算機等級考試
二級C考試(樣卷)
(本試卷完成時間  120分鐘)
第一部分  計算機信息技術基礎知識

 

本題目的視頻講解見:http://school.njwww.net/kecheng/detail_946748
選擇題(共20分,每題2分)
1.下列關于數字技術與微電子技術的敘述中,錯誤的是______ 。
A.數字技術的處理對象是"比特",一個觸發器可以存儲2個比特
B.在數據通信時,遠距離傳輸或者無線傳輸時需要用比特對載波進行
C.現代集成電路使用的半導體材料主要是硅
D.我國第2代居民身份證中使用了非接觸式IC芯片
2.下列關于臺式PC芯片組的敘述中,錯誤的是______ 。
A.芯片組是主板上最為重要的部件之一,存儲器控制、I/O控制等功能主要由芯片組實現
B.芯片組與CPU同步發展,有什么樣功能和速度的CPU,就需要使用什么樣的芯片組
C.芯片組決定了主板上能安裝的內存最大容量及可使用的內存條類型
D.同CPU一樣,用戶可以很方便、很簡單地更換主板上的芯片組
3.下列關于I/O設備的敘述中,錯誤的是______。
A.目前平板電腦、智能手機的觸摸屏大多為"多點觸摸屏",可同時感知屏幕上的多個觸控點
B.掃描儀可分為手持式、平板式和滾筒式等類型,目前普通家用/辦公用掃描儀大多為滾筒式
C.目前一些型號的數碼相機已具有拍攝視頻和進行錄音的功能
D.為了降低成本,目前許多PC采用集成顯卡,其顯示控制器被集成在芯片組中
4.下列關于PC外存儲器的敘述中,錯誤的是____。
A.目前PC采用的硬盤,其盤片的直徑通常為3.5英寸、2.5英寸或1.8英寸
B.U盤和存儲卡都是采用閃爍存儲器制作的,目前其容量大多為幾GB至幾十GB
C.目前固態硬盤的存儲容量大多為數百GB,但其讀寫速度遠不如傳統硬盤(硬磁盤)
D.藍光光盤是目前最先進的大容量光盤,單層盤片的存儲容量可達25GB
5.下列關于Windows操作系統功能的敘述中,錯誤的是______。
A.對于多任務處理,系統一般采用按時間片輪轉的策略進行處理器調度
B.系統采用了虛擬存儲技術進行存儲管理,其頁面調度算法為"最近最少使用"( LRU)算法
C.系統支持多種文件系統(如FAT32、NTFS、CDFS等)以管理不同的外存儲器
D.系統支持任何I/O設備的"即插即用"和"熱插拔"
6.下列關于程序設計語言的敘述中,錯誤的是____。
A.雖然機器語言不易記憶、機器語言程序難以閱讀和理解,但目前還有很多人使用其編寫程序
B.匯編語言與計算機的指令系統密切相關,不同類型的計算機,其匯編語言通常不同
C.VBScript語言是VB的子集,用其編寫的程序可以嵌入在HTML文檔中以擴充網頁的功能
D.Java語言是一種適用于網絡環境的程序設計語言,目前許多手機軟件就是用Java編寫的
7.下列關于通信技術的敘述中,錯誤的是______。
A.調制與解調技術主要用于模擬通信,在數字通信中不需要使用調制與解調技術
B.使用多路復用技術的主要目的是提高傳輸線路的利用率,降低通信成本
C.在數據通信中采用分組交換技術,可以動態分配信道資源,提高傳輸效率和質量
D.數據通信網絡大多采用分組交換技術,但不同類型網絡的數據包格式通常不同
8.Internet使用TCP/IP協議實現了全球范圍的計算機網絡的互連,連接在
Internet上的每一臺主機都有一個IP地址。目前使用的是IPv4標準(32位地
址),下一代互聯網將會采用IPv6標準,其IP地址為____。
    A.48位
    B.64位
    C.96位
    D.128位
9.下列關于字符編碼標準的敘述中,錯誤的是____。
A.在ASCII標準中,每個字符采用7位二進制編碼
B.在絕大多數情況下,GB2312字符集包含的1萬多個漢字足夠使用
C.Unicode字符集既包含簡體漢字,也包含繁體漢字
D.中文版Windows XP及其后的Windows系列操作系統均支持國標GB18030
10.由于采用的壓縮編碼方式及數據組織方式的不同,圖像文件形成了多種不同的文件格式。在下列四種圖像文件中,常用于網頁上發布并可具有動畫
效果的是    。
A. BMP
B.JPEG
C.GIF
D. TIF
參考答案:
1.A    3.B  2.D    4.C   5.D   6.A   7.A  8.D  9.B  10.C

第二部分  C語言程序設計
    一、選擇題(共10分,每題2分)
    1.以下語句中有語法錯誤的是____。
    A. printf(”%d”,OxAB);
    B. printf(”%f”,3.45E2.5);
    C.printf(”%d”,037);
    D.printf(”%c”,'\\');
    2.已有聲明“int x=5,y.float z=2;”,以下表達式中語法正確的是___ 。
    A.y= x%z
    B.x >0? y=x:y=-x
    C.y =x/2 =z
    D.y =x =z/2
    3.-元二次方程ax2 +bx +c =0有兩個相異實根的條件是a≠0且b2—
4ac >0,以下選項中能正確表示該條件的C語言表達式是    。
    A.a!=0,b*b-4*a*c >0
    B.a!=0 11 b*b -4*a*c >0
    C.a && b*b -4 *a*c >0
    D.!a&& b*b -4*a*c >0
4.若有一函數定義為“int f(int x,int *y){return x/*y;}”,聲明該函數的
正確形式是
A.void f(int,  int);
B.int *f(int ,int *);
C.int f(int * ,int *);
D.int f(int, int *);
5.已有定義和聲明:
struct student
{ int no;
  char name[20];
  struct{ int year, month, day;}birth;
}  s;


    若要求將日期“1989年11月12日”保存到變量s的birth成員中,則能實
現這一功能的程序段是 ______ 。
A.  year=1989;  month=11;  day=12;
B.  s.year=1989;  s.month=11;  s.day=12;
C.  birth.year=1989; birth.month=11; birth.day=12;
D.  s.birth.year =1989;  s.birth.month=11;  s.birth.day=12;
二、填空題(共20分,每空2分)
1.以下程序運行時輸出到屏幕的結果中第一行是 ___(1)___    第二行是
___(2)___    。
#include  < stdio.h >
int main( )
{  int s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i,j;
   for(i=0;i<12 ;i++ )
   {  j=s[i];
      c[j]++;
    }
   for(i=1;i<5;i++)
     printf( "%d:%d\n" ,i,c[i]) ;
   return 0 ;
  }
  
2.以下程序運行時輸出到屏幕的結果中第一行是___(3)___,第二行是
___(4)___    。

    #include
    int fun( int x)
    {static int c,y;
     if(c==0)y=1;
     else y=y+x;
     c++;
     return y;
    }
    int main()
    {int i;
     for(i=0;i<2;i++)
        printf(”%d\n", fun(2));
      return 0;
    }
3.以下程序運行時輸出到屏幕的結果中第一行是 ___(5)___    第二行是
___(6)___    。
#include
void fun(int  * a,int b)
{ while( b >0) 
  {  *a+=b;
     b-- ;
   }
}
int main( )
{   int x=0,y=3;
    fun(&x,y);
    printf( "%d\n%d" ,x,y) ;
    return 0 ;
}
4.以下程序運行時輸出到屏幕的結果是 ___(7)___    。
#include  < stdio.  h >
int f(int x)
{    if( x ==0||x == 1)  return 3 ;
     return x * x - f(x-2) ;
}

int main( )
{    printf( " %d\n" , f(3)) ;    return 0;}
5.以下程序運行時輸出到屏幕的結果中第一行是 ___(8)___    ,第二行是
___(9)___ ,第三行是___(10)___ 。算法提示:將Fibonacci數列(1,1,2,
3,5,8,13,...)前6個數填入a數組。
#include 
#define N 3
int main( )
{   int i,j,a[N][N] ={1} ,f1 =0,f2 =1,temp;
    for(i=1;i      for(j=0;j<=i;j++)
      {  if(j<=i)
         {a[i][j]=f1+f2;
          temp = f1 ;
          f1 = f2 ;
          f2 = f1 +temp;
         }
       }
    for(i =0;i    {for(j=0;j        printf(”]”,a[i][j]);
     printf(”\n”);
    }
    return 0;
 }
三、操作題(共50分)
1.完善程序(共12分,每空3分)
    【要求】
    1.打開T盤中的文件myf0.c,按以下程序功能完善文件中的程序。
    2.修改后的源程序仍保存在T盤myf0.c文件中。
    【程序功能】
    根據輸入的年份及該年中的第幾天,計算并輸出這一天的“年/月/日”。例如,
若輸入“2010,100”,則輸出“2010/4/10(表示2010年的第100天是4月10日)”。
    提示:能被4整除并且不能被100整除的年份是閏年,能被400整除的年份
也是閏年,其他年份是平年。


【待完善的源程序】
#include
#include
int leap( int year)
{  int y;
   y =  year% 4 == 0  && ___(1)___ || [email protected]==0;
   return y;
}
void month_day ( int year,int yearday, int   * month , int   *  day)
 {  int k,p;
    int tab[2][13]  = { {0,31,28, 31,30,31,30,31,31,30,31,30,31} , {0,31, 29,
    31,30,31,30,31,31,30,31,30,31} } ;
    p =leap( year);
    for( k =1; yearday > ___(2)___ ;k++ )
       yearday = yearday - tab[p][k] ;
    *month = k;
    * day =___(3)___;
  }
int main( )
{  int year,days,month,day ;
   printf( "Input year and days ! \n" ) ;
   scanf( "%d, %d" , &year, &days) ;
   if(leap( year) ==1  && days <= 366  ||  leap( year) == 0 && days <= 365)
   {  month_day(year,days,___(4));
      printf("\n%d/%d/%d",year,month,day);
    }
    else puts("days is Wrong!");
    getch();
    return 0;
}
2.改錯(共16分,每個錯4分)
    【要求】
    1.打開T盤中的文件myf1.c,按以下程序功能改正文件中程序的錯誤。
    2.可以修改語句中的一部分內容,調整語句次序,增加少量的變量說明或
編譯預處理命令,但不能增加其他語句,也不能刪去整條語句。
    3.修改后的源程序仍保存在T盤myf1.c中。
    【程序功能】
    下列程序中函數wordsearch的功能是將a指向的字符串中所有回文單詞復
制到b指向的二維數組中(一個回文單詞存儲在b數組的一行中),函數返回b
數組中回文單詞的個數。
    回文單詞是指:一個單詞自左向右讀與自右向左讀相同(字母不區分大小
寫)。例如,Dad是回文單詞。
【測試數據與運行結果】
測試數據
:Dad left home at noon.
屏幕輸出:found  2  words
    Dad
    noon
【含有錯誤的源程序】
#include 
#include 
#include 
int wordsearch( char a[ ] , char b[ ][10] )
{   int i,j,k,m,n,t,c =0,d;
    for(i=0;a[i];i++)
    {   for(j =i, k =i;isalpha(a[k]);k++ ) ;
        m =j;n = k -1;
        while (toupper(a[m] )==toupper(a[n]) && m<=n)
        {m++; n--;}
        if(m==n)
        {  for(d=0, t=j;t             b[c][d]=a[t];
           b[c][d]='\0';
           c++;       
        }
        i=k;
       }
    return c ;
}
int main( )
 {   char s1 = " Dad left home at noon.  " ;
    char s2[10] [10] ;
    int i,j;
    puts(s1) ;
    j = wordsearch( s1 , s2) ;
    printf( "found   % d  words\n" ,j) ;
    for(i=0;i       puts ( s2) ;
    getch();
    return 0;
 }
3.編程(共22分)
    【要求】
    1.打開T盤中的文件myf2.c,在其中輸入所編寫的程序,輸出結果數據文
件取名myf2. out。
    2.數據文件的打開、使用、關閉均用C語言標準庫中緩沖文件系統的文件
操作函數實現。
    【程序功能】
    判斷一個NxN矩陣是否為幻方陣。
    幻方陣是指一個矩陣中每行元素之和、每列元素之和及左右主對角線上元
素之和均相等。
    【編程要求】
    1.定義符號常量N代表5。
    2.編寫函數int judge( int a[N][N])。函數功能是判斷a指向的一個N行N
列二維數組中存儲的矩陣是否為幻方陣,如果是則函數返回1,否則返回0。
    3.編寫main函數。函數功能是聲明二維數組x并用測試數據初始化,用x
數組作為實參調用judge函數進行判斷,將x數組中數據及以“yes”或“no”表示
的判斷結果輸出到屏幕及文件myf2.out中。最后將考生本人準考證號字符串
輸出到文件myf2.out中。
    【測試數據與運行結果】
    測試數據:
      17 24  1   8  15
      23  5  7   14 16
      4   6  13  20 22
      10 12  19  21 3
      11 18  25  2  9
屏幕輸出:
      17 24  1   8  15
      23  5  7   14 16
      4   6  13  20 22
      10  12 19  21  3
      11  18 25  2   9
      yes

 

參考答案:
第一部分  計算機信息技術基礎知識
選擇題
1.A    3.B    5.D    7.A    9.B
2.D    4.C    6.A    8.D    10.C
第二部分  C語言程序設計
一、選擇題
(1)B    (2)D    (3)C    (4)D    (5)D
二、填空題
(1)1:4
(2)2:3
(3)1
(4)3
(5)6
(6)3
(7)6
(7)1  0  0
(9)1  2  0
(10)3  5  8


三、操作題
1.完善程序
#include
#include
int leap( int year)
{   int y;
     y =  year% 4 == 0 && year% 100 !=0 || year% 400 == 0;
     return y;
}
void month_day(int year,int yearday, int  * month,int  * day)
{    int k,p;
     int tab[2][13]  = {{0,31,28,31,30,31,30,31,31,30 ,31,30,31} ,
         {0,31,29,31,30,31,30,31,31,30,31,30,31} } ;
     p =leap(year) ;
     for(k =1; yearday > tab[p][k] ; k++ )
        yearday = yearday - tab[p][k];
        * month = k ;
        * day = yearday ;
     int main ( )
     {int year, days , month , day ;
      printf( "Input year and days!   \n" ) ;
      scanf( "%d, %d" , &year, &day) ;
      if(leap(year) == 1  && days <= 366  ||  leap( year) == 0 && days<= 365  )
      {     month_day(year,  days,  &month , &day    ) ;
           printf( "  \n %d/%d/%d "  , year,month , day)  ;
      }
      else   puts( " days is ,wrong! " ) ;
      getch( ) ;
      return 0;
 }

2.改錯

#include  < stdio.h >
#include  < conio.h >
#include  < ctype.h >
int wordsearch( char a[ ] , char b[ ][10] )
{    int i,j,k,m,n,t,c =O,d;
     for(j=i, k=i;isalpha(a[k]) ;k++ ) ;
        m =j;n = k -1;
     while(toupper(a[m])== toupper(a[n]) && m <= n)
     {m++;n--;}
     if(m==n)                      /*改為if(m>n) */
     {  for(d=0,t=j; t           b[c][d]=a[t];          /*改為b[c][d++]=a[t];  */
        b[c][d]='\0';
        c++ ;
     }
     i= k;
   }
   return c ;
}

int main( )
{    char s1 = " Dad left home at noon. " ; /*改為 char s1[ ] = " Dad left home at noon. " ; */
     char s2[10][10] ;
     int i,j;
     puts(s1) ;
     j = wordsearch(s1 , s2) ;
     printf( " found    % d    words\n" ,j) ;
     for(i=0; i       puts( s2) ;                                       /*改為 puts(s2[i]) ; */
     getch( ) ;
     return 0;
  }

3.編程

#include  < stdio.  h >
#define N 5
int judge(int a[N][N])
{   int i,j,b[N+N+2] = {0} , * p1, *p2;
    for(i=0; i      for(j=0; j        b[i]+=a[i][j];
    for(j=0;j      for(i=0;i        b[N+j]+=a[i][j];
    for(i=0;i       b[N+j]+=a[i][i];
     for(i=0;i       b[N+1+j]+=a[i][N-1-i];
      p1=b; p2=b+N+N+1;
     while(p1    if( * p1 != * ( p1 + 1)) return 0;
    else p1++ ;
    return 1 ;
int main( )
{    int i,j,x[N][N] = {{ 17,24,1,8,15 } , { 23,5,7,14,16 } , {4,6,13 ,20,22} ,
                                {l0 ,12 ,19 ,21,3 } , {11,18 ,25,2,9 } } ;
     FILE *fp;
     fp = fopen( " myf2.out"  , "w" ) ;
     for(i=0;i     {  for(j=0;j        { printf("M",x[i][j]);
          fprintf( fp, " % 4d" ,x[i] [j] ) ;
        }
     }
     printf( " \n" )  ;       fprintf( fp , " \n" )  ;
     if(judge( x))
     {     fprintf( fp , " yes" ) ;  printf( " yes" ) ;      }
     else
     {   printf( "no" )  ;  fprintf( fp, " no" )  ;       }
         fprintf( fp , " \nMy  exam  numbler is :0112400123 " ) ;
         fclose( fp) ;
         return 0 ;
     }

 

本套題目的視頻講解: http://school.njwww.net/kecheng/detail_946748

彩票30选5开奖结果