- 計(jì)算機(jī)二級(jí)C++考試卷及答案 推薦度:
- 相關(guān)推薦
2024年計(jì)算機(jī)二級(jí)C++考試試卷及答案
在各領(lǐng)域中,我們都要用到試卷,在各領(lǐng)域中,只要有考核要求,就會(huì)有試卷,試卷是命題者按照一定的考核目的編寫(xiě)出來(lái)的。那么你知道什么樣的試卷才能有效幫助到我們嗎?下面是小編為大家收集的2024年計(jì)算機(jī)二級(jí)C++考試試卷及答案,歡迎大家分享。
計(jì)算機(jī)二級(jí)C++考試試卷及答案 1
一、程序改錯(cuò)題
(1)應(yīng)改為“for(x=0;x<5;x++)”。
(2)應(yīng)改為“cout< 【解析】本題中根據(jù)數(shù)組a、b的定義。它們都有5個(gè)元
素,而第1處的“for(x=0;x<=5;x++)”循環(huán)了6次,應(yīng)該是5次,所以在第1處將其修改為“for(x=0;x<5;x++)”;第2處的P變量為指針型變量,p+x為糯向數(shù)組中第X個(gè)元素的地址,這里要輸出的是存儲(chǔ)單元的內(nèi)容,所以使用“*”指針元素符,即修改為“cout<
二、簡(jiǎn)單應(yīng)用題
inti,a[4],t;
a[0]=n%10;//取整型n的第1位數(shù)字
a[1]=n%100/10;//取整型n的第2位數(shù)字
a[2]=n%1000/100;//取整型n的第3位數(shù)字
a[3]=n/1000;//取整型n的第4位數(shù)字
for(i=0;i<=3;i++)//每位數(shù)字加3,取余
{
a[i]+=3;
a[i]%=9;
}
t=a[0];//根據(jù)加密算法交換
a[0]=a[3];
a[3]=t;
t=a[1];
a[1]=a[2];
a[2]=t;
returna[3]*1000+a[2]*100+a[1]*10+a[0];
//重組,返回加密數(shù)字
【解析】本題首先取得要加密整數(shù)的每一位數(shù)字,并存入數(shù)組。根據(jù)加密算法,利用循環(huán)實(shí)現(xiàn)每位數(shù)字加3,再除以9取余。根據(jù)加密算法進(jìn)行數(shù)字交換,最后重組,返回密碼。
三、綜合應(yīng)用題
(1)應(yīng)添加“staticintNum;”。
(2)應(yīng)添加“intTC:Num=10;”。
(3)應(yīng)添加“staticintget(TC*obj)”。
(4)將“cout<<< 【解析】第1處要求“增加靜態(tài)私有變量Num,類(lèi)型為int”。靜態(tài)變量的定義格式為static類(lèi)型變量名稱(chēng),本題只要在類(lèi)的private區(qū)域定義int型的靜態(tài)變量Num,即在第1處添加“staticintNum;”。第2處要求“增加靜態(tài)變量Num并初始化為10”。第2個(gè)標(biāo)識(shí)的位置在類(lèi)TC的外部,在C++中,使用“:”作用域運(yùn)算符聲明定義的變量屬于哪個(gè)類(lèi)。由題干知道,Num屬于類(lèi)TC,根據(jù)C++的作用域運(yùn)算符,在第2處添加語(yǔ)句“intTC:Num=10;”。第3處要求“完成靜態(tài)函數(shù)9et的定義”。根據(jù)第3個(gè)標(biāo)識(shí)下的“re-turnNum+obj->Own;”語(yǔ)句知道,get函數(shù)具有形參obj指針。obj調(diào)用Own變量,說(shuō)明它是TC類(lèi)型,并且靜態(tài)函數(shù)的定義只要在其前面聲明static就可以了,即在第3處添
加語(yǔ)句“staticintget(TC*obj)”。第4處要求“完成對(duì)象obj對(duì)靜態(tài)函數(shù)get進(jìn)行調(diào)用,使得輸出21到屏幕上”。程序中第4處的“cout<<< 程序改錯(cuò)題(18分)
使用VC++6.0打開(kāi)考生文件夾下的源程序文件1.cpp,該程序運(yùn)行時(shí)有錯(cuò),請(qǐng)改正其中的錯(cuò)誤,使程序正常運(yùn)行,即使程序在屏幕輸出以下類(lèi)似內(nèi)容:
0012FF6810012FF3C5
0012FF6C20012FF444
0012FF7030012FF4C3
0023FF7440012FF542
0012FF7850012FF5C1
006AFDCC~006AFDEF數(shù)據(jù)可能因?yàn)闄C(jī)器的不同,程序輸出的內(nèi)容會(huì)有差異。只要相差為4的連續(xù)地址即可。
注意:不要改動(dòng)main函數(shù),不能增加或刪除行,也不能更改程序的結(jié)構(gòu),錯(cuò)誤的語(yǔ)句在//******error******的下面。
試題程序:
#include
usingnamespacestd;
intmain()
{
int*P,a[5]={1,2,3,4,5};
double*q,b[5]={5.0,4.0,3.0,2.0,1.0);
intx;
P=a;
q=b;
//********error********
for(x=0;x<=5;X++)
//********error********
cout< (q+x)< return0;
}
四、簡(jiǎn)單應(yīng)用題(24分)
使用VC++6.0打開(kāi)考生文件夾下的源程序文件2.cpp。閱讀下列函數(shù)說(shuō)明和代碼,完成空出部分程序。函數(shù)fun(intn)的功能是實(shí)現(xiàn)對(duì)一個(gè)整數(shù)的.加密,具體的加密方法是一個(gè)4位長(zhǎng)的整數(shù),用每位數(shù)字加上3然后除以9的余數(shù)代替該數(shù)字,再將第1位和第4位交換,第2位和第3位交換,然后返回得到的密碼。
程序輸出結(jié)果為
1864
2075
注意:不能修改其他部分的代碼。
試題程序:
#include
#include
intfun(intn)
{
}
intmain()
{
inti=1357:
cout< i=2468;
cout< return0;
}
五、綜合應(yīng)用題(18分)
使用VC++6.0打開(kāi)考生文件夾下的源程序文件3.cpp。其中定義的類(lèi)并不完整,按要求完成下列操作,將類(lèi)
的定義補(bǔ)充完整,使得程序的輸出結(jié)果為21。
(1)增加靜態(tài)私有變量Num,類(lèi)型為int,請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z(yǔ)句。
(2)增加靜態(tài)變量Num并初始化為10,請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z(yǔ)句。
(3)完成靜態(tài)函數(shù)get的定義,請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z(yǔ)句。
(4)完成對(duì)象obj對(duì)靜態(tài)函數(shù)get的調(diào)用,使得輸出結(jié)果
為21,請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z(yǔ)句。
注意:增加或者修改代碼的位置已經(jīng)用符號(hào)表示出來(lái),請(qǐng)不要修改其他的程序代碼。
試題程序:
#include
classTC
{
//********1********
intOwn;
public:
TC(inti)
{
Own=i;
}
//********2********
{
returnNum+obj->Own;
}
};
//********3********
intmain()
{
TCobj(11);
//********4********
cout<<< return0;
}
計(jì)算機(jī)二級(jí)C++考試試卷及答案 2
1、假定有一個(gè)菜單項(xiàng),名為Menultem,為了在運(yùn)行時(shí)使該菜單項(xiàng)不可見(jiàn),應(yīng)使用的語(yǔ)句為( )。
A.Menultem.Enabled=False
B.MenuItem.Enabled=True
C.MenuItem.Visible=True
D.Menultem.Visible=Flase
2、為丫從當(dāng)前文件夾中讀入文件File1.txt,某人編寫(xiě)了下面的程序:
PrivateSubCommand1_Click( )
Open"File1.txt"ForOutputAs#20
DoWhileNotEOF(20)
LineInput#20,ch$
Printch
Loop
Close#20
EndSub
程序調(diào)試時(shí),發(fā)現(xiàn)有錯(cuò)誤,下面的修改方案中正確的是( )。
A.在Open語(yǔ)句中的文件名前添加路徑
B.把程序中各處的“20”改為“1”
C.把Printch語(yǔ)句改為Print#20,ch
D.把Open語(yǔ)句中的0utput改為Input
3、設(shè)有以下函數(shù)過(guò)程
PrivateFunctionFun(a( )AsInteger,bAsString)AsInteger
…
EndFunction
若已有變量聲明:
Dimx(5)AsInteger,nAsInteger,chAsString
則下面正確的過(guò)程調(diào)用語(yǔ)句是( )。
A.x(O)=Fun(x."ch")
B.n=Fun(n.ch)
C.CallFunX,"ch"
D.n=Fun(x(5),ch)
4、窗體的`左右兩端各有1直線,名稱(chēng)分別為L(zhǎng)ine1、Line2;名稱(chēng)為Shape1的圓靠在左邊的Linel直線上(見(jiàn)圖);另有1個(gè)名稱(chēng)為T(mén)imer1的計(jì)時(shí)器控件,其Enabled屬性值是True。要求程序運(yùn)行后,圓每秒向右移動(dòng)100,當(dāng)圓遇到Line2時(shí)則停止移動(dòng)。為實(shí)現(xiàn)上述功能,某人把計(jì)時(shí)器的Interva1屬性設(shè)置為1000,并編寫(xiě)了如下程序:
PrivateSubTimer1Timer( )
Fork=Line1.X1ToLine2.X1Step100
IfShape1.Left+Shape1.width
Shape1.Left=Shape1.Left+100
EndIf
Nextk
EndSub
運(yùn)行程序時(shí)發(fā)現(xiàn)圓立即移動(dòng)到了右邊的直線處,與題目要求的移動(dòng)方式不符。為得到與題目要求相符的結(jié)果,下面修改方案中正確的是( )。
A.把計(jì)時(shí)器的Interval屬性設(shè)置為1
B.把Fork=line1.X1ToLine2.X1Step100和Nextk兩行刪除
C.把Fork=Line1.X1ToLine2.X1Step100改為Fork=Line2.X1ToLine1.X1Step100
D.把IfShape1.Left+Shepe1.Width
5、以下關(guān)予菜單設(shè)計(jì)的敘述中錯(cuò)誤的是( )。
A.各菜單項(xiàng)可以構(gòu)成控件數(shù)組
B.每個(gè)菜單項(xiàng)可以看成是一個(gè)控件
C.設(shè)計(jì)菜單時(shí),菜單項(xiàng)的“有效”選,即有效,表示該菜單項(xiàng)不顯示
D.菜單項(xiàng)只響應(yīng)單擊事件
【計(jì)算機(jī)二級(jí)C++考試試卷及答案】相關(guān)文章:
2016年計(jì)算機(jī)二級(jí)C++考試卷及答案08-05
計(jì)算機(jī)二級(jí)考試C++練習(xí)及答案10-09
全國(guó)計(jì)算機(jī)二級(jí)考試C++精選試題及答案08-17
2016計(jì)算機(jī)二級(jí)考試《C++》練習(xí)題及答案10-23
2016計(jì)算機(jī)二級(jí)考試C++練習(xí)題及答案07-15
計(jì)算機(jī)二級(jí)《C++》上級(jí)考試試題及答案201708-30
全國(guó)計(jì)算機(jī)二級(jí)考試C++鞏固試題與答案10-03