您的位置:首页 > 其它

第一章 基本语法-2运算符

2015-10-21 09:38 381 查看
运算符有很多,由于暂且还没有学到其他的语句(例如 判断、循环),暂且弄几个简单的

(a) 加(+)减(-)乘(*)除(/) 求余(%) 括号()等于号(=)

(b)位移(左位移 >> 右位移<<) 按位与(&)按位或与(|)按位异或(^)

1.(a) 加(+)减(-)乘(*)除(/) 求余(%) 括号()等于号(=)的学习

例:输入2个数,分别求加减乘除求余数的结果,并输出

/* 下面是引入必要的头文件*/
#include <iostream>
using namespace std;
int main() {
int num1, num2;//定义两个整数,用来保存用户输入的内容
cout << "请输入两个数(中间用空格隔开,输入完成后按下回车键):";//提示用户进行输入
//接收用户的输入,第一个内容赋值给前面的变量,第二个给后面的
cin >> num1 >> num2;

cout << "加法:" << num1 + num2 << endl;
/*注:你也可以定义一个变量用来保存结果
* 例如 int rs1=num1 + num2;
* cout << "加法:" << rs1 << endl;
* 下面的也可以这样做
* */
cout << "减法:" << num1 - num2 << endl;
cout << "乘法:" << num1 * num2 << endl;
cout << "除法:" << num1 / num2 << endl;
cout << "求余:" << num1 % num2 << endl;

return 0;
}
/*测试结果
请输入两个数(中间用空格隔开,输入完成后按下回车键):9 2
加法:11
减法:7
乘法:18
除法:4
求余:1
*/
仔细观察上面的测试结果,可以看出除法的计算有错误,9除以2应该等于4.5,而输出的结果为4,这是为什么呢?

原因:两个整数相除,此时的除法时“整除”的意思,也就是去掉余数,只要商(9÷2=4.......2),如果想要得到4.5,可以把其中的一个数强制转化为小数double或者float类型,如下:

cout << "除法:" << (double)num1 / num2<< endl;
(强制转化方法,在要转化的数据前面加上要变成的类型,并且用括号括起来 :(要变成的类型)变量 )

这样就可以输出 4.5了

2.(b)位移(左位移 >> 右位移<<) 按位与(&)按位或与(|)按位异或(^)

/* 下面是引入必要的头文件*/
#include <iostream>
using namespace std;
int main() {
int num1, num2;//定义两个整数,用来保存用户输入的内容
cout << "请输入两个数(中间用空格隔开,输入完成后按下回车键):";//提示用户进行输入
//接收用户的输入,第一个内容赋值给前面的变量,第二个给后面的
cin >> num1 >> num2;
int a = num1 >> num2;
cout << "右位移:" << a << endl;
int b = num1 << num2;
cout << "左位移:" << b << endl;
int c = num1 | num2;
cout << "或运算:" << c << endl;
int d = num1 & num2;
cout << "与运算:" << d << endl;
int e=num1^num2;
cout << "异或:" << e<< endl;

return 0;
}
/*测试结果1
请输入两个数(中间用空格隔开,输入完成后按下回车键):9 2
右位移:2
左位移:36
或运算:11
与运算:0
异或:11

测试结果2
请输入两个数(中间用空格隔开,输入完成后按下回车键):10 2
右位移:2
左位移:40
或运算:10
与运算:2
异或:8
*/
至于这几个运算的是怎样计算的?运算原理是什么?说起来有点长,各种资料书上都有讲解,不在赘述

要点:

掌握基本的运算符写法,为后面的学习做准备。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: