改错题

使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正程序中的错误,使程序输出的结果为

m=-10

n=-1O

p一0

q=-10

z=A

注意:错误的语句在//******error******的下面,修改该语句即可。

试题程序:

#include

voidmain()

{

doublem=10:

floatn=10:

boolp=1;

intq=10;

charz=’a’:

m=-m:

//******error******

n=~n;

//******error******

P=-P:

//******error******

q=~q:

z=z-32;

cout<<"m="<  cout<<"n="<  cout<<"p="

【正确答案】

(1)“n=-n;”。

(2)“p=!p;”。

(3)“q=-q;”。

【答案解析】

由题目要求的运行结果可知,第1个标识和第3处的语句是对变量n和q取反,求一个正数的相反数可以通过算数运算符“-”得到,第1处和第3处的语句应分别改为“n=-n;”和“q=-q;”,即只需要通过负号运算就可以实现。从题目要求输出的结果来分析,第2处的语句是对逻辑变量P取反,对一个逻辑变量求反,应该用取反运算符“!”,第2处的语句应改为“p=!P;”。