靜網PWA視頻評論

計算機二級《C語言》基礎練習題及答案

2024年01月05日

- txt下載

計算機二級《C語言》基礎練習題及答案
  在日常學習、工作生活中,我們最不陌生的就是練習題了,做習題可以檢查我們學習的效果。學習的目的就是要掌握由概念原理所構成的知識,什麼樣的習題才能有效幫助到我們呢?以下是小編收集整理的計算機二級《C語言》基礎練習題及答案,希望對大家有所幫助。

  計算機二級《C語言》基礎練習題及答案1


  1[單選題]有以下程序
  程序運行後的輸出結果是
  A.3B.9C.OD.-12
  參考答案:D
  參考解析:本題考查目的是運算符的結合性和優先級。首先計算axa,結果為9,然後執行a=a-9,即3-9,結果為-6,然後執行a=(-6)+(-6),即8=的值為-12。所以選擇D。
  2[單選題] 以下敘述中正確的是
  A.兩個字符串可以用關係運算符進行大小比較
  B.函數調用strlen(s);會返回字符串S實際占用內存的大小(以位元組為單位)
  C.C語言本身沒有提供對字符串進行整體操作的運算符
  D.當拼接兩個字符串時,結果字符串占用的內存空間是兩個原串占用空間的和
  參考答案:C
  參考解析:本題考查字符串處理函數strien、strcat、strcmp。B選項中strlen返回的是字符串s實際占用內存大小加上結尾符,A選項中不能用關係運算符進行大小比較,可以使用strcmp。D選項當使用連接函數strcat時,內存空間會減少一個字符位置。
  3[單選題] 一個工作人員可以使用多台計算機,而一台計算機可被多個人使用,則實體工作人員與實體計算機之間的聯繫是( )。
  A.一對一B.一對多C.多對多D.多對一
  參考答案:C
  參考解析:因為一個人可以操作多個計算機,而一台計算機又可以被多個人使用,所以兩個實體之間是多對多的關係。
  4[單選題] 對於while(!E)s;,若要執行循環體s,則E的取值應為:
  A.E等於1B.E不等於0C.E不等於1D.E等於0
  參考答案:D
  參考解析:while語句的一般形式為:while(表達式)語句;其中表達式是循環條件,語句為循環體。while語句的語義是:計算表達式的值,當值為真(非0)時,執行循環體語句。該題中如要執行語句s,則!E應為真,因此E應等於0,D選項正確。
  5[單選題] 在軟體設計中不使用的工具是( )。
  A.系統結構圖B.PAD圖C.數據流圖(DFD圖)D.程序流程圖
  參考答案:C
  參考解析:系統結構圖是對軟體系統結構的`總體設計的圖形顯示。在需求分析階段,已經從系統開發的角度出發,把系統按功能逐次分割成層次結構,是在概要設計階段用到的。PAD圖是在詳細設計階段用到的。程序流程圖是對程序流程的圖形表示,在詳細設計過程中用到。數據流圖是結構化分析方法中使用的工具,它以圖形的方式描繪數據在系統中流動和處理的過程,由於它只反映系統必須完成的邏輯功能,所以它是一種功能模型,是在可行性研究階段用到的而非軟體設計時用到,所以選擇C。
  6[單選題] 若有定義語句:char a='82';則變量a(  )
  A.說明不合法B.包含1個字符C.包含2個字符D.包含3個字符
  參考答案:B
  參考解析:char a='82',定義字符量a,char型變量值為1個位元組長度,並從右側開始運算,所以a的值應為'2'。因此B選項正確。
  7[單選題] 有以下程序
  程序運行後的輸出結果是
  A.to Beijing!B.you to Beijing!C.Welcome you to Beijing!D.Beijing!
  參考答案:A
  參考解析:while函數判斷P指針指向地址的內容是否和a指針指向地址的內容相等,如果不是,則移動指針p+1,當p指向xb字符串中的y時,和xa首地址元素相等,退出while語句後,P再向右移動a字符串長度+1個單位地址,此時P指向t,輸出t及剩餘的字符串,答案為A選項。
  8[單選題] 若fp已定義為指向某文件的指針,且沒有讀到該文件的末尾,則C語言函數feof(fp)的函數返回值是
  A.EOFB.非0C.-1D.0
  參考答案:D
  參考解析:本題考查文件的定位,feof函數的用法是從輸入流讀取數據,如果到達文件末尾(遇文件結束符),eof函數值為非零值,否則為0,所以選項D正確。
  9[單選題] 有以下程序:
  參考答案:C
  參考解析:flm()函數作用冒泡法排序,fla9控制升序(0)或者降序(1)。n為參與排序的元素個數。a為數組的起始地址。因此,flm(a,4,1),數組的前四個降序排序,fun(a+4,6,O)對數組的第四項後六個元素進行升序排序。故結果為10,9,8,7,1,2,3,4,5,6。答案為C選項。
  10[單選題] 以下敘述中正確的是
  A.只要適當地修改代碼,就可以將do-while與while相互轉換
  B.對於「for(表達式1;表達式2;表達式3)循環體」首先要計算表達式2的值,以便決定是否開始循環
  C.對於「for(表達式1;表達式2;表達式3)循環體」,只在個別情況下才能轉換成while語句
  D.如果根據算法需要使用無限循環(即通常所稱的「死循環」),則只能使用while語句
  參考答案:A
  參考解析:B選項中,for語句中需要先求解先求解表達式1;C選項中,for語句使用最為靈活,它完全可以取代while語句;D選項中,對於死循環,也可以使用for語句。因此A選項正確。

  計算機二級《C語言》基礎練習題及答案2


  1). 關於C語言的變量,以下敘述中錯誤的是( )
  A.所謂變量是指在程序運行過程中其值可以被改變的量
  B.變量所占的存儲單元地址可以隨時改變
  C.程序中用到的所有變量都必須先定義後才能使用
  D.由三條下劃線構成的符號名是合法的變量名
  正確答案:B
  答案解析:變量是指在程序運行過程中其值可以改變的值,一個變量實質上是代表了內存中的某個存儲單元。在程序中對某個變量的操作實際上就是對這個存儲單元的操作,程序運行期間,這個分配的存儲單元不會改變,但是其值可以變化。變量命名要符合標識符的規定,其中下劃線是標識符的組成字符。程序中所有變量都必須先定義後使用。
  2). 當變量c的值不為2、4、6時,值也為″真″的表達式是( )
  A.(c==2)||(c==4)||(c==6)
  B.(c>=2 && c<=6)&&!(c%2)
  C.(c>=2 &&c<=6)&&(c%2!=1)
  D.(c>=2 && c<=6) || (c!=3)|| (c!=5)
  正確答案:D
  答案解析:邏輯或運算中,只要有一項為真,表達式的值就為真,故選項D中c的值不為2、4、6時,那麼表達式(c>=2&& c<=6)以及(c!=3)、(c!=5)必有一個成立,表達式的值也為真。
  3). 在C語言中,函數返回值的類型最終取決於
  A.函數定義時在函數首部所說明的函數類型
  B.return語句中表達式值的類型
  C.調用函數時主調函數所傳遞的實參類型
  D.函數定義時形參的類型
  正確答案:A
  答案解析:在C語言中,應當在定義函數時指定函數值的類型,凡不加類型說明的函數,一律按整型處理。在定義函數時,對函數值說明的類型一般應該和return語句中的表達式類型一致。如果函數值的類型和return語句中的表達式類型不一致,則以函數類型為主,即函數類型決定返回值的類型。
  4). 以下敘述中正確的是( )
  A.在C語言中,預處理命令行都以″#″開頭
  B.預處理命令行必須位於C源程序的起始位置
  C.#include 必須放在C程序的開頭
  D.C語言的預處理不能實現宏定義和條件編譯的功能
  正確答案:A
  答案解析:在C語言中,凡是以″#″號開頭的行,都稱為″編譯預處理″命令行。預處理命令可以放在程序中的任何位置,其有效範圍是從定義開始到文件結束。預處理命令有宏定義、文件包含和條件編譯三類。#include 命令行表示程序中要引用C標準函數庫中的標準輸入輸出函數。
  5). 下列敘述中,不屬於測試的特徵的是
  A.測試的挑剔性
  B.完全測試的不可能性
  C.測試的可靠性
  D.測試的經濟性
  正確答案:C
  答案解析:軟體測試的目標是在精心控制的環境下執行程序,以發現程序中的錯誤,給出程序可靠性的鑑定。它有3個方面的重要特徵,即測試的挑剔性、完全測試的'不可能性及測試的經濟性。其中,沒有測試的可靠性這一說法。
  6). 以下選項中不屬於C語言標識符的是( )
  A.用戶標識符
  B.關鍵字
  C.常量
  D.預定義標識符
  正確答案:C
  答案解析:C語言的標識符可分為以下3類:
  ①關鍵字語言預先規定了一批標識符,它們在程序中都代表著固定的含義,不能另作他用。這些字符稱為關鍵字。例如,int、double、if、else、while、for等。
  ②預定義標識符。即預先定義並具有特定含義的標識符。
  ③用戶標識符。由用戶根據需要定義的標識符稱為用戶標識符,又稱自定義標識符,一般用來給變量、函數、數組等命名。
  7). 以下關於字符串的敘述中正確的是( )
  A.兩個字符串中的字符個數相同時才能進行字符串大小的比較
  B.可以用關係運算符對字符串的大小進行比較
  C.空串比空格打頭的字符串小
  D.C語言中有字符串類型的常量和變量
  正確答案:C
  答案解析:C語言本身並沒有設置一種類型來定義字符串變量,卻允許使用″字符串常量″。字符串常量是由雙引號括起來的一串字符。任意兩個字符串的大小比較要調用字符串比較函數strcmp(s1,s2 )來進行,其比較的方法是依次對s1和s2中對應位置上的字符兩兩進行比較,當出現第一對不相同的字符時,即由這兩個字符決定所在串的大小(比較字符大小的依據是其ASCⅡ碼值)。
  8). 下列敘述中正確的是( )。
  A.調用printf( )函數時,必須要有輸出項
  B.使用put )函數時,必須在之前包含頭文件stdio.h
  C.在C語言中,整數可以以二進制、八進制或十六進制的形式輸出
  D.調節get )函數讀入字符時,可以從鍵盤上輸入字符所對應的ASCII碼
  正確答案:B
  答案解析:選項A,若printf函數沒有輸出項,且格式字符串中不含格式信息,則輸出的是格式字符串本身,若格式字符串含有格式信息,運行時則出現錯誤提示;選項C,在C語言中,整數可以十進制、八進制或十六進制的形式輸出;選項D,getchar函數是從標準輸入設備讀取一個字符。
  9). 以下結構體類型說明和變量定義中正確的是( )
  A.typedefstruct { int n; char c; } REC; REC t1,t2;
  B.structREC ; { int n; char c; }; REC t1,t2;
  C.typedefstruct REC; { int n=0; char c=′A′; } t1,t2;
  D.struct{ int n; char c; } REC; REC t1,t2;
  正確答案:A
  答案解析:定義結構體類型的一般形式為:struct 結構體名 {成員列表};struct 結構體名後不能加″;″號,所以選項B、C)錯誤,選項D中定義無名稱的結構體類型同時定義結構體變量形式應為struct t1,t2;選項A為用戶自定義類型,其為正確的定義形式。
  10). 若實體A和B是一對多的聯繫,實體B和C是一對一的聯繫,則實體A和C的聯繫是( )
  A.一對一
  B.一對多
  C.多對一
  D.多對多
  正確答案:B
  答案解析:由於B和C有一一對應的聯繫,而A和B只間有一對多的聯繫,則通過關係之間的傳遞,則A和C之間也是一對多的聯繫。
  11). 待排序的關鍵碼序列為(15,20,9,30,67.65,45,90),要按關鍵碼值遞增的順序排序,採取簡單選擇排序法,第一趟排序後關鍵碼15被放到第( )個位置。
  A.2
  B.3
  C.4
  D.5
  正確答案:B
  答案解析:選擇排序的基本思想是掃描整個線性表,從中選出最小的元素,將它交換到表的最前面,然後對剩下的子表採用同樣的方法,直到子表為空。所以第一趟排序後,將選出最小的元素9放在第一個位置,元素15則被交換放在第三個位置。

  計算機二級《C語言》基礎練習題及答案3


  (1) 以下選項中,合法的數值型常量是
  A) 3.2 B) 'X' C) 099 D) 0xEH
  答案:A
  (2) 以下選項中,合法的實數是
  A) 1.5E2 B) E1.1 C) 2.10E D) 1.9E1.4
  答案:A
  (3) 若已有定義語句:int a, b, c;,且變量已正確賦初值,則以下選項中正確的賦值表達式是
  A) a = (b = c) + 8;
  B) (a = b) = c = 9;
  C) a = (b == c) = 'A';
  D) a + b = c + 1;
  答案:A
  (4) 有以下程序
  #include
  main()
  {
  int x = 0x13;
  printf("INT:%d ", x+1);
  }
  程序運行後的輸出結果是
  A) INT:20 B) INT:13
  C) INT:12 D) INT:14
  答案:A
  (5) 關於程序設計基本概念,以下敘述錯誤的是
  A) 計算機可以直接執行由任意高級語言編寫的程序
  B) 高級語言都有與之對應的編譯程序或解釋程序
  C) 用任何一種計算機高級語言都可以把算法轉換為程序
  D) 結構化算法可以解決任何複雜的問題
  答案:A
  (6) 關於程序中的注釋,以下敘述正確的是
  A) 注釋的內容必須放在一對/x和 x/之間
  B) 注釋必須置於所說明的語句前或語句後
  C) 注釋中間可以嵌套另一個注釋
  D) 注釋內容錯誤會導致編譯出錯
  答案:A
  (7) 以下不能用於實型數據的運算符是
  A) % B) /
  C) x D) +
  答案:A
  (8) C源程序中不能表示的數制是
  A) 二進制 B) 八進制
  C) 十進制 D) 十六進制
  答案:A
  (9) 以下選項中,能用作用戶標識符的是
  A) _0_ B) 8_8
  C) void D) unsigned
  答案:A
  (10) 若有定義語句:
  int x=10;
  則表達式x-=x+x的值為
  A) -10 B) -20
  C) 0 D) 10
  答案:A
  (11) 有以下程序
  #include
  main()
  { int a=1,b=0;
  printf("%d,",b=a+b);
  printf("%d ",a=2xb);
  }
  程序運行後的輸出結果是
  A) 1,2 B) 1,0
  C) 3,2 D) 0,0
  答案:A
  (12) 以下關於結構化程序設計的敘述中正確的是
  A) 在C語言中,程序的模塊化是利用函數實現的
  B) 結構化程序使用goto語句會很便捷
  C) 一個結構化程序必須同時由順序、分支、循環三種結構組成
  D) 由三種基本結構構成的程序只能解決小規模的`問題
  答案:A
  (13) 對於一個正常運行的C程序,以下敘述中正確的是
  A) 程序的執行總是從main函數開始 B) 程序的執行總是從程序的第一個函數開始, 在main函數結束
  C) 程序的執行總是從main函數開始,在程序的最後一個函數中結束
  D) 程序的執行總是從程序的第一個函數開始,在程序的最後一個函數中結束
  答案:A
  (14) 以下選項中能表示合法常量的是
  A) "07" B) 1.5E2.0
  C) '' D) 1,200
  答案:A
  (15) 以下定義語句中正確的是
  A) char A=65+1,b='b'; B) int a=b=0;
  C) float a=1,xb=&a,xc=&b; D) double a=0.0; b=1.1;
  答案:A
  (16) 若變量x、y已正確定義並賦值,以下符合C語言語法的表達式是
  A) ++x,y=x-- B) x+1=y
  C) x=x+10=x+y D) double(x)/10
  答案:A
  (17) 若變量已正確定義為int型,要通過語句
  scanf("%d,%d,%d",&a,&b,&c);
  給a賦值1、給b賦值2、給 c賦值3,以下輸入形式中錯誤的是(註:□代表一個空格符)
  A) 1□2□3<回車> B) □□□1,2,3 <回車>
  C) 1,□□□2,□□□3<回車> D) 1,2,3<回車>
  答案:A
  (18) 計算機能直接執行的程序是
  A) 可執行程序 B) 目標程序
  C) 彙編程序 D) 源程序
  答案:A
  (19) 以下敘述中正確的是
  A) C語言規定必須用main作為主函數名,程序將從此開始執行
  B) 可以在程序中由用戶指定任意一個函數作為主函數,程序將從此開始執行
  C) C語言程序將從源程序中第一個函數開始執行
  D) main的各種大小寫拼寫形式都可以作為主函數名,如:MAIN,Main等
  答案:A
  (20) 以下選項中可用作C程序合法實數的是
  A) .1e0 B) 3.0e0.2
  C) E9 D) 9.12E
  答案:A
  (21) 下列定義變量的語句中錯誤的是
  A) float US$; B) double int_;
  C) char For; D) int _int;
  答案:A
  (22) 表達式:(int)((double)9/2)- 9%2 的值是
  A) 3 B) 0 C) 4 D) 5
  答案:A
  (23) 若有定義:
  int a,b;
  通過語句
  scanf("%d;%d",&a,&b);
  能把整數3賦給變量a,5賦給變量b的輸入數據是
  A) 3;5 B) 3,5 C) 3 5 D) 35
  答案:A
  (24) 下列敘述中錯誤的是
  A) 一個C語言程序只能實現一種算法 B) C程序可以由多個程序文件組成
  C) C程序可以由一個或多個函數組成 D) 一個C函數可以單獨作為一個C程序文件存在
  答案:A
  (25) C語言源程序名的後綴是
  A) .C B) .exe C) .obj D) .cp
  答案:A
  (26) 以下敘述中正確的是
  A) 賦值語句是一種執行語句,必須放在函數的可執行部分
  B) scanf和printf是C語言提供的輸入和輸出語句
  C) 由printf輸出的數據都隱含左對齊 D) 由printf輸出的數據的實際精度是由格式控制中的域寬和小數的域寬來完全決定的
  答案:A

  計算機二級《C語言》基礎練習題及答案4


  1、 一個教師講授多門課程,一門課程由多個教師講授。則實體教師與課程關係 B
  A) 1:m 聯繫
  B) m: n 聯繫
  C) m: 1聯繫
  D) 1:1聯繫
  2、 結構化程序所要求的基本結構不包括 B
  A) 重複(循環)結構 B) GOTO跳轉
  C) 選擇(分支)結構 D) 順序結構
  3、 下列敘述中正確的是 C
  A) 在棧中,棧中元素隨棧底指針與棧頂指針的變化而動態變化
  B) 在棧中,棧頂指針不變,棧中元素隨棧底指針的變化而動態變化
  C) 在棧中,棧底指針不變,棧中的元素隨棧頂指針的變化而動態變化
  4、 定義無符號整數類為Uint,下面可以作為unit實例化的值是 C
  A) 0.369
  B) 整數集合{1,2,3,4,5}
  C) 369
  D) -369
  5、 下面描述中錯誤的是(D)
  A) 軟體設計是將軟體需求轉換為軟體表示的過程
  B) PAD圖是軟體詳細設計的表示工具
  C) 數據結構與資料庫設計是軟體設計的任務之一
  D) 系統總體結構圖支持軟體系統的`詳細設計
  6、軟體按功能可以分為應用軟體、系統軟體和支撐軟體,下面的軟體中是應用軟體的是 C
  A) 資料庫管理系統
  B) UNIX作業系統
  C) 學生成績管理系統
  D) C語言編譯程序
  7、下列關於棧敘述正確的是 C
  A) 棧頂元素最後才能被刪除
  B) 棧底元素永遠不能被刪除
  C) 棧頂元素最先能被刪除
  8、軟體生命周期中的活動不包括 A
  A) 市場調研 B) 軟體測試
  C) 軟體維護 D) 需求分析
  9、下列敘述中正確的是 D
  A) 有一個以上根結點的數據結構不一定是非線性結構
  B) 雙向鍊表是非線性結構
  C) 循環鍊表是非線性結構
  D) 只有一個根結點的數據結構不一定是線性結構
  10、下列關於資料庫設計中的敘述中,正確的是 A
  A) 在需求分析階段建立數據字典
  B) 在物理設計階段建立數據字典
  C)在邏輯設計階段建立數據字典
  D) 在概念設計階段建立數據字典
  11、下列敘述中正確的是 D
  A) 設計算法時只需要考慮結果的可靠性
  B) B)算法就是程序
  C) 設計算法時只需要考慮數據結構的設計
  D) D)以上三種說法都不對
  12、程序調試的任務是 A
  A) 診斷和改正程序中的錯誤
  B)設計測試用例
  C) 驗證程序的正確性
  D) 發現程序中的錯誤
  13、下列關於二叉樹的敘述中,正確是 C
  A) 葉子結點是度為2的結點數的兩倍
  B) 度為2的結點數是度為1的結點數的兩倍
  C) 葉子結點總是比度為2的結點多一個
  D) 葉子結點總是比度為2的結點少一個
  14、資料庫系統的三級模式不包括 B
  A) 概念模式 B) 數據模式 C) 內模式 D) 外模式

  計算機二級《C語言》基礎練習題及答案5


  1.(A )是構成C語言程序的基本單位。
  A、函數
  B、過程
  C、子程序
  D、子例程
  2.C語言程序從(C) 開始執行。
  A、 程序中第一條可執行語句
  B、 程序中第一個函數
  C、 程序中的main函數
  D、包含文件中的第一個函數
  3、以下說法中正確的是( C )。
  A、C語言程序總是從第一個定義的函數開始執行
  B、在C語言程序中,要調用的函數必須在main( )函數中定義
  C、C語言程序總是從main( )函數開始執行
  D、C語言程序中的main( )函數必須放在程序的開始部分
  4.下列關於C語言的說法錯誤的是( B ) 。
  A、 C程序的工作過程是編輯、編譯、連接、運行
  B、 C語言不區分大小寫。
  C、 C程序的三種基本結構是順序、選擇、循環
  D、C程序從main函數開始執行
  5.下列正確的標識符是(C )。
  A、-a1
  B、a[i]
  C、a2_i
  D、int t
  5-8題為相同類型題
  考點:標識符的命名規則
  只能由字母、數字、下劃線構成
  數字不能作為標識符的開頭
  關鍵字不能作為標識符
  選項A中的「-」 ,選項B中「[」與「]」不滿足(1);選項D中的int為關鍵字,不滿足(3)
  6.下列C語言用戶標識符中合法的是(B )。
  A、3ax
  B、x
  C、case
  D、-e2 E)union
  選項A中的標識符以數字開頭不滿足(2);選項C,E均為為關鍵字,不滿足(3);選項D中的「-」不滿足(1);
  7.下列四組選項中,正確的.C語言標識符是( C )。
  A、 %x
  B、a+b
  C、a123
  D、123
  選項A中的「%」 ,選項B中「+」不滿足(1);選項D中的標識符以數字開頭不滿足(2)
  8、下列四組字符串中都可以用作C語言程序中的標識符的是( A)。
  A、print _3d db8 aBc
  B、Iam one_half start$it 3pai
  C、str_1 Cpp pow while
  D、Pxq My->book line# His.age
  選項B中的「」,」$」 ,選項D中「>」,」#」,」.」,」-」不滿足(1);選項C中的while為關鍵字,不滿足(3)
  9.C語言中的簡單數據類型包括(D )。
  A、整型、實型、邏輯型
  B、整型、實型、邏輯型、字符型
  C、整型、字符型、邏輯型
  D、整型、實型、字符型
  10.在C語言程序中,表達式5%2的結果是 C 。
  A、2.5
  B、2
  C、1
  D、3
  %為求余運算符,該運算符只能對整型數據進行運算。且符號與被模數相同。5%2=1; 5%(-2)=1;(-5)%2=-1;(-5)%(-2)=-1;
  /為求商運算符,該運算符能夠對整型、字符、浮點等類型的數據進行運算,5/2=2

  計算機二級《C語言》基礎練習題及答案6


  1.下列關於棧敘述正確的是( )。
  A.棧頂元素最先能被刪除
  B.棧頂元素最後才能被刪除
  C.棧底元素永遠不能被刪除
  D.以上三種說法都不對
  2.下列敘述中正確的是( )。
  A.有一個以上根結點的數據結構不一定是非線性結構
  B.只有一個根結點的數據結構不一定是線性結構
  C.循環鍊表是非線性結構
  D.雙向鍊表是非線性結構
  3.某二叉樹共有7個結點,其中葉子結點只有1個,則該二叉樹的深度為(假設根結點在第1層)( )。
  A.3
  B.4
  C.6
  D.7
  4.在軟體開發中,需求分析階段產生的主要文檔是( )。
  A.軟體集成測試計劃
  B.軟體詳細設計說明書
  C.用戶手冊
  D.軟體需求規格說明書
  5.結構化程序所要求的基本結構不包括( )。
  A.順序結構
  B.GOT0跳轉
  C.選擇(分支)結構
  D.重複(循環)結構
  6.下面描述中錯誤的是( )。
  A.系統總體結構圖支持軟體系統的詳細設計
  B.軟體設計是將軟體需求轉換為軟體表示的過程
  C.數據結構與資料庫設計是軟體設計的任務之一
  D.PAD圖是軟體詳細設計的表示工具
  7.負責資料庫中查詢操作的資料庫語言是( )。
  A.數據定義語言
  B.數據管理語言
  C.數據操縱語言
  D.數據控制語言
  8.一個教師可講多門課程,一門課程可由多個教師講授,則實體教師和課程間的聯繫是( )。
  A.1:1聯繫
  B.1:m聯繫
  C.m:1聯繫
  D.m:n聯繫
  9.有3個關係R、S和T如下表所示:
  則由關係R和S得到關係T的操作是( )。
  A.自然連接
  B.交
  C.除
  D.並
  10.定義無符號整數為Uint,下面可以作為類Uint實例化值的是( )。
  A.-369
  B.369
  C.0.369
  D.整數集合{1,2,3,4,5}
  11.為了提高函數調用的實際運行速度,可以將較簡單的函數定義為( )。
  A.內聯函數
  B.重載函數
  C.遞歸函數
  D.函數模板
  12.若AA為一個類,a為該類的非靜態數據成員,在該類的一個成員函數定義中訪問a時,其書寫格式為( )。
  A.a
  B.AA.a
  C.a{}
  D.AA:a{}
  13.當派生類從一個基類保護繼承時,基類中的一些成員在派生類中成為保護成員,這些成員在基類中原有的訪問屬性是( )。
  A.任何
  B.公有或保護
  C.保護或私有
  D.私有
  14.若要對Date類中重載的加法運算符成員函數進行聲明,下列選項中正確的`是( )。
  A.Data+(Data);
  B.Dataoperator+(Data);
  C.Data+operator(Data);
  D.operator+(Data.Data);
  15.下列關於函數模板的描述中,正確的是( )。
  A.函數模板是一個實例函數
  B.使用函數模板定義的函數沒有返回類型
  C.函數模板的類型參數與函數的參數相同
  D.通過使用不同的類型參數,可以從函數模板得到不同的實例函數
  16.C++系統預定義了3個用於標準數據流的對象,下列選項中不屬於此類對象的是( )。
  A.cout
  B.cin
  C.cerr
  D.cset
  17.Windows環境下,由C++源程序文件編譯而成的目標文件的擴展名是( )。
  A.cpp
  B.exe
  C.obj
  D.lik
  18.字符串「a+b=12 」的長度為( )。
  A.12
  B.10
  C.8
  D.6
  19.有如下程序:
  #include
  usingnamespacestd;
  intmain( ){
  intf,f1=0,f2=1;
  for(inti=3;i<=6;i++){
  f=f1+f2:
  f1=f2;f2=f;
  }
  cout
  }
  運行時的輸出結果是( )。
  A.2
  B.3
  C.5
  D.8
  20.有如下程序:
  #include
  usingnamespacestd;
  intmain( ){
  inta[6]={23,15,64,33,40,58};
  ints1,s2;
  s1=s2=a[0];
  for(intxp=a+1;pif(s1>xp)s1=xp;
  if(s2<xp)s2=xp;
  }
  cout
  }
  運行時的輸出結果是( )。
  A.23
  B.58
  C.64
  D.79
  21.有如下程序:
  #included
  usingnamespacestd;
  voidfl(int&X,int&y){intz=x;x=y;y=z;)voidf2(intX,inty){intz=x;x=y;y=z;}intmain( ){
  intx=10,y=26;
  f1(X,y);
  f2(x,y);
  cout
  }
  運行時的輸出結果是( )。
  A.10
  B.16
  C.26
  D.36
  22.有如下程序:
  #include
  usingnamespacestd;
  classXA{
  inta;
  public:
  staticintb;
  XA(intaa):a(aa){b++;}
  ~XA( ){}
  intget( ){returna;}
  };
  intXA::b=0
  intmain( ){
  XAd1(1),d2(3);
  cout
  }
  運行時的輸出結果是( )。
  A.5
  B.6
  C.7
  D.8
  23.有如下程序:
  #include
  usingnamespacestd:
  classPoint{
  intx,y;
  public:
  Point(intx1=0,inty1=0)):X(X1),y(y1){}
  intget( ){returnx+y;)
  };
  classCircle{
  Pointcenter}
  intradius;
  public:
  Circle(intCX,intcy,intr):center(cx,cy),radius(r)
  {}
  intget( ){returncenter.get( )+radius;}
  };
  intmain( ){
  Circlec(3,4,5);
  cout
  }
  運行時的輸出結果是( )。
  A.5
  B.7
  C.9
  D.12
  24.若是對類BigNumber中重載的類型轉換運算符long進行聲明,下列選項中正確的是( )。
  A.operatorlong( )const;
  B.operatorlong(BigNumber);
  C.longoperatorlong( )const;
  D.longoperatorlong(BigNumber);
  25.有如下函數模板定義:
  template
  T1FUN(T2n){returnnx5,0;}
  若要求以int型數據9作為函數實參調用該模板,並返回一個double型數據,則該調用應表示為( )。
  A.FUN(9)
  B.FUN<9>
  26.下列語句都是程序運行時的第1條輸出語句,其中一條語句的輸出效果與其他3條語句不同,該語句是( )。
  A.cout
  A.析構函數可以重載
  B.析構函數由系統自動調用
  C.每個對象的析構函數隻被調用一次
  D.每個類都有析構函數
  28.下列關於構造函數的描述中,錯誤的是( )。
  A.構造函數名與類名相同
  B.構造函數可以有返回值
  C.構造函數可以重載
  D.每個類都有構造函數
  29.若PAT是一個類,則程序運行時,語句「PAT(xad){3};」調用PAT的構造函數的次數是( )。
  A.0
  B.1
  C.2
  D.3
  30.下列描述中,錯誤的是( )。
  A.公有繼承時基類中的公有成員在派生類中仍是公有成員
  B.公有繼承時基類中的保護成員在派生類中仍是保護成員
  C.保護繼承時基類中的公有成員在派生類中仍是公有成員
  D.保護繼承時基類中的保護成員在派生類中仍是保護成員
  31.生成派生類對象時,派生類構造函數調用基類構造函數的條件是( )。
  A.無需任何條件
  B.基類中顯式定義了構造函數
  C.派生類中顯式定義了構造函數
  D.派生類構造函數明確調用了基類構造函數
  32.下列關於派生類和基類的描述中,正確的是( )。
  A.派生類成員函數只能訪問基類的公有成員
  B.派生類成員函數只能訪問基類的公有和保護成員
  C.派生類成員函數可以訪問基類的所有成員
  D.派生類對基類的默認繼承方式是公有繼承
  33.有如下類模板定義:
  template
  classBigNumber{
  longn;
  public;
  BigNumber(Ti):n(i){}
  BigNumberoperator+(BigNumberb){
  returnBigNumber(n+b.n):
  }
  };
  已知b1、b2是BigNumber的兩個對象,則下列表達式中錯誤的是( )。
  A.b1+b2
  B.b1+3
  C.3+b1
  D.3+3
  34.下列關於文件流的描述中,正確的是( )。
  A.文件流只能完成針對磁碟文件的輸入、輸出
  B.建立一個文件流對象時,必須同時打開一個文件
  C.若輸入流要打開的文件不存在。將建立一個新文件
  D.若輸出流要打開的文件不存在,將建立一個新文件
  35.有如下程序:
  #include
  usingnamespacestd;
  classPair{
  intm,n;
  public;
  Pair(intj,intk):m(j),n(k){}
  intget( ){returnIn;}
  intget( )const{returnm+n;}
  };
  intmain( ){
  Paira(3,5);
  constPairb(3,5);
  cout
  }
  運行時的輸出結果是( )。
  A.33
  B.38
  C.83
  D.88
  36.下列敘述中正確的是( )。
  A.全局變量的作用域一定比局部變量的作用域範圍大
  B.靜態類別變量的生存期貫穿於整個程序的運行期間
  C.函數的形參都屬於全局變量
  D.未在定義語句中賦初值的aut0變量和static變量的初值都是隨機值
  37.假定MyClass為一個類,則執行MyClassa,b(2),xp;語句時,自動調用該類構造函數( )次。
  A.2
  B.3
  C.4
  D.5
  38.能正確表示邏輯關係」a≥10或a≤0」的C++語言表達式是( )。
  A.a>=10ora<=0
  B.a)一01a(一10
  C.a>=10&&a<=0
  D.a>=10||a(=0
  39.若執行下面的程序時,從鍵盤上輸入5和2,則輸出結果是( )。
  #include(iostream.h)
  voidmain( )
  (inta,b,k;
  cin>>a>>b;
  k=a:
  if(ak=a%b;
  else
  k=b%a:
  cout((k
  B.3
  C.2
  D.0
  40.假定MyClass為一個類,那麼下列的函數說明中,( )為該類的析構函數。
  A.void~MyClass( );
  B.~MyC|ass(intn);
  C.MyClass( );
  D.~MyClass( );

收藏

相關推薦

清純唯美圖片大全

字典網 - 試題庫 - 元問答 - 简体 - 頂部

Copyright © cnj8 All Rights Reserved.