- 相關(guān)推薦
計算機二級C上機:程序改錯題
為了使廣大考生在備戰(zhàn)計算機等級考試時,更快的掌握相應(yīng)知識點,下面是小編搜索整理的計算機二級C上機:程序改錯題,供參考練習(xí),預(yù)?忌鷤兛汲鲎约豪硐氲某煽!
程序改錯題
使用VC++6.0打開考生文件夾下的源程序文件1.cpp,該程序運行時有錯,請改正程序中的錯誤,使程序輸出的結(jié)果為
150
200
注意:錯誤的語句在//******error******的下面,修改該語句即可。
提示:定義Numl為一個整型數(shù)據(jù)位長的變量。
試題程序:
#include
。******error******
struct
{
。******error******
intNuml:1;
intNum2;
}
MyStruct;
voidmain()
{
MyStructmstr;
mstr.Num1=150;
mstr.Num2=15;
。******error******
int*ptr=&mstr.Numl;
cout<<*ptr<<endl;
*ptr=200;
cout<<*ptr<<endl;
}
答案:
(1)“typedefstruct”。
(2)“intNuml:32;”或“intNuml;”。
(3)“int*ptr=(int*)&mstr;”。
【解析】第1處是定義結(jié)構(gòu)體,結(jié)構(gòu)體定義的一般形式為
struct(結(jié)構(gòu)體名>
{
<成員列表>
}
(變量名列表);
程序當(dāng)中定義結(jié)構(gòu)體名放在后面,MyStruct為結(jié)構(gòu)體變量類型,相當(dāng)于typedef為已有的類型定義一個新的類型,第1處應(yīng)改為“typedefstruct”。第2處是定義Numl為一個整型數(shù)據(jù)變量,整型數(shù)據(jù)位數(shù)為32(4字節(jié)),因此第2處應(yīng)改成“intNuml:32;”或“intNuml;”。ptr為整型數(shù)據(jù)指針,mstr為MyStruct類型結(jié)構(gòu)變量,兩者類型不一致應(yīng)該做強制類型轉(zhuǎn)換,第3處應(yīng)改成“int*ptr=(int*)&mstr;”,表示將mstr的地址給ptr,ptr指向MyStruct的第一個域Numl,Numl也是整型,類型一致,故可通過ptr指針來改變Numl的值。
【計算機二級C上機:程序改錯題】相關(guān)文章:
計算機二級C語言程序上機指導(dǎo)10-29
計算機二級C語言上機程序填空題09-26
C語言程序改錯題練習(xí)07-03
計算機二級C語言預(yù)測上機精選訓(xùn)練題07-05
2017計算機二級C語言上機題庫及答案08-07
計算機二級考試《C語言》上機答題技巧06-27
計算機二級C語言上機沖刺試題及答案08-29
2016計算機二級《C++》上機沖刺題09-05