<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. 試題

    計算機二級C++模擬試題及答案

    時間:2025-01-23 17:37:54 興亮 試題 我要投稿

    計算機二級C++模擬試題及答案

      在日常學習和工作生活中,我們最離不開的就是試題了,試題可以幫助學校或各主辦方考察參試者某一方面的知識才能。那么你知道什么樣的試題才能有效幫助到我們嗎?下面是小編收集整理的計算機二級C++模擬試題及答案,僅供參考,希望能夠幫助到大家。

    計算機二級C++模擬試題及答案

      計算機二級C++模擬試題及答案1

      一、選擇題

      1.樹是結點的集合,它的根結點數目是( )

      A.有且只有1

      B.1或多于1

      C.0或1

      D.至少2

      【參考答案】A

      2.在設計程序時,應采納的原則之一( )

      A.不限制goto語句的使用

      B.減少或取消注解行

      C.程序越短越好

      D.程序結構應有助于讀者理

      【參考答案】D

      3.下列敘述中,不屬于軟件需求規格說明書的作用的是( )

      A.便于用戶、開發人員進行理解和交流

      B.反映出用戶問題的結構,可以作為軟件開發工作的基礎和依據

      C.作為確認測試和驗收的依據

      D.便于開發人員進行需求分析

      【參考答案】D

      4.單個用戶使用的數據視圖的描述稱為( )

      A.外模式

      B.概念模式

      C.內模式

      D.存儲模式

      【參考答案】A

      5.SQL語言又稱為( )

      A.結構化定義語言

      B.結構化控制語言

      C.結構化查詢語言

      D.結構化操縱語言

      【參考答案】C

      6.若某二叉樹的前序遍歷訪問順序是abdgcefh,中序遍歷訪問順序是dgbaechf,則其后序遍歷的結點訪問順序是( )

      A.bdgcefha

      B.gdbecfha

      C.bdgaechf

      D.gdbehfca

      【參考答案】D

      7.軟件工程的理論和技術性研究的內容主要包括軟件開發技術和( )

      A.消除軟件危機

      B.軟件工程管理

      C.程序設計自動化

      D.實現軟件可重用

      【參考答案】B

      8.在軟件測試設計中,軟件測試的主要目的是( )

      A.實驗性運行軟件

      B.證明軟件正確

      C.找出軟件中全部錯誤

      D.發現軟件錯誤而執行程序

      【參考答案】D

      9.索引屬于( )

      A.模式

      B.內模式

      C.外模式

      D.概念模式

      【參考答案】B

      10.數據庫系統的核心是( )

      A.數據庫

      B.數據庫管理系統

      C.模擬模型

      D.軟件工程

      【參考答案】B

      11.下面關于類和對象的.描述中,錯誤的是( )

      A.類就是C語言中的結構體類型,對象就是C語言中的結構體變量

      B.類和對象之間的關系是抽象和具體的關系

      C.對象是類的實例,一個對象必須屬于一個已知的類

      D.類是具有共同行為工的若干對象的統一描述體

      【參考答案】A

      12.設inta=10,b=11,c=12;,表達式(a+b)

      A.2

      B.0

      C.-2

      D.1

      【參考答案】B

      13.下列語句中不是死循環的是( )

      A.inti=10;

      B.for(inti=1;i<10;i++)

      C.inti=0;

      D.inti=1;

      while(1){do{for(;;)

      {i--;i++;i=i+1;

      i--;}}while(i>=0);

      if(i==1)break;

      }

      【參考答案】A

      14.下面關于數組的描述錯誤的是( )

      A.在C++語言中數組的名字就是指向該數組第一個元素的指針

      B.長度為n的數組,下標的范圍是0~n-1

      C.數組的大小必須在編譯時確定

      D.數組只能通過值參數和引用參數兩種方式傳遞給函數

      【參考答案】D

      15.下面的哪個選項不能作為函數的返回類型?( )

      A.void

      B.int

      C.new

      D.long

      【參考答案】C

      16.下列程序的輸出結果為( )

      include

      intfunc(intn)

      {if(n<1)return1;

      elsereturnn+func(n-1);

      return0;}

      voidmain( )

      {cout<

      A.0

      B.10

      C.15

      D.16

      【參考答案】D

      17.以下程序中,錯誤的行為( )

      1.include

      2.classA

      3.{

      4.public:

      5.intn=2;

      6.A(intval){cout<

      7.~A( ){}

      8.{;

      9.voidmain( )

      10{

      11.Aa(0);

      12.}

      A.5

      B.6

      C.7

      D.11?

      【參考答案】A

      18.下面程序的運行結果為( )

      includeclassA{intnum;public:A(inti){num=i;}A(A&a){num=a.num++;}voidprint( ){cout<};voidmain( {Aa(1),b(a);a.print( );

      B.print( );

      A.11

      B.12

      C.21

      D.22

      【參考答案】C

      19.如果類A被說明成類B的友元,則( )

      A.類A的成員即類B的成員

      B.類B的成員即類A的成員

      C.類A的成員函數不得訪問類B的成員

      D.類B不一定是類A的友元

      【參考答案】D

      20.建立派生類對象時,3種構造函數分別是a(基類的構造函數)、b(成員對象的構造函數)、c(派生類的構造函數)這3種構造函數的調用順序為( )

      A.abc

      B.acb

      C.cab

      D.cba

      【參考答案】A

      21.下面關于模板的描述,錯誤的是( )

      A.函數模板和類模板的參數可以是任意的數據類型

      B.類模板不能直接使用,必須先實例化為相應的模板類,然后定義了模板類的對象后才能使用

      C.函數模板不能直接使用,需要實例化為模板函數后才使用

      D.類模板的成員函數都是模板函數

      【參考答案】A

      22.下面程序的運行結果是( )

      include

      voidmain( )

      {

      intnum=1;

      int&ref=num;

      ref=ref+2;

      cout<

      num=num+3;

      cout<

      }

      A.13

      B.16

      C.36

      D.33

      【參考答案】C

      23.下列程序的運行結果為( )

      include

      inti=0;

      classA{

      public:

      A( ){i++;}

      };

      voidmain( )

      {Aa,b[3],xc;

      c=b;

      cout<

      A.2

      B.3

      C.4

      D.5

      【參考答案】C

      24.下列字符串中可以用C++語言標識符的是( )

      A._1234

      B.foo~~bar

      C.virtua

      D.34var

      【參考答案】A

      25.下列語句的輸出結果( )

      cout<

      A.5

      B.14

      C.8

      D.輸出項不合法,無正常輸出

      【參考答案】A

      26.若有如下語句( )

      include

      voidmain( )

      {intx=3;

      do{

      x=x-2;

      cout<

      }while(!(--x));

      }

      則上面程序段

      A.輸出的是1

      B.輸出的是1和-2

      C.輸出的是3和0

      D.是死循環

      【參考答案】B

      27.以下程序中調用cin函數給變量a輸入數值的方法是錯誤的,其錯誤原因是( )

      include

      voidmain( )

      {intxp,xq,a,b;

      p=&a;

      cout<<″inputa:″;

      cin>>p;}

      A.xp表示的是指針變量P的地址

      B.p表示的是變量a的地址,而不是變量a的值

      C.xp表示的是指針變量p的值

      D.xp只能用來說明p是一個指針變量

      【參考答案】B

      28.有以下程序

      include

      voidfun(inta,intb,intc)

      {a=456,b=567,c=678;}

      voidmain( )

      {intx=10,y=20,z=30;

      fun(x,y,z);

      輸出結果是( )

      A.30,20,10

      B.10,20,30

      C.456,567,678

      D.678,567,456

      【參考答案】B

      29.下列定義中p指向的地址可更改,但xp不能夠更改的是( )

      A.constintxP

      B.intxconstp;

      C.constintxconstp;

      D.intxp;

      計算機二級C++模擬試題及答案2

      1.若有以下數組說明,則i=10;a[a[i]]元素數值是(C )。

      int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};

      A、10

      B、9

      C、6

      D、5

      先算a[a[i]]內層的a[i],由于i=10,因此a[i]即a[10].

      a[10]對應下面數組中的元素為9. 因此a[a[i]]即為a[9]

      a[9]對應下面數組中的元素為6. 因此a[9]即為6

      2.若有說明:int a[][3]={{1,2,3},{4,5},{6,7}}; 則數組a的第一維的大小為: ( B )

      A、2

      B、3

      C、4

      D、3 6 9

      二維數組的一維大小,即指二維數組的行數,在本題中,按行對二維數組賦值,因此內層有幾個大括號,數組就有幾行

      3.對二維數組的正確定義是(C )

      詳見教材P149~152,二維數組的定義、初始化

      類型符 數組名 [常量表達式][常量表達式]

      二維數組可以看做是矩陣

      類型符是指數組中數組元素的類型;數組名要符合標識符命名規則;第一個常量表達式是指數組的行數;第二個常量表達式是指數組的列數;常量表達式的值只能是整數,不可以是變量,而且從1開始計數。

      一維數組初始化時可以省略數組長度

      二維數組初始化時可以省略行數,但不能省略列數

      選項A,B,都省略了列數

      選項D,不符合二維數組定義的一般形式,行、列常量表達式應該放在不同的[]中

      A、int a[ ][ ]={1,2,3,4,5,6};

      B、int a[2] []={1,2,3,4,5,6};

      C、int a[ ] [3]={1,2,3,4,5,6};

      D、int a[2,3]={1,2,3,4,5,6};

      4.已知int a[3][4];則對數組元素引用正確的是__C___

      A、a[2][4]

      B、a[1,3]

      C、a[2][0]

      D、a(2)(1)

      5.C語言中函數返回值的類型是由 A 決定的.

      A、函數定義時指定的類型

      B、 return語句中的表達式類型

      C、 調用該函數時的實參的數據類型

      D、形參的數據類型

      6. 在C語言中,函數的數據類型是指(A )

      A、 函數返回值的數據類型

      B、 函數形參的數據類型

      C、 調用該函數時的實參的數據類型

      D、任意指定的數據類型

      7.在函數調用時,以下說法正確的是( B )

      A、函數調用后必須帶回返回值

      B、實際參數和形式參數可以同名

      C、函數間的數據傳遞不可以使用全局變量

      D、主調函數和被調函數總是在同一個文件里

      8. 在C語言中,表示靜態存儲類別的關鍵字是: ( C )

      A、 auto

      B、 register

      C、static

      D、extern

      9.未指定存儲類別的變量,其隱含的存儲類別為(A )。

      A、auto

      B、static

      C、extern

      D、register

      10. 若有以下說明語句:

      struct student

      { int num;

      char name[ ];

      float score;

      }stu;

      則下面的敘述不正確的是: (D )

      A、 struct是結構體類型的關鍵字

      B、 struct student 是用戶定義的結構體類型

      C、 num, score都是結構體成員名

      D、 stu是用戶定義的結構體類型名

      11.若有以下說明語句:

      struct date

      { int year;

      int month;

      int day;

      }brithday;

      則下面的敘述不正確的是__C___.

      A、 struct是聲明結構體類型時用的關鍵字

      B、 struct date 是用戶定義的結構體類型名

      C、 brithday是用戶定義的結構體類型名

      D、year,day 都是結構體成員名

      12. 以下對結構變量stul中成員age的非法引用是 B

      struct student

      { int age;

      int num;

      }stu1,xp;

      p=&stu1;

      A、 stu1.age

      B、 student.age

      C、 p->age

      D、(xp).age

      13.設有如下定義:

      struck sk

      { int a;

      float b;

      }data;

      int xp;

      若要使P指向data中的a域,正確的賦值語句是 C

      A、 p=&a;

      B、 p=datA、a;

      C、p=&datA、a;

      D、xp=datA、a;

      14.設有以下說明語句:

      typedef struct stu

      { int a;float b;} stutype;

      則下面敘述中錯誤的是( D )。

      A、struct是結構類型的關鍵字

      B、struct stu是用戶定義的結構類型

      C、a和b都是結構成員名

      D、stutype是用戶定義的結構體變量名

      15.語句int xp;說明了 C 。

      A、p是指向一維數組的指針

      B、p是指向函數的指針,該函數返回一int型數據

      C、p是指向int型數據的指針

      D、p是函數名,該函數返回一指向int型數據的指針

      16、以下語句的輸出結果是( D)。

      int a=-1,b=4,k;

      k=(+ +a<0)&&!(b - -<=0);

      printf("%d,%d,%d ",k,a,b);

      A. 1,0,4

      B. 1,0,3

      C. 0,0,3

      D. 0,0,4

      17、下列程序的輸出結果是(D )。

      char xp1="abcd", xp2="ABCD", str[50]="xyz";

      strcpy(str+2,strcat(p1+2,p2+1));

      printf("%s",str);

      A. xyabcAB

      B. abcABz

      C. ABabcz

      D. xycdBCD

      18、執行下面的程序后,a的值是(B )。

      define SQR(X) XxX

      main( )

      { int a=10,k=2,m=1;

      a/=SQR(k+m)/SQR(k+m);

      printf("%d ",a); }

      A. 10

      B. 1

      C. 9

      D. 0

      19、設A為存放(短)整型的一維數組,如果A的.首地址為P,那么A中第i 個元素的地址為( B)。

      A.P+ix2

      B. P+(i-1)x2

      C. P+(i-1)

      D. P+i

      20、下列程序執行后輸出的結果是( A)。

      int d=1;

      fun (int p)

      { int d=5;

      d + =p + +;

      printf("%d,",d); }

      main( )

      { int a=3;

      fun(a);

      d + = a + +;

      printf("%d ",d); }

      A. 8, 4

      B. 9, 6

      C. 9, 4

      D. 8, 5

      21、表達式:10!=9的值是(D )。

      A. true

      B. 非零值

      C. 0

      D. 1

      22、若有說明: int i,j=7, xp=&i;, 則與i=j; 等價的語句是( B)。

      A. i= xp;

      B. xp=x&j;

      C. i=&j;

      D. i=x xp;

      23、不能把字符串:Hello!賦給數組b的語句是( B)。

      A. char b[10]={’H’,’e’,’l’,’l’,’o’,’!’};

      B. char b[10]; b="Hello!";

      C. char b[10]; strcpy(b,"Hello!");

      D.char b[10]="Hello!";

      24、在C程序中有如下語句:char xfunc(int x,int y); 它是(C )。

      A. 對函數func的定義。

      B. 對函數func的調用。

      C.對函數func的原型說明。

      D. 不合法的。

      25、以下程序的輸出結果是( D)。

      char str[15]=”hello!”;

      printf(“%d ”,strlen(str));

      A. 15

      B. 14

      C. 7

      D. 6

      26[單選題] 以下敘述中正確的是(  )

      A.用戶自己定義的函數只能調用庫函數

      B.實用的C語言源程序總是由一個或多個函數組成

      C.不同函數的形式參數不能使用相同名稱的標識符

      D.在C語言的函數內部,可以定義局部嵌套函數

      參考答案:B

      參考解析:A選項中,”用戶自己定義的函數只能調用庫函數”描述是不正確的,也可以調用自定義函數;C選項中,對于不同函數的形式參數可以使用相同名稱的標識符;D選項中,關于函數的定義不可以嵌套,但函數的調用可以嵌套。因此B選項正確。

      27[單選題] 以下關于C語言數據類型使用的敘述中錯誤的是( )。

      A.若要處理如“人員信息”等含有不同類型的相關數據,應自定義結構體類型

      B.若要保存帶有多位小數的數據,可使用雙精度類型

      C.若只處理“真”和“假”兩種邏輯值,應使用邏輯類型

      D.整數類型表示的自然數是準確無誤差的

      參考答案:C

      參考解析:C語言中沒有邏輯類型,所以c錯誤。若要保存帶有多位小數的數據,可以用單精度類型也可以用雙精度類型。處理包含不同類型的相關數據可以定義為結構體類型。整數類型可以無誤差的表示自然數。

      28[單選題] 下面選項中關于編譯預處理的敘述正確的是

      A.預處理命令行必須使用分號結尾

      B.凡是以號開頭的行,都被稱為編譯預處理命令行

      C.預處理命令行不能出現在程序的最后一行

      D.預處理命令行的作用域是到最近的函數結束處

      參考答案:B

      參考解析:本題考查預編譯的預編譯處理命令行,預處理命令行不能以分號結尾,所以A選項錯誤,預處理命令行可以出現在程序的最后一行,預處理命令行作用域是整個文件。

      29[單選題] 有以下程序

      程序的輸出結果是

      A.0B.1C.9D.10

      參考答案:B

      參考解析:本題考查宏定義,宏定義只是做個簡單的替換。執行SQR(k+m)/SQR(k+m)=k+mxk+m/k+m}k+m=15/2,a/=SQR(k+m)/SQR(k+1TI)的結果為1,選項B正確。

      30[單選題] 設--X樹共有150個結點,其中度為l的結點有l0個,則該---X樹中的葉子結點數為( )。

      A.71B.70C.69D.不可能有這樣的二叉樹

      參考答案:D

      參考解析:在樹結構中,一個結點所擁有的后件個數稱為該結點的度,所有結點中最大的度稱為樹的度。對任何一棵二叉樹,度為0的結點總是比度為2的結點多一個。如果有一棵二叉樹,結點總數為l50,假設度為0的結點個數為n,則有n+10+n一1=150,n=70.5,由于結點個數必須是整數,所以不可能有題目中這樣的二叉樹。故選擇D選項。

      31[單選題] 有以下程序:

      程序運行后的輸出結果是( )。

      A.2.3B.1,3C.1,4D.1,2

      參考答案:B

      參考解析:在f(int+P,int 4 q)函數中,執行P=P+1是將P所對應的地址加1,而0 q=+q+1是將q所指向的n的地址所對應的值加1,所以m的得知所對應的值沒有變,而n的值則為3了。因此B選項正確。

      32[單選題] 以下選項中,能用作用戶標識符的是( )。

      A.-0-B.8-;8C.voidD.unsigned

      參考答案:A

      參考解析:C語言中標識符由字母、下劃線、數字組成,且開頭必須是字母或下劃線。另外,關鍵字不能作為標識符。8中以數字8開頭,所以錯誤。c與D中用的是關鍵字void與unsigned,所以錯誤。

      33[單選題] 以下敘述正確的是( )。

      A.表達式sizeof(FILEx)==sizeof(intx)的值為真

      B.文件指針的值是一個整數,它的值一定小于文件字節數

      C.文件指針的值是所指文件的當前讀取位置

      D.使用fscanf函數可以向任意類型的文件中寫入任意數量的字符

      參考答案:A

      參考解析:

      slzeof(FILE})=4,因為file·為指針,指針的大小4,sizeof(int·)=4,理由同前面。文件指針的值是地址,是一個16進制的數,它的值不一定小于文件字節數,因此選項8錯誤。文件指針是所指文件的當前讀取位置,而不是文件指針的值因此選項C錯誤。mgscanf(FILE-stream,constchar}format,[argument…]fmanf函數可以向任意類型的文件,寫入任意數量不能超過系統的緩沖區,寫文件先寫入緩沖區,最后一起寫入文件,因此選項D錯誤。答案為A選項。

    【計算機二級C++模擬試題及答案】相關文章:

    2016計算機二級C++上機模擬試題及答案07-16

    2016年計算機二級《C++》模擬試題及答案06-11

    計算機二級c++試題及答案08-27

    2016年計算機二級考試C++模擬試題及答案07-01

    2015年計算機二級C++模擬試題及答案(五)07-08

    2015年計算機二級C++模擬試題及答案(三)07-13

    計算機二級《C++》上機試題及答案08-12

    計算機二級C++強化試題及答案11-07

    計算機二級考試C++試題及答案09-15

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人