<source id="v77gz"></source>
    <u id="v77gz"><p id="v77gz"></p></u>

      <samp id="v77gz"></samp>

      <var id="v77gz"><td id="v77gz"><ins id="v77gz"></ins></td></var>

      <video id="v77gz"></video>
      <source id="v77gz"></source>
    1. 江蘇省高校計算機等級考試命題研究院 江蘇省高校計算機等級考試輔導
      2010秋江蘇省二級C++考試真題

          絕密★ 啟用前

      2010年秋

      江蘇省高等學校非計算機專業學生

      計算機基礎知識和應用能力等級考試

      二級試卷

      試卷語種:C++語言

       

        明:

      1.本試卷包括計算機基礎知識部分和程序設計部分,考試時間共12 0分鐘;

      2.本試卷滿分為60分,分選擇題和填空題,試卷不分A、B類型;

      3.計算機基礎知識部分全部是選擇題(20),程序設計部分分為選擇題(1 0

        )和填空題(30)兩種;

      4.選擇題用答題卡答題。每一項有A、B、C、D四個可供選擇的答案,請選

        擇其中一個你認為正確的答案,用HB鉛筆涂寫在答題卡的相應答題號內。

        每選對一項得1分,不選或選錯不得分;

      5.填空題用答題紙答題。請將答案用藍、黑色鋼筆或圓珠筆填寫在答題紙的

        相應答題號內,每個答案只占一行,不得換行。每填對一個答案得1分,

        不填或填錯不得分;

      6.請認真填寫并仔細核對答題卡和答題紙上的學校名稱、準考證號和姓名是

        否填寫正確。

      7.考試結束時將試卷、答題卡和答題紙放在桌上,不得帶走。待監考人員收

        畢清點后,方可離場。

       

      第一部分  計算機基礎知識

        1.微電子技術是信息技術領域中的關鍵技術,它以集成電路為核心.下列有關集成電路的敘述中,錯誤的是 ___(1)___  

          A.  現代集成電路使用的半導體材料只能是硅(Si),不能使用其它任何半導體材料

          B.  集成度是指集成電路包含的電子元件數目,可分為SSI、MSI、VLSI

          C.  Moore定律指出,單塊集成電路的集成度平均18--24個月翻一番

          D.  我國第二代身份證中嵌入了集成電路芯片,可以實現電子防偽和數字管理功能

        2.  數據傳輸速率是數據通信中重要的性能指標。Gb/s是數據傳輸速率的計量單位之一,其正確含義是 ___(2)___   。

          A.每秒兆位

          B.每秒千兆位

          C.每秒百兆位

          D.每秒百萬位

        3.  所謂"變號操作"是指將一個整數變成絕對值相同但符號相反的另一個整數。假設使用補碼表示的8位整數x=10010101,則經過變號操作后結果為___(3)___.

          A.01101010

          B.00010101

          C.11101010

          D.01101011

        4.  下列有關PC機主板的敘述中,錯誤的是 ___(4)___   。

          A.  主板的物理尺寸沒有標準,各廠家均可自行定義

          B.  主板上包含芯片組,它是PC機各組成部分相互連接和通信的樞紐

          C.  主板上包含BIOSCMOS芯片

          D.  主板上包含CPU插座、內存條插槽及其它類型的插槽

        5.  下列有關PC機中央處理器(CPU)和內存(內存條)的敘述中,正確的是 __(5)____   .

          A.PC機所采用的CPU都是Intel公司生產的Pentium系列芯片,其它廠商生產的

          CPU都與之不兼容

          B.  目前已有雙核的微處理器(例如Core 2 Duo),但還沒有四核的微處理器

          c.  通常來說,DRAM的速度比SRAM的存取速度慢

          D.  一般來說,一個內存條上僅有一個DRAMSRAM芯片

      6.  下列有關PCI/O總線與I/O接口的敘述中,錯誤的是 __(6)____   .

          A.  目前PC機中協調與管理總線操作的總線控制器包含在主板上的芯片組中

          B.  總線最重要的性能是數據傳輸速率,其單位通常為MB/sGB/s

          C.  SATA接口的數據傳輸速率通常低于USB 2.0的數據傳輸速率

          D.  USB連接器有4個引腳,其中一個引腳連接+5V電源

      7.  下列有關PC機常用I/O設備的敘述中,錯誤的是__(7)____。

          A.  目前臺式機鍵盤通常有一百零幾個按鍵,筆記本電腦的鍵盤有八十幾個按鍵

          B.  目前流行的鼠標是光電鼠標,其與主機的接口有PS/2USB兩種

          C.  寬屏LCD顯示器的寬高比為1691610

          D.  打印速度是打印機的重要性能指標,速度單位通常為dpi

      8.  下列有關PC機外存儲器的敘述中,錯誤的是___(8)___    。

        A.  目前硬盤的盤片大多為3.5、2.51.8英寸,一個硬盤中可有一個或多個盤片

        B.  目前有些u盤可以模擬硬盤和光盤存儲器啟動操作系統

        C.  目前光盤存儲器主要分為CD、DVDBD三種,它們均采用紅外激光進行讀寫

        D.  目前光驅的速率通常用多少倍速表示

      9.  下列有關計算機軟件的敘述中,錯誤的是___(9)___.

        A.  軟件一般是指程序及其相關的數據和文檔資料   

        B.  從軟件的用途考慮,軟件可以分為系統軟件和應用軟件,主要的系統軟件有操作系統、語言處理系統和數據庫管理系統等。   

        C.  從軟件的權益來考慮,軟件可以分為商品軟件、共享軟件和自由軟件,共享軟件和自由軟件均為無版權的免費軟件

        D.Linux是一種系統軟件、自由軟件

      10.到目前以止,Windows系列操作系統已推出多個版本。在下列版本中,最新的Windows

        版本是___(10)___

        A.  Windows7   B.  Windows Me  C.  Windows XP    D.  Windows Vista

      11.下列有關Windows XP操作系統功能的敘述中,錯誤的是___(11)___.

          A.  系統通過"時間片”輪轉策略支持多任務處理 

          B.  系統利用SPOOLing技術進行存儲管理

          C.  在設備管理中引入了緩沖技術,以減少I/O操作的等待時間

          D.  系統支持PnP功能,并按ACPI標準進行電源管理

      12.在因特網中某臺主機的IP地址為20.25.30.8,子網掩碼為255.255.255.0,那么該主機

        的主機號為  ___(12)___  。

        A.  20   B.  25    C.  30   D.  8

      13.局域網中需要傳輸的數據必須預先組織成若干數據幀,每一數據幀的格式如下圖所示:

      上圖中最末部分"?”表示的是___(13)___    。

      發送計算機地址

      目的計算機地址

      編號

      有效載荷

        ?

      A.協議信息

      B.校驗信息

      C.冗余信息

      D.結束標志

      14.目前網絡用戶接入因特網有多種方式,例如ADSL、HFC等。通過HFC接入因特網時采用的網絡是___(14)____。

          A.  有線電話網   B.  有線電視網   C.  無線局域網    D.  移動電話網

      15.下列網絡協議中,直接與電子郵件傳輸相關的網絡協議是___(15)___。

          A.FTP   B.SMTP    C.TELNET     D.NNTP

      16.下列有關計算機中文本與文本處理的敘述中,錯誤的是 ___(16)____ 

          A.  西文字符主要是采用ASCII字符集,基本ASCII字符集共有256個字符

          B.  我國最早采用的漢字字符集是GB2312,包含6000多個漢字和若干個非漢字字符

          C.  無論采用何種方式輸入漢字,在計算機中保存時均采用統一的漢字內碼

          D.  簡單文本和豐富格式文本中字符信息的表示相同,區別在于格式信息的表示

      17.彩色圖像所使用的顏色描述方法稱為顏色模型(即顏色空間)。下列四種顏色模型中,

          彩色噴墨打印機使用的是___(17)___.

          A.  RGB   B.  HSB    C.  YUV    D.  CMYK

       18.文件的擴展名用于標記文件的類型,用戶應該盡可能多地知曉各類文件的擴展名,

          列文件中,屬于數字聲音的文件是______

          A.  ABC.RM

          B.  ABC.WMA

          C.  ABC.MKV

          D.  ABC.SWF

       19.信息系統軟件開發瀑布模型包括系統規劃、系統分析、系統設計、系統實施和系統維

          護等幾個階段。下面各項工作中,屬于系統實施階段的是___(19)___

          A.問題定義

          B.可行性研究

          C.系統測試

          D.繪制E-R

      20.下列有關Micmsoft Word 2003Microsoft Excel 2003軟件的敘述中,錯誤的是___(20)___

          A.  利用Word軟件編輯文檔,可以將其保存為TXT、DOC、RTFHTM格式文件

          B.  利用Word軟件編輯文檔時,可以統計選定文本的字符數

          C.  Excel軟件中,可以打開(導入)TXT、DBF、HTML格式的文件(數據)

          D.  Excel文件可以設置打開權限密碼,但不可以單獨設置修改權限密碼

       

      第二部分  C++語言程序設計

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

      21.對于fordowhile循環語句,以下描述正確的是___(21)___。

        A.for語句中的循環體至少執行一次            B.兩個語句中的循環體可能都不執行

        C.do...while語句中的循環體至少執行一次     D.兩個語句中的循環體至少執行一次

      22.設有說明語句;int hh[4]={2,3,4},*p=hh;則以下選項中存在語法錯誤的是___(22)___

        A.p++;    B.hh++;    C.(*p)++; D.(*hh)++

      23.以下說明語句中,不存在語法錯誤的是___(23)___  。

        A.int s=26,this=30;         B.int _s1=25,-s2=100;

        C.int n;cin>>n;int arr[n];  D.char str[]={"I am a student"};

      24.設有語句;int a=10,b=20,c=30;則執行語句;cout<<(a,b,c);其輸出結果是___(24)___

        A.10    B.20    C.30   D.10,20,30

      25.以下關于運算符重載的敘述中,正確的是___(25)___  。

          A.c++已有的任何運算符都可以重載    B.可以重載C++中沒有的運算符

          C.運算符重載時可改變其優先級       D.運算符重載時可改變其實現的功能

      26.設有函數原型說明;float *f(int,float);,則函數f的返回值為___(26)___    .

          A.一個實數    B.指向一個實數的指針  C.該函數的地址 D.指向一個函數的指針

      27.下列有關構造函數的敘述中,不正確的是___(27)___ .

          A.可以定義沒有構造函數的類    B.任何一個類必定有構造函數

          C.類的構造函數可以重載        D.構造函數沒有返回值

      28.下列有關類成員的敘述中,不正確的是___(28)___    。 

          A.當不指定類成員的訪問權限時則為私有成員   B.友元函數可訪問類中的任一成員

          C.指定為public的成員不允許在類外訪問      D.成員函數可訪問類中的任一成員

      29.以下關于類和對象的敘述中,不正確的是___(29)___   .

          A.不同的類可以產生相同類型的對象    B.類是一種類型,它定義了數據和操作

          C.對象是類的實例                    D.任一對象必屬于某一個類

      30.以下關于指針運算的敘述中,不正確的是___(30)___

          A.可以將NULL賦給任一指針變量

          B.兩個同類型的指針變量可進行相等或不等的比較運算

          C.指針變量的值加上整常數n,可使該指針指向當前元素后的第n個元素

          D-指向同一數組的兩個指針變量,在任何情況下,兩指針變量相減都是無意義的

      二、填空題(請將答案填寫在答題紙的相應答題號內,每個答案只占一行)

      ●基本概念題,5

      1.每一個類均有構造函數和析構函數,這兩個函數中不可以定義為虛函數的是___(1)___  

      2.定義了宏;#define F(x,y,z)  x/y*z

        執行語句;b=F(3+4,2+2,4+4);后變量b的值為___(2)___

      3.函數重載和運算符重載實現的多態性屬于___(3)___多態性.

      4.為使函數不返回任何值,定義函數時應在函數名前加保留字(關鍵字)___(4)___    .

      5.C++存儲類型的四種說明符分別是;auto,static,extern___(5)___   。

      ●閱讀程序題,13

      6.[程序]  (2)

        #include <iostream.h>

        void main(void)

        {

          int c2,c3,c5,m=20;

          c2=c3=c5=0;

          for(int i=1;i<=m;i++){

            if(i==15 || i==14)continue;

          if(i%2==0) c2++;

          if(i%3==0) c3++;

          if(i%7==0) c5++;

          }

          cout<<c2<<endl<<c3<<endl<<c5<<endl;

         }   

          執行程序后輸出的第一行是___(6)___,  第三行是___(7)___

      7.[程序]  (2)

        #include<iostream.h>

        int f(int a,int &b,int *c)

        {

          a+=b;  b+=*c;*c+=a;

          return  (a+b+*c);

        }

        void main(void)

        {

          int x=5,y=5,z=6,sum;

          for(int i=0;i<2;i++){

            sum=f(x,y,&z);

            cout<<x<<'\t'<<y<<'\t'<<z<<'\t'<<sum<<'\n';

          }

        }

          執行程序后輸出的第一行是___(8)___,第二行是___(9)___。

      8.[程序]  (2)

        #include <iostream.h>

        void f(int s[],int *y)

        {

          static int t=3;

          *y=s[t];

          s[t]*=2;

          t--;

        }

        void main(void)

        {

          int a[]={1,2,3,4},i;

          int x=0;

          for(i=0;i<4;i++){

            f(a,&x);

            cout<<x<<endl;

          }

          for(i=0;i<4;i++) cout<<a[i]<<'\t';

          cout<<'\n';

        }

          執行程序后輸出的第二行為___(10)___,最后一行為 ___(11)___。

      9.[程序](3)

          #include<iostream.h>

          void f(int x,int y)

          {  

            char res[10]={0};

            int i=0,rem;

            do{

               rem=x%y;

               x=x/y;

               if(rem<10) res[i]='0'+rem;else res[i]='A'+rem-10;

               i++;

              }while(x!=0);

              i--;

              for(;i>=0;i--) cout<<res[i];

              cout<<endl;

          }

          void main(void)

          {

            f(23,10);

            f(45,8);

            f(50,16);

          }

          執行程序后輸出的第一行是___(12)___,第二行是___(13)___,第三行是___(14)___.

      10.[程序]  (2)

        #include <iostream.h>

        char st[]="Your friend!";

        void f2(int );

        void f1(int i)

        {

          cout<<(st+i)<<endl;

          if(i<3){

            i+=2;

            f2(i);

          }

        }

        void f2(int i)

        {

          cout<<st[i]<<endl;

          if(i<3){

             i+=2;

             f1(i);

          }

        }

        void main(void)

        {

          int i=0;

          f1(i);

        }

          執行程序后輸出的第一行是___(15)___,第二行是___(16)___.

      11.[程序](2)

        #include<iostream.h>

        class A{

          public:

              A(char *s){cout<<s<<endl;}

              A(){ };

          };

          class B:public A{       //L1

          public:

              B(char *s1,char *s2):A(s1)

              { cout<<s2<<endl;}

          };

          class C : public A{      //L2

          public:

              C(char *s1,char *s2):A(s1)

              {  cout<<s2<<endl;}

          };

          class D:public B,public C{

          public:

              D(char *s1,char *s2,char *s3,char *s4):B(s1,s2),C(s1,s3)

              {    cout<<s4<<endl;}

          };

          void main(void)

          {

             D *ptr= new D("students","study","C++","hard");

             delete ptr;

          }

          執行程序后共輸出___(17)___.

          若分別將L1行改為;class B : virtual public A{       //L1

          L2行改為:class C:virtual public A{    //L2

          則執行程序后共輸出___(18)___行。

      ●完善程序題,12

      12.以下程序的功能是;從鍵盤上輸入一個大于等于3的整數,將其分解為質因子的乘積并輸

      .例如,輸入50,則輸出;50;2*5*5;輸入45,則輸出;45=3*3*5;輸入37.則出;37=37.

          [程序]  (4)

          #include <iostream.h>

          int prime(int x)  //求大于x的最小質數(素數)

          {

            int flag=1;

            x++;

            while(___(19)___){

               int i=2;

               while(i<x){

                 if(___(20)___)break;

                 i++;

               }

               if(i<x)x++;else flag=0;

            }

          return x;

          }

          void f(int n)  //n分解為若干個質數之積

          {

            int flag=1;

            int i=2;      //保證i為質數

            do{

               while(___(21)___){

                  if(flag==1){

                      cout<<i;

                      flag=0;

                  }

                  else cout<<'*'<<i;

                  n=n/i;

               }

              ___(22)___

            }while(i<n);

            if(n!=1)

              if(flag==1) cout<<n;else cout<<'*'<<n;

          }

          void main(void)

          {

           int x;

          do{

           cout<<"請輸入一個整數,若小于3則重輸;";

           cin>>x;

          }while(x<3);

          cout<<x<<'=';

          f(x);

          cout<<endl;

         }

      13.以下程序的功能是:實現兩個字符串拼接,函數strcat(char *s1,char *s2)先將s1所指向的字符串拷貝到s所指向的動態申請的存儲空間,接著將s2所指向的字符串拼接s所指向的字符串后面,函數返回拼接后的字符串。

          [程序](4)

          #include <iostream.h>

          char *strcat(char *s1,char *s2)

          {

            char *s,  *p,  *q;

            int len1=0,len2=0;

            p=s1;

            while(*p!='\0'){

              len1++;

              p++;

            }

            p=s2;

            while(*p!='\0'){

              len2++;

              p++;

            }

            s=q=___(23)___ ;

            p=s1;

            for(int i=0;i<len1;i++)*q++=*p++;

            p=s2;

            while(___(24)___);

              ___(25)___

          }

          void main(void)

          {

            char s1[]="visual";

            char s2[]="is esay";

            char *s;

            s=___(26)___;

            cout<<s<<endl;

            delete []s;

          }  

      14.下面程序的功能是;將兩個有序鏈表(降序捧序)合并為一個有序鏈表,函數merge(node *h1,node *h2)將由h1h2分別指向的己排序的兩個鏈表,合并為一個依然有序的鏈表。注意;對于數據大小相同的結點,都要保留在合并后的鏈表上。主函數產生兩條已降序排序的鏈表,并輸出合并后鏈表上的數據值.

        例如,原鏈表上各結點的數據依次為;

        h1:15,9,8,7,3

        h2:15,12,10,7,3,2

        合并后得到的新鏈表為;15,15,12,  10,9,8,7,7,3,3,2

        【程序](4)

        #include<iostream.h>

        struct node{

          int data;

          node*next;

         };

          node *merge(node *h1,node *h2)

          {

           if(h1==NULL) return h2;

           if(h2==NULL) return h1;

           node *h=NULL;

           if(___(27)___){

              h=h1;

              h1=h1->next;

           }

           else{

               h=h2;

               h2=h2->next;

           }

           node *p=h;

           while(___(28)___){

             if(h1->data >=h2->data){

               p->next=h1;

               p=h1;

               h1=h1->next;

             }

             else{

                 p->next=h2;

                 p=h2;

                 h2=h2->next;

             }

          }

          if(h1 !=NULL) ___(29)___;

          else   

              if(h2!=NULL) p->next=h2;

          return h;

      }

      void main(void)

      {

        node a[5]={{15},{9},{8},{7},{3}};

        node b[6]={{15},{12},{10),{7},{3},{2}};

        node *h,*h1,*h2,*p;

        int i;

        h1=a;

        h2=b;

        for(i=0;i<4;i++) a[i].next=&a[i+1];    //形成a鏈表

        a[4].next=NULL;

        for(i=0;i<5;i++) b[i].next=&b[i+1];  //形成b鏈表

        b[5].next=NULL;

        ___(30)___   ;

        p=h;

        while(p){

          cout<<p->data<<'\t';

          p=p->next;

        }

        cout<<endl;

      }

       

      答案:

      1.A 2.B 3.D 4.A 5.C 6.C 7.D 8.C 9.C 10.A

      11.B 12.D 13.B 14.B 15.B16.A 17.D 18.B 19.C 20.D

      (21)C (22)B (23)D (24)C (25)D (26)B (27)A (28)C (29)A (30)D

      :填空

      (1)構造  (2)17  (3)編譯 (4)void (5)register

      (6)9  (7)1 (8)5 11 16 37 (9)5 27 32 75

      (10)3 (11)2 4 6 8 (12)23 (13)55 (14)32 (15)Your friend!

      (16)u (17)5 (18)3 (19)flag (20)x%i==0 (21)n%i==0 (22)i++

      (23)new char[len1+len2+1] (24)*q++=*p++ (25)return s

      (26)strcat(s1,s2) (27)h1->data>h2->data (28)h1!=0 && h2!=0

      (29)p->next=h1  (30)h=merge(h1,h2)

       

      中文在线字幕第一页_中文字幕高跟丝袜作品番号_亚洲中文无无码第_日本亚洲欧美国产日韩a??y_在线观看亚洲av无码专区