計算機二級C上機考試試題及答案(精選4套)
在各領域中,我們或多或少都會接觸到試題,借助試題可以更好地考查參試者所掌握的知識和技能。一份好的試題都是什么樣子的呢?下面是小編為大家整理了計算機二級C++上機考試題及答案,希望能幫助到大家!
計算機二級C上機考試試題及答案 1
2016年計算機二級C上機考試試題及答案
使用VC++6.0打開考生文件夾下的源程序文件3.cpp。其中定義的類不完整,按要求完成下列操作,將類的定義補充完整。
(1)完成TC的構造函數,請改正注釋1后的錯誤。
(2)完成func函數定義,請改正注釋2后的'錯誤。
(3)初始化CmyClass的成員變量Num3為4,請改正注釋3后的錯誤。
(4)完成func函數,請改正注釋4后的錯誤。
輸出的結果為
Num1=12
Num2=18
Num3=16
Num1=4
Num2=2
Num3=19
注意:除在指定位置添加語句之外,不要改動程序中的其他內容。
試題程序:
#include
classTC
{
public:
//********1********
TC(inti,intj)
{
Numl=i;
Num3+=i:
}
voiddisplay()
{
cout<<"Num1="< cout<<"Num2="< cout<<"Num3="< }
voidAddNum(inti)
{
Num3+=i;
}
private:
intNum1;
constintNum2;
staticintNum3;
//********2********
};
//********3********
voidfunc()
{
TCobj(1,2);
obj.Num1=4;
//********4********
obj.AddNum();
ohj.display();
}
voidmain()
{
TCmyObj(12,18);
myObj.display();
rune();
return;
}
(1)將“TC(inti,intj)”補充完整為“TC(inti,intj):Num2(j)”。
(2)應添加“friendvoidfunc();”。
(3)應添加“intTC:Num3=4;”。
(4)將“obi.AddNum()”補充完整為“obj.AddNum(2);”。
【解析】本題在第1處完成類的構造函數初始化類的成員變量,常數據成員也必須初始化,并且不能被更新,常數據成員的初始化只能通過構造函數的成員初始化類表進行,因此第1處的語句應為“TC(inti,intj):Num2(j)”,i用來初始化Num1和Num3,j初始化Num2。第2處完成fune的函數定義,由審題分析可知,函數fune為類的友元,故第2處的語句應為“friendvoidrune();”。第3處的語句是靜態成員的初始化,靜態數據成員的初始化格式為“(數據類型)<類名>:<靜態數據成員)=<初始值>”,因此第3處的語句應為“intTC:Num3=4;”。成員函數AddNum帶有一個整型參數,因此調用此函數時必須有參數傳入,可由程序運行結果分析得知傳入的參數值的大小。在fun函數內,定義TCobj(1,2)后,obj.Num1=1,obj.Num2=2,Num3=16+1=17,obj.Num1=4,Numl為4,obj。Num2為常數據成員,其值不會改變,調用AddNum函數后調用顯示函數顯示成員變量值,可知Num3為19,因此AddNum()的參數為19-17=2,即第4處的語句應為“obj.AddNum(2);”。
計算機二級C上機考試試題及答案 2
試題1:班級通訊錄程序填空題
給定程序的功能是調用fun
函數建立班級通訊錄,記錄每位學生的編號、姓名和號碼。通訊錄中的`數據寫入名為myfile5.dat
的二進制文件中。請在程序的下劃線處填入正確的內容,使程序能夠正確運行。
void fun() {
FILE *fp;
int i;
if ((fp = fopen("myfile5.dat", "wb")) == NULL) return(0);
printf("Output data to file!\n");
for (i = 0; i < N; i++) {
fwrite(td[i], sizeof(STYPE), 1, fp);
}
fclose(fp);
return(1);
}
試題2:字符串反轉程序修改題
給定程序fun
的功能是將字符串中的字符按正序存入s
,然后將剩余字符按逆序連接到s
的末尾。例如,當輸入字符串為“ABCDE”時,輸出應為“ABCDEEDCBA”。請改正程序中的錯誤,使其能夠正確運行。
void fun(char *s, char *t) {
int i, len = strlen(s);
for (i = 0; i < len / 2; i++) {
char temp = s[i];
s[i] = s[len - i - 1];
s[len - i - 1] = temp;
}
}
試題3:矩陣操作題
給定程序中的fun
函數功能是:將N*N矩陣的主對角線對稱元素相加,并將結果存放在左下三角元素中,右上三角元素置為0。例如,當N=3時,矩陣如下:
1 2 3
4 5 6
7 8 9
請在橫線上填入正確的表達式或語句。
void fun(int (*t)[N]) {
int i, j;
for (i = 1; i < N; i++) {
for (j = 0; j < N; j++) {
t[i][j] = t[i][j] + t[j][i]; // 主對角線對稱元素相加
t[j][i] = 0; // 右上三角元素置為0
}
}
}
計算機二級C上機考試試題及答案 3
簡單應用題
使用VC++6.0打開考生文件夾下的源程序文件2.cpp。閱讀下列函數說明和代碼,補充空出的代碼。函數IsPalindromes(char*string)實現的功能是判定給定的字符串是否構成回文字符串,如果是則返回1,否則返回0。
例如:abcdcba或者l234321都認為是回文字符串。
如果串為空或一個字母時,均認為是回文字符串。
注意:不能修改程序的其他部分,只能補充IsPatin-dromes函數。
試題程序:
#include
#defineMAXLEN1024
boolIsPalindromes(char*string)
{
}
voidmain()
{
charstr[MAXLEN];
cout<<"請輸入一行文字"< cin.getline(str,MAXLEN); cout< return; } 答案: intlen=0: for(;string[len]!=NULL;len++)//獲取字符串 的長度 ; len--;//下標從0開始到1en-1 for(inti=0;i if(string[i]!=string[1en])//不等說明不同,返 回0 return0; } return1; 【解析】本題由于字符串的長度是未知的,先利用循環求出字符串的長度,循環變量從0開始,直到數組的'末尾,string[len]==NULL為循環結束條件,如此便得到了數組的長度len。知道長度后就可以判斷對稱位置的元素是否相同,比如第一個元素和最后一個元素,第二個元素和倒數第二個元素,如此比較下去直到到了最中間的元素為止。可以利用循環來比較是否對稱,設置另一個循環變量i,i從0開始表示從數組的頭部開始讀數,len從數組的尾部開始讀數,如果string[i]!=slring[len],則跳出循環返回0,如果循環結束還沒發現不同,則返回1。 綜合應用題 使用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’);”。 【計算機二級C上機考試試題及答案】相關文章: 計算機二級C上機考試試題及答案06-22 計算機二級C語言考試上機沖刺試題及答案09-08 2016計算機等級考試二級C++上機模擬試題及答案07-14 計算機等級二級C語言上機模擬試題及答案10-25 華為C語言上機試題及答案07-01 計算機二級C上機考試試題及答案 4