<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秋江蘇省計算機二級C++考試樣卷

                  江蘇省高等學校計算機等級考試
                  二級Visual C++考試(樣卷)
                  (本試卷完成時間  120分鐘)

                   

                  本套試卷的視頻講解見:http://school.njwww.net/kecheng/detail_921575


                  第一部分  計算機信息技術基礎知識
                  選擇題(共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

                  第二部分  Visual C++程序設計
                      一、選擇題(共10分,每題2分)
                      1.設有說明:“char s[100]="my\'s apple. \nyour=\65";”,則strlen(s)
                  的值是____。
                      A.19    B.24    C.27    D.28
                      2.下列有關break和continue語句的敘述中,正確的是____。
                      A.前者用于循環語句,后者用于switch語句
                      B.前者用于循環語句或switch語句,后者用于循環語句
                      C.前者用于switch語句,后者用于循環語句
                      D.前者用于循環語句,后者用于循環語句或switch語句
                      3.以下關于函數重載的敘述中,正確的是____。
                      A.函數名相同,函數的參數個數和參數類型也相同,但函數的返回值的類型不同
                      B.函數名相同,函數的參數個數必須不同,對參數類型和函數的返回值的類型沒有限制
                      C.函數名相同,函數的參數類型必須不同,對參數個數和函數的返回值的類型沒有限制
                      D.函數名相同,函數的參數個數或者參數類型不同,對函數的返回值的類型沒有限制
                    4.以下有關類的敘述中,不正確的是____。
                    A.類是一組對象的模板
                    B.類是數據和函數(方法)的封裝體
                    C.在類中定義數據成員時,可直接對數據成員設置初值或賦值
                    D.對象是類的實例,類聲明在前,而對象定義在后
                    5.以下有關運算符重載的敘述中,正確的是____。
                    A.能用成員函數重載的運算符,均能用友元函數重載
                    B.能用友元函數重載的運算符,均能用成員函數重載
                    C.用成員函數或友元函數重載同一運算符時,兩者的參數類型與個數相同
                    D.通過運算符重載,能改變運算符的優先級


                  二、填空題(共20分,每空2分)
                  1.[程序]
                  #include 
                  int fun(int x, int &y)
                  {  int a=x;
                     static int b =10;
                     x=a+y; y=b+y; b=y+a;
                     return (x++) ;
                  }
                  void main( void)
                  {   int x=1, y=5;
                      for(int i=0; i<3; i++) {
                        cout<    }
                  }
                  執行程序后,輸出的第一行是___(1)___    ,第二行是 ___(2)___


                  2.[程序]
                  #include
                  int *p;
                  void fun(int a, int &b)  {
                      p=&b;
                      a+=*p;   b+=a;
                      cout<}
                  void main( void)
                  {
                    int x = 20, y = 30 ;
                    fun(x, y) ;
                    cout<< x<<'\t'<}
                  執行以上程序后,輸出的第一行是___(3)___,第二行是___(4)___.
                  3.[程序]
                  #include 
                  int n1 =O,n2=O,n3=0 ,n4=0;
                  class T{
                    public :
                      T(int a) {    ia = a;   n1++ ;       }
                      void print( )    {  cout<    int Getia() {return ia;}
                    private :
                      int ia;
                  };
                  class S1 : public T{
                      int x;
                    public :
                      S1(int a,int c) :T(a)     { x=c;   n2++ ;  }
                      void printS1( )    {  cout<< Getia( )<<'\t'<};
                  class S2 : public T{
                      int y;
                  public :
                      S2(int a) :T(10)   {   y=a;   n3++ ;   }
                      void printS2 ( )     { cout<};
                  class S : public S1, public S2 {
                      int xx;
                  public :
                       S ( int a , float b,int c,int d) :S1(a,b) ,S2(c) {     xx = d;    n4 ++ ; }
                       void printS( ) { cout<

                  };
                  void main( void)
                   {    T t1(2) ;     S1 t2(3,4) ;
                       S2 t3(5) ;   S  t4(6,7,8,9) ,  * p;
                       p=&t4;
                       p->printS( );    p->printS1( ) ;    p->printS2( ) ;
                       cout<}
                      執行程序后,輸出的第二行是___(5)___ ,第三行是___(6)___ ,第四行是___(7)___    。
                  4.[程序]
                  #include
                  class A{
                  public :
                       int x,y;
                       A(int a,int b)
                       {x=a;  y=b;}
                       virtual void display( )  { cout<};


                  class B : public A{
                    public :
                       int z;
                       B(int a,int b,int c) :A( a,b)    {   z =c; }
                       void display( )  { cout<< x<<'\t'<< y<<'\t'<< z<< endl; }
                  };
                  class D: public B {
                  public :
                       int m;
                       D(int a,int b,int c,int d) :B( a,b,c)   { m = d; }
                       void display( )  { cout<< x<<'\t'<< y<<'\t'<< z<<'\t'<};
                  class E :public A{
                   public :
                       int n;
                       E(int a,int b,int c) :A( a,b) {n =c;  }
                       void display1( )   { cout<<"E::"<};
                  void fun(A * p1)  {
                     p1-> display ( ) ;

                  }
                  void main( void)  -
                          A b0(10,20) , *p;
                          p = &b0;    fun(p) ;
                          B b1(30,40,50) ;
                          D d1( 31,41, 51,61) ;
                          p = &b1;      fun( p) ;
                          p = &d1;      fun( p) ;
                          E e1(100,200 ,300) ;
                          p = &e1;    fun(p) ;
                  }

                      執行以上程序后,輸出一共___(8)___行,其中第二行是___(9)___,第四行是___(10)___    。

                  三、操作題(共50分)
                      1.以下程序首先建立一條鏈表,然后按照如下順序刪除鏈表中的結點:以
                  鏈表的第一個結點為1號結點開始依次搜索,刪除所有序號為3的倍數的結
                  點,即刪除第3、6、9、……個結點,當搜索一遍結束后再從鏈表頭部繼續此操
                  作,直到鏈表的結點個數少于3個為止。(10分)
                      程序輸出為:

                  當前鏈表中的結點依次為:23 12  32  54 74 25  65  94  17  72
                  第1輪刪除的結點為:32 25 17
                  當前鏈表中的結點依次為:23 12 54 74 65  94 72
                  第2輪刪除的結點為:54 94
                  當前鏈表中的結點依次為:23 12 74 65 72
                  ... ...
                  第5輪刪除的結點為:72
                  鏈表中剩余的結點為:23  12
                  [程序]

                  #include 
                  struct node {
                      int data;
                      node *next;
                  };
                  node * insert(int x, node * head)
                  {
                       node *p;
                       p = new node;
                       p -> data = x;
                       p-> next= head;
                       return p;
                  }
                  void fun( node *head, int n)
                  {   node *p, *p1,*q;
                      int i,num =1;
                      if(!head) return;
                       while(n >2){
                          cout<<"當前鏈表中的結點依次為:";
                          p=head;
                          while(p){
                            cout<data<<"    ";
                            p=p->next;
                    }
                          cout<        p=head;
                          ___(1)___    ;
                          i=2;
                          while(q) {
                      if(i%3==0){
                            cout<< q -> data<<'\t';
                          ___(2)___    ;
                          delete q;
                          q=p->next;
                          n--;
                          i++;
                    }
                    else{
                            p=p->next;
                           i++;
                           __(3)___;
                        }
                     }
                      num++;
                      cout< }
                    cout<<"鏈表中剩余的結點為:";
                    p= head;
                    while(p){
                      cout<data<<" ";
                      ___(4)___;
                    }
                     cout<}
                  void main( void)
                  {
                      int a[10] ={23, 12, 32, 54, 74, 25, 65, 94, 17, 72 } ;
                      node  * head =0;
                      for(int i= 9; i >=0; i-- )
                        ___(5)___  ;
                      fun(head,10);
                  }
                      【要求】
                      ·打開T盤中MYFA. txt文件,將其復制到文件myfa.cpp中(或把上述程
                  序錄入到文件myfa.cpp中),根據題目要求及程序中語句之間的邏輯關系對程
                  序進行完善。程序中的注解可以不輸入。
                      ·完善后的源程序文件myfa. cpp必須放在T盤的根目錄下,供閱卷用。
                   2.程序改錯(20分)
                      【題目】以下程序的功能是:求1000000以內的所有平方回文數。平方回文
                  數是指該整數為某一整數的平方,且該整數的各位數字呈中心對稱。


                  正確程序的輸出結果如下:
                  1000000以內的平方回文數為:
                  121 484 676 10201 12321 14641 40804 44944 69696 94249 698896
                  含有錯誤的源程序如下:
                  #include
                  int pow(int m,int n)    //計算m的n次方
                  {  int t=0;
                     for(int i=0; i    t*=m;
                     return t;
                  }
                  int pingfanghuiwen( int a)
                  {  int temp,k,num, sum;
                     int count,i,n;
                     n=a*a;
                     count=0;
                     while( 1){  //計算n的位數
                       k=n-pow(10,count);
                     if(k<0)
                       continue ;
                     count ++ ;
                  }
                     sum =0;
                     num = n;
                     for(i=0; i     temp = num;
                       sum= sum+ temp*pow(10,  count -i);
                       num= num/10;
                     }
                    if(sum==n)
                      return 1;
                    else
                      return 0;
                  }
                  void main()
                  {  int i;
                     cout<<"1000000以內的平方回文數為:"<   for(i=10;i<1000; i++)
                        if( pingfanghuiwen(i))
                          cout<    cout< }
                  【要求】
                      ·打開T盤中MYFB.txt文件,將其復制到文件myfb. cpp中(或把上述程
                  序錄入到文件myfb. cpp中),根據題目要求及程序中語句之間的邏輯關系對程
                  序中的錯誤進行修改。程序中的注解可以不輸入。
                      ·改錯時,可以修改語句中的一部分內容,增加少量的變量說明、函數原型
                  說明或編譯預處理命令,但不能增加其他語句,也不能刪除整條語句。
                      ·改正后的源程序文件myfb. cpp必須放在T盤的根目錄下,供閱卷用。
                  3.程序編程題(20分)
                      【題目】字符串的并集定義為兩個字符串中所包含的所有字符(并集中字符
                  的排列順序不做要求,但不能重復)。試定義一個字符串類STR,求兩個字符串
                  的并集。具體要求如下:
                      (1)私有數據成員
                      ·char *p1,*p2;存放兩個原始字符串。
                      ·char *p;存放兩個字符串的并集。
                      (2)公有成員函數
                      ·STR( char s1[],char s2[]);初始化原始字符串并為指針p分配存儲空間。
                      ·void del(char *p);刪除p指向字符串中的重復字符。
                      ·void fun();求指針p1和p2所指向的兩個字符串的并集,結果存人指針p所指向的存儲空間,注意調用del()函數刪除結果中的重復字符。
                      ·void print();輸出兩個原始字符串及它們的并集。
                      ·~STR();析構函數,釋放動態內存。
                      (3)在主函數中對該類進行測試。
                      輸出示例:
                      原字符串:adb12345    abcdefg23xz
                      它們的并集為:adb12345cefgxz
                      【要求】
                      源程序文件名必須為myfc.cpp,并放在T盤根目錄下,供閱卷用。
                      參考答案:
                      一、選擇題
                      1.A    2.B    3.D    4.C    5.B

                  本套試卷的視頻演示見:school.njwww.net

                  二、填空題
                  1.6  15
                  2. 16  31
                  3. 50  80  80
                  4. 20 80 80
                  5. 6 7
                  6. 10 8
                  7. 5  2 2 1
                  8. 4
                  9. 30 40  50
                  10. 100  200
                  三、操作題
                  1 (1) q =head ->next
                      (2) p -> next =q ->next
                      (3) q =q ->next
                      (4) p =p ->next
                     (5) head =lnsert(a[i] , head)
                  2.
                  (1)  第3行的int t=0修改為   int t=1;
                  (2)  第16行的continue修改為 break
                  (3)第23行的count-i 修改為 count-i-1
                  (4)第34行的cout<

                  3.
                  #include
                  #include
                  class STR{
                      char *p1,  *p2,  *p;
                  public :
                      STR(char s1[ ] , char s2[ ])
                      {   int n1 = strlen ( s1)  + 1 ,  n2 = strlen( s2)  + 1 ;
                          strcpy( p1 = new char[n1] , s1) ;
                          strcpy( p2 = new char[n2] , s2) ;
                          p = new char[n1 + n2 + 1] ;
                       }
                       void fun( )
                       {   char *s=p1,  *p0 =p;
                           while(*p0++=*s+);
                           s=p2;
                           p0--;
                           while(*p0++=*s++);
                           del(p);
                        }
                       void del( char  * s)   
                       { while(*(s+1)){                                            //4分
                         for( char *s1 =s+1;  *s1; s1++ )
                            if(*s==*s1){
                              *s1='\0';
                              strcat( s,s1 +1) ;
                              s1--;
                            }
                         s++;
                        }
                    }

                  void print()
                  {  cout<<"原字符串:";
                     cout<   cout<<"它們的并集為:"<}
                    ~STR()
                   { delete []p1;
                     delete []p2;
                     delete []p;
                    }
                  };

                  void main( )                                           //2分
                  {    STR  s1("adb12345", " abcdefg23xz") ;
                       s1.fun( );
                       s1.print( );
                  }

                  本套試卷的視頻講解見:http://school.njwww.net/kecheng/detail_921575

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