博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
int a1=x+y-z; int a2=x-z+y; a1和a2的值一定相等吗? (某公司实习生招聘笔试试题)
阅读量:4140 次
发布时间:2019-05-25

本文共 1262 字,大约阅读时间需要 4 分钟。

       我们先来看看原题:

 

给定3个int类型的正整数x,y,z,对如下4组表达式判断正确的选项()

 

int a1=x+y-z; int b1=x*y/z;

int a2=x-z+y; int b2=x/z*y;
int c1=x<<y>>z; int d1=x&y|z;
int c2=x>>z<<y; int d2=x|z&y;

 

A、a1一定等于a2

B、b1一定定于b2

C、c1一定等于c2

D、d1一定等于d2

      

      首先说明,正确答案是A.   但是, 相信多数同学第一眼就把正确答案A排除了, 估计是被“溢出”吓坏了, 下面, 我们来分析一下:

A.

    为了简便起见, 我们用char来模拟int.

 

#include 
using namespace std;int main(){ char x = 126; char y = 24; char z = 65; char a1 = x + y - z; // x + y有溢出, 但是 - z后可以减回来 char a2 = x - z + y; cout << a1 << endl; cout << a2 << endl; return 0;}

       结果a1和a2是相等的, 为什么呢? 因为char的范围在[-128 127]内循环转127 + 1 = -128,   而-128 + 1 = -127,-128 - 1 = 127

 

 

 

#include 
using namespace std;int main(){ int x = 2; int y = 3; int z = 6; int b1= x * y / z; int b2 = x / z * y; cout << b1 << endl; // 1 cout << b2 << endl; // 0 return 0;}

 

 

C

 

#include 
using namespace std;int main(){ int x = 2; int y = 2; int z = 2; int c1 = x << y >> z; // 2先乘以4, 再除以4 int c2 = x >> z << y; // 2先除以4, 再乘以4 cout << c1 << endl; // 2 cout << c2 << endl; // 0 return 0;}

D.

 

 

#include 
using namespace std;int main(){ int x = 1; int y = 2; int z = 4; int d1 = x & y | z; int d2 = x | z & y; cout << d1 << endl; // 4 cout << d2 << endl; // 1 return 0;}

      

 

           最后需要补充说明的是: 考试的时候, 肯定没有电脑写程序啊, 但用笔分析一下, 也非常简单, 而且更快。

 

转载地址:http://kmrvi.baihongyu.com/

你可能感兴趣的文章
OpenFeign学习(六):OpenFign进行表单提交参数或传输文件
查看>>
Ribbon 学习(二):Spring Cloud Ribbon 加载配置原理
查看>>
Ribbon 学习(三):RestTemplate 请求负载流程解析
查看>>
深入理解HashMap
查看>>
XML生成(一):DOM生成XML
查看>>
XML生成(三):JDOM生成
查看>>
Ubuntu Could not open lock file /var/lib/dpkg/lock - open (13:Permission denied)
查看>>
collect2: ld returned 1 exit status
查看>>
C#入门
查看>>
C#中ColorDialog需点两次确定才会退出的问题
查看>>
数据库
查看>>
nginx反代 499 502 bad gateway 和timeout
查看>>
linux虚拟机安装tar.gz版jdk步骤详解
查看>>
python实现100以内自然数之和,偶数之和
查看>>
python数字逆序输出及多个print输出在同一行
查看>>
苏宁产品经理面经
查看>>
百度产品经理群面
查看>>
去哪儿一面+平安科技二面+hr面+贝贝一面+二面产品面经
查看>>
element ui 弹窗在IE11中关闭时闪现问题修复
查看>>
vue 遍历对象并动态绑定在下拉列表中
查看>>