C++Primer中文版(第四版)题解整理(14)
时间:2025-04-20
时间:2025-04-20
C++Primer题解
system("CLS");
cout<<"Enterbaseandexponent:"<<endl;
cin>>base>>exponent;
if(exponent<0)
{
cout<<"Exponentcan'tbesmallerthan0"<<endl;
return-1;
}
if(exponent>0)
{
for(intcnt=1;cnt<=exponent;cnt++)
result*=base;
}
cout<<base<<"raisedtothepowerof"<<exponent<<":
"<<result<<endl;
return0;
}
习题2.12
区分左值和右值,并举例说明。
【解答】
左值(lvalue)就是变量的地址,或者是一个代表“对象在内存中的位置”的表达式。
右值(rvalue)就是变量的值,见2.3.1节。
变量名出现在赋值运算符的左边,就是一个左值;而出现在赋值运算符右边的变量名或字面常量就是一个右值。
例如:
val1=val2/8
这里的val1是个左值,而val2和8都是右值。
习题2.13
举出一个需要左值的例子。
【解答】
赋值运算符的左边(被赋值的对象)需要左值,见习题2.12。
习题2.14
下面哪些(如果有)名字是非法的?更正每个非法的标识符名字。
(a)intdouble=3.14159;(b)char_;