C++Primer第五版 4.2节练习

练习4.4:在下面的表达式中添加括号,说明其求值的过程及最终结果。编写程序编译该(不加括号的)表达式并输出其结果验证之前的推断。
12 / 3 * 4 + 5 *15 + 24 % 4 /2

练习4.5:写出下列表达式的求值结果。
(a) -30 3 + 21 / 5 (b) -30 + 3 21 / 5;
(c) 30 / 3 * 21 %5 (d) -30 / 3 *21 %4

练习 4.6:写出一条表达式用于确定一个整数是奇数还是偶数。
练习 4.7:溢出是何含义?写出三条将导致溢出的表达式。

答:练习4.4 ((12 / 3)*4)+(5*15)+ ((24%4)/2)= 91

答:练习4.5 (a) -86
(b)-18
(c)0
(d)-2

练习4.6 if(i%2==0)

练习4.7
答:溢出:当计算的结果超过该类型所能表示的范围时就会产生溢出。
(a) short short_value = 32767;
short_value += 1;

练习4.4

/*
*
*其中也包括对练习4.5的验证 
* 
*/

#include <iostream>
#include <vector>

using namespace std;

int main()
{
    int val = 12 / 3 * 4 + 5 *15 + 24 % 4 /2;
    int val1 =  -30 *3 + 21 / 5 ;
    int val2 = -30 + 3 * 21 / 5;
    int val3 = 30 / 3 * 21 %5;
    int val4 = -30 / 3 *21 %4;

    vector<int> ivec;
    ivec.push_back(val);
    ivec.push_back(val1);
    ivec.push_back(val2);
    ivec.push_back(val3);
    ivec.push_back(val4);

    for (auto it = ivec.begin(); it != ivec.end(); ++it)    
            cout << *it <<" ";
            cout << endl;
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值