2025年計算機二級考試C語言練習題及答案(精選7套)
在日常學習和工作生活中,我們最離不開的就是練習題了,學習需要做題,是因為這樣一方面可以了解你對知識點的掌握,熟練掌握知識點!同時做題還可以鞏固你對知識點的運用!那么一般好的習題都具備什么特點呢?以下是小編收集整理的2025年計算機二級考試C語言練習題及答案(精選7套),供大家參考借鑒,希望可以幫助到有需要的朋友。

計算機二級考試C語言練習題及答案 1
練習題一
1.(A )是構成C語言程序的基本單位。
A、函數
B、過程
C、子程序
D、子例程
2.C語言程序從 C 開始執行。
A、 程序中第一條可執行語句
B、 程序中第一個函數
C、 程序中的main函數
D、包含文件中的第一個函數
3、以下說法中正確的是( D )。
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、I\am 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
11.如果int a=3,b=4;則條件表達式"aA、 3
B、 4
C、 0
D、1
表達式1?表達式2:表達式3
先計算表達式1,
若表達式1成立, 則選擇計算表達式2,并表達式2的值作為整個大表達式的值;
若表達式1不成立,則選擇計算表達式3,并將表達式3的值作為整個大表達式的值
此題中的aa為3,b為4。a12.若int x=2,y=3,z=4 則表達式x
A、4
B、3
C、2
D、0
E)1
13.C語言中,關系表達式和邏輯表達式的值是( B ) 。
A、0
B、 0或1
C、 1
D、‘T’或’F’
14. 下面( D )表達式的值為4.
A、 11/3
B、 11.0/3
C、 (float)11/3
D、 (int)(11.0/3+0.5)
(1)相同數據類型的元素進行數學運算(+、-、*、/)得到結果還保持原數據類型。
(2)不同數據類型的元素進行數學運算,先要統一數據類型,統一的標準是低精度類型轉換為高精度的數據類型。
選項A,11與3為兩個整數,11/3結果的數據類型也應為整數,因此將3.666666的小數部分全部舍掉,僅保留整數,因此11/3=3.
選項B,11.0為實數,3為整數,因此首先要統一數據類型,將整型數據3轉換為3.0,轉換后數據類型統一為實型數據,選項B變為11.0/3.0,結果的數據類型也應為實型數據,因此選項B 11.0/3=3.666666
選項C,先將整數11強制類型轉換,轉換為實型11.0,因此選項C變為11.0/3,其后計算過程、結果與選項B同
選項D,首先計算11.0/3,其計算過程、結果與選項B同,得到3.666666;再計算3.666666+0.5=4.166666,最后將4.166666強制類型轉換為整型,即將其小數部分全部舍掉,結果為4
15.設整型變量 a=2,則執行下列語句后,浮點型變量b的值不為0.5的是( B )
A、b=1.0/a
B、b=(float)(1/A、
C、b=1/(float)a
D、b=1/(a*1.0)
練習題二
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、無確定值
5 7
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)
詳見教材P150,數組元素的引用
數組名[下標] [下標]
引用數組元素時,[ ]中的下標為邏輯地址下標,只能為整數,可以為變量,且從0開始計數
第一個[下標]表示行邏輯地址下標,第二個[下標]表示列邏輯地址下標。
本題圖示詳見P149圖6.7
因此a的行邏輯地址范圍0~2;a的列邏輯地址范圍0~3;
選項A,列邏輯地址下標超過范圍
選項B,D,的引用形式不正確。
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,*p;
p=&stu1;
A、 stu1.age
B、 student.age
C、 p->age
D、(*p).age
13.設有如下定義:
struck sk
{ int a;
float b;
}data;
int *p;
若要使P指向data中的a域,正確的賦值語句是 C
A、 p=&a;
B、 p=datA、a;
C、p=&datA、a;
D、*p=datA、a;
14.設有以下說明語句:
typedef struct stu
{ int a;
float b;
} stutype;
則下面敘述中錯誤的是( D )。
A、struct是結構類型的關鍵字
B、struct stu是用戶定義的結構類型
C、a和b都是結構成員名
D、stutype是用戶定義的結構體變量名
15.語句int *p;說明了 C 。
A、p是指向一維數組的指針
B、p是指向函數的指針,該函數返回一int型數據
C、p是指向int型數據的指針 // 指針的定義教材P223
D、p是函數名,該函數返回一指向int型數據的指針
計算機二級考試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類:①關鍵字。C語言預先規定了一批標識符,它們在程序中都代表著固定的含義,不能另作他用。這些字符稱為關鍵字。例如,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.不再需要頭指針了
B.從表中任一結點出發都能訪問到整個鏈表
C.在進行插入、刪除運算時,能更好的保證鏈表不斷開
D.已知某個結點的位置后,能夠容易的找到它的直接前件
正確答案:B
2). 下述關于數據庫系統的敘述中,正確的是( )。
A.數據庫系統減少了數據冗余
B.數據庫系統避免了一切冗余
C.數據庫系統中數據的一致性是指數據類型一致
D.數據庫系統比文件系統能管理更多的數據
正確答案:A
答案解析:數據庫系統會減少數據冗余,但不可能避免一切冗余。
3). 設樹T的度為4,其中度為1、2、3、4的結點個數分別為4、2、l、1。則T中的葉子結點的個數為( )。
A.8
B.7
C.6
D.5
正確答案:A
答案解析:將題中所述的樹用圖形表示,可得葉子結點數目。
4). 數據庫設計包括兩個方面的設計內容,他們是( )。
A.概念設計和邏輯設計
B.模式設計和內模式設計
C.內模式設計和物理設計
D.結構特性設計和行為特性設計
正確答案:A
答案解析:數據庫設計包括數據庫概念設計和數據庫邏輯設計兩個方面的內容。
5). 沒函數中有整型變量n,為保證其在未賦初值的情況下初值為0,應選擇存儲類別是( )。
A.auto
B.register
C.static
D.auto或register
正確答案:C
答案解析:未賦初值的靜態局部變量,編譯程序自給它賦初值0。所以選擇C。
6). 為了使模塊盡可能獨立,要求( )。
A.模塊的內聚程度要盡量高,且各模塊間的耦合程度要盡量強
B.模塊的內聚程度要盡量高,且各模塊間的耦合程度要盡量弱
C.模塊的.內聚程度要盡量低,且各模塊間的耦合程度要盡量弱
D.模塊的內聚程度要盡量低,且各模塊間的耦合程度要盡量強
正確答案:B
答案解析:耦合是指模塊之間的關聯程度,而內聚是指模塊內部各部分的聚合程度。模塊之間的關聯程度越小,模塊內部的聚合程度越高,越容易維護。在程序設計中應追求高內聚低耦合。
7). 若函數中有定義語句″int k;″,則( )。
A.系統將自動給k賦初值O
B.這時k中的值無定義
C.系統將自動給k賦初值-1
D.這時k中無任何值
正確答案:B
答案解析:根據題目,若以這種方式定義變量k時,編譯程序僅為k開辟存儲單元,并未在存儲單元中存放任何初始值,所以變量中的值無意義,稱變量值″無定義″。所以正確答案為選項B。
8). 下列對于軟件測試的描述正確的是( )。
A.軟件測試的目的是證明程序是否正確
B.軟件測試的目的是使程序運行結果正確
C.軟件測試的目的是盡可能地多發現程序中的錯誤
D.軟件測試的目的是使程序符合結構化原則
正確答案:C
答案解析:軟件測試是為了盡可能多地發現程序中的錯誤,尤其是發現至今尚未發現的錯誤。
9). 下列枚舉類型的定義中,包含枚舉值3的是( )。
A.enum test{ RED,YELLOW,BLUE,BLACK};
B.enum test{ RED,YELLOW= 4,BLUE,BLACK};
C.enum test{ RED= -1,YELLOW,BLUE,BLACK};
D.enum test{ RED,YELI,OW=6 ,BLUE,BLACK};
正確答案:A
答案解析:本題主要考查枚舉類型的定義,其中幾個枚舉值全部未賦常量值時,它們自左至右分別與整數0,1,…,n-l對應。由此可判斷本題答案。
10). 能正確表示邏輯關系″a≥10或a≤O″的C++語言表達式是( )。
A.jsj-ej-0130.jpg
B.jsj-ej-0131.jpg
C.jsj-ej-0132.jpg
D.jsj-ej-0133.jpg
正確答案:D
答案解析:邏輯運算符″II″表示或的意思。
11). 下列關于C++函數的說明中,正確的是( )。
A.內聯函數就是定義在另一個函數體內部的函數
B.函數體的最后一條語句必須是return語句
C.標準C++要求在調用一個函數之前,必須先聲明其原型
D.編譯器會根據函數的返回值數型和參數表來區分函數的不同重載形式
正確答案:C
答案解析:內聯函數不是定義在另一個函數體內部的函數,而是將lnllne放在函數定義中函數類型之前;函數體的最后一條語句可以是任意的語句;編譯器不會根據函數返回值的類型來區分重載形式,選項D錯誤。標準C++要求在調用一個函數之前,必須先聲明其原型。
12). 已知一棵二叉樹前序遍歷和中序遍歷分別為ABDEGCFH和DBGEACHF,則該二叉樹的后序遍歷為
A.GEDHFBCA
B.DGEBHFCA
C.ABCDEFGH
D.ACBFEDHG
正確答案:B
計算機二級考試C語言練習題及答案 4
1.結構化程序所要求的基本結構不包括( )。
A)順序結構
B)GOTO跳轉
C)選擇(分支)結構
D)重復(循環)結構
答案:B
2.定義無符號整數類為UInt,下面可以作為類UInt實例化值的是( )。
A)-369
B)369
C)0.369
D)整數集合{1,2,3,4,5}
答案:B
3.軟件生命周期是指( )。
A)軟件產品從提出、實現、使用維護到停止使用退役的過程
B)軟件從需求分析、設計、實現到測試完成的過程
C)軟件的開發過程
D)軟件的運行維護過程
答案:A
4.軟件按功能可以分為應用軟件、系統軟件和支撐軟件(或工具軟件)。下面屬于應用軟件的是( )。
A)學生成績管理系統
B)C語言編譯程序
C)UNIX操作系統
D)數據庫管理系統
答案:A
5.下面描述中錯誤的是( )。
A)系統總體結構圖支持軟件系統的詳細設計
B)軟件設計是將軟件需求轉換為軟件表示的過程
C)數據結構與數據庫設計是軟件設計的任務之一
D)PAD圖是軟件詳細設計的表示工具
答案:A
6.軟件生命周期中的活動不包括( )。
A)市場調研
B)需求分析
C)軟件測試
D)軟件維護
答案:A
7.程序調試的任務是( )。
A)設計測試用例
B)驗證程序的正確性
C)發現程序中的錯誤
D)診斷和改正程序中的錯誤
答案:D
8.下列關于數據庫設計的敘述中,正確的`是( )。
A)在需求分析階段建立數據字典
B)在概念設計階段建立數據字典
C)在邏輯設計階段建立數據字典
D)在物理設計階段建立數據字典
答案:A
9.某二叉樹共有12個結點,其中葉子結點只有1個。則該二叉樹的深度為(根結點在第1層)( )。
A)3
B)6
C)8
D)12
答案:D
10.對長度為n的線性表作快速排序,在最壞情況下,比較次數為( )。
A)n
B)n-1
C)n(n-1)
D)n(n-1)/2
答案:D
11.結構化程序設計的基本原則不包括( )。
A)多態性
B)自頂向下
C)模塊化
D)逐步求精
答案:A
12.在面向對象方法中,不屬于“對象”基本特點的是( )。
A)一致性
B)分類性
C)多態性
D)標識唯一性
答案:A
13.下列選項中不屬于結構化程序設計原則的是( )。
A)自頂向下
B)可封裝
C)模塊化
D)逐步求精
答案:B
14.數據庫管理系統是( )。
A)操作系統的一部分
B)在操作系統支持下的系統軟件
C)一種編譯系統
D)一種操作系統
答案:B
15.面向對象方法中,繼承是指( )。
A)一組對象所具有的相似性質
B)一個對象具有另一個對象的性質
C)各對象之間的共同性質
D)類之間共享屬性和操作的機制
答案:D
計算機二級考試C語言練習題及答案 5
綜合應用題
使用VC++6.0打開考生文件夾下的源程序文件3.cpp,其中定義了用于表示個人基本信息的類PInfo,但類PInfo的定義并不完整。請按要求完成下列操作,將類Pin-fo的定義補充完成:
(1)定義私有數據成員bloodType用于表示血型,血型為char型的數據。請在注釋1之后添加適當的語句。
(2)完成構造函數的定義,要求具有默認值,默認值為
身高175,體重70,血型A。請在注釋2之后添加適當的語句。
(3)完成類PInfo外成員函數SetInfo的定義。請在注
釋3之后添加適當的語句。
(4)在主函數main中調用成員函數Setlnfo,把對象d2的3個私有數據成員分別設定為身高170,體重64,血型B。
請在注釋4之后添加適當的語句。
注意:除在指定位置添加語句之外,請不要改動程序中的其他內容。
試題程序:
#include
classPlnfo
{
private:
intheight;
intweight;
//********1********
public:
//********2********
:height(ht),weight(wt),bloodType(bt){};
Plnfo(Plnfo&h1):height(h1.height),
weight(h1.weight),bloodType(h1.bloodType){}
intGetHeight()
{
returnheight;
}
intGetWeight()
{
returnweight;
}
intGetBloodType()
{
returnbloodType;
}
voidSetlnfo(intht,intwt,charbt);
voidDisplay();
};
//********3********
{
height=ht;
weight=wt;
bloodType=bt;
}
voidPlnfo:Display()
{
cout<<"Humanlnf0:";
cout< Type"< } voidmain() { PInfoh1(169,61,’A’); Plnfoh2; Plnfoh3(h1); Plnfoh4(h2); //********4******** h1.Display(); h2.Display(); h3.Display(): h4.Display(); } 答案解析: (1)應添加“charbloodType;”。 (2)應添加“Plnfo(intht=175,intwt=70,charbt=’A’)”。 (3)應添加“voidPlnf0:Setlnfo(intht,intwt,charbt)”。 (4)應添加“h2.SetInfo(170,64,’B’);”。 【解析】本題第1處定義私有數據成員為chat:型的bloodType,故第1處應添加“charbloodType;”。構造Plnfo()完成3個成員的初始化,并且帶有默認值參數,默認值為身高175,體重70,血型A,由函數體語句可知參數名分別為ht、wt和bt,因此第2處應添加“Pinto(intht=175,intwt=70,charbt=’A’)”。第3處的'語句在類外完成成員函數Setlnfo的定義,在類外定義成員函數的格式為“(返回值類型><類名>:<成員函數)(<參數表>)”,故第3處應添加“voidPlnfo:Setlnfo(intht,intWt,charbt)”。調用函數Setlnfo需要3個參數,程序要求把對象d2的3個私有數據成員分別設定為身高170,體重64,血型為B,即把這3個值傳入函數Setlnfo,因此第4處應添加“h2.Setlnfo(170,64,’B’);”。 單選題 1). 如果進棧序列為e1、e2、e3、e4,則可能的出棧序列是( )。 A.e3、e1、e4、e2 B.e2、e4、e3、el1 C.e3、e4、e1、e2 D.任意順序 正確答案:B 答案解析:根據棧先進后出的特點可知el肯定是最后出棧的,因此正確答案為選項B。 2). 對于重載的運算符>>,它是一個( ) A.用于輸入的友元函數 B.用于輸入的成員函數 C.用于輸出的友元函數 D.用于輸出的成員函數 正確答案:A 3). NULL是指 A.0 B.空格 C.未知的值或無任何值 D.空字符串 正確答案:C 答案解析:此題屬于記憶性的題目,NULL是指未知的值或無任何值。 4). 用鏈表表示線性表的優點是( ) A.便于隨機存取 B.花費的存儲空間較順序存儲少 C.便于插入和刪除操作 D.數據元素的物理順序與邏輯順序相同 正確答案:C 5). 結構化程序設計主要強調的是( ) A.程序的規模 B.程序的效率 C.程序設計語言的先進性 D.程序易讀性 正確答案:D 6). 下面關于C++流的.敘述中,正確的是( )。 A.cin是一個輸入流對象 B.可以用ifstream定義一個輸出流對象 C.執行語句序列char* y=″PQMN″;cout< D.執行語句序列char x[80];cin.getline(x,80);時,若輸入Happy new year,則x中的字符串是″Happy″ 正確答案:A 答案解析:本題考查C++流的概念和I/()的格式化。cin是istream類的對象,即輸入流對象。ifstream是輸入文件流,類不能定義個輸出流對象。getline函數的功能是允許從輸入流中讀取多個字符,并且允許指定輸入終止,在讀取完成后,從讀取的內容中刪除該終止字符,所以D選項中的語句序列后x中字符串應該是Happy new year。 單選題 1). 若已定義的函數有返回值,則以下關于該函數調用的敘述中錯誤的是 A.函數調用可以作為獨立的語句存在 B.函數調用可以作為一個函數的實參 C.函數調用可以出現在表達式中 D.函數調用可以作為一個函數的形參 正確答案:D 2). 下列是用戶自定義標識符的是 A._w1 B.3_xy C.int D.LINE-3 正確答案:A 3). 以下敘述中不正確的是 A.在不同的函數中可以使用相同的名字的變量 B.函數中的形式參數是局部變量 C.在一個函數內定義的變量只在本函數范圍內有效 D.在一個函數內的復合語句中定義的變量在本函數范圍內有效 正確答案:D 4). 以下描述錯誤的是 A.C程序中,函數可以直接或間接的調用自己 B.函數調用時,函數名必須與所調用的函數名字完全一致 C.函數說明語句中的'類型必須與函數返回值的類型一致 D.實參數可以與形參個數不一致 正確答案:D 5). 下列說法中正確的是( )。 A.C程序書寫時,不區分大小寫字母 B.C程序書寫時,一行只能寫一個語句 C. C程序書寫時,一個語句可分成幾行書寫 D. C程序書寫時每行必須有行號 正確答案:C 答案解析:C語言嚴格區分大小寫字母,如"A1"和"a1"被認為是兩個不同的標識符,C程序的書寫非常靈活,既可以一行多句,又可以一句多行,且每行不加行號。 6). 已知:char a[20]= "abc",b[20]= "defghi";則執行下列語句后的輸出結果為printf("%d",strlen(strcpy(a,b))); A.11 B.6 C.5 D.以上答案都不正確 正確答案:B 【計算機二級考試C語言練習題及答案】相關文章: 計算機二級考試《C語言》強化練習題及答案09-21 2016計算機二級考試C語言練習題及答案07-08 計算機二級《C語言》練習題及答案11-27 計算機二級C語言練習題及答案09-20 計算機二級C語言練習題及答案201707-26 計算機二級C語言考前練習題及答案10-27 計算機二級《C語言》基礎練習題及答案10-10 2017計算機二級C語言精選練習題及答案09-20 計算機二級C語言章節練習題及答案11-27 2016計算機二級《C語言》練習題及答案10-02 計算機二級考試C語言練習題及答案 6
計算機二級考試C語言練習題及答案 7