C++入门知识2
大家好,我是Michael_cmr(一位蒟蒻)
这次给大家讲解运算符
1.什么是运算符
运算符,顾名思义就是拿来运算的字符。
当然,现实可不会那么简单。
C++运算种类超多但是不要怕,咱慢慢来
2.运算符的种类
我们可以把运算符分为 单目运算符,双目,三目………………
当然,也可以通过它们的优先级来划分,比如:一级、二级、三级…………
这些都不是关键,关键的,其实是有哪些运算符
3.运算符
以上都是废话,接下来扯重点
(1)最常用的运算符(加减乘除)
先上代码
#include<iostream>
using namespace std;
int main()
{
cout<<"1+1="<<1+1<<endl;
cout<<"12-3="<<12-3<<endl;
cout<<"5×7="<<5*7<<endl;
cout<<"8÷7="<<8/7<<endl;
system("pause");
return 0;
}
输出结果为
不难看出,这些就是我们正常的加减乘除运算(还不会的请找小学老师补补课)
但是,有些细节——我们的乘法运算符在C++里面写作 *
而除法运算符写作 /
再者,就是在除法运算中,其实8÷7是=1.14286…………,而在程序输出中,只写了1。这是为什么呢?让我们来一起探究一下——
首先,在程序当中,我们写的是 8/7。 当编译器运行的时候,就会把这两个数看做整形运算(什么事整形请看下一篇),简单的理解为两个整数运算,去除小数部分,只保留整数(没有四舍五入,是直接舍去)。
这个时候,我们就有了%——传说中的取模运算(注意:不是百分号)
上代码
#include<iostream>
using namespace std;
int main()
{
cout<<"1+1="<<1+1<<endl;
cout<<"12-3="<<12-3<<endl;
cout<<"5×7="<<5*7<<endl;
cout<<"8÷7="<<8/7<<endl;
cout<<"8÷7="<<8/7<<"余"<<8%7<<endl;
system("pause");
return 0;
}
运行结果:
不难看出,我们加了一句8%7这一句话,%意思为求两个数相除的余数。
看上去%貌似没有什么用处是吧?
NONONO 这就大错特错了
取模运算有个厉害的地方,它可以求出一个数的最后x位,举个栗子
我们要求数字123456的最后x位
#include<iostream>
using namespace std;
int main()
{
cout<<"123456的最后2位是"<<123456%100<<endl
<<"最后3位是" <<123456%1000<<endl;
system("pause");
return 0;
}
是吧,只要我们将一个数(n)%(x的10次方),我们就可以算出来n的最后x位。
好,讲完了加减乘除,我们来研究一下逻辑运算符
(2)
何为逻辑运算符 ?
从字面来看,重点字在逻辑这两个字上面
在编程当中,我们有个逻辑值:真 true 1
假 false 0
好了,先来看一下我们有哪一些逻辑运算符
1.< 和 > 就是大于号和小于号
如果我们写 12>30
很明显,这是错误的,所以这个逻辑表达式的值为0(false)
如果我们写 12<30
很明显,这是正确的,所以这个逻辑表达式的值为1(true)
2.>=和<=
跟上面是一样的,不多说明。先跳过
上面的四种逻辑运算符的优先级是所有逻辑运算符里最高的,接下来将将优先级较低的
3.== 和!=
==号表示等于关系,就是字面意思上的等于。
!=号表示不等,就是字面意思上的不等于。
举例说明:
1!=1 很明显,1是等于1的,所以此逻辑表达式的值为0(false)
50= =20 这里呢 ,我们发现,50跟20是风马牛不相及的,所以此逻辑表达式的值为0(false)
4.括号()
这个()括号的优先级是最高的之一,就相当于我们数学里的括号
又一次举例子:
我们要求(1+1)*8
分析:
这个时候,如果直接写代码1+1 *8的话,那么根据优先级,输出的一定是9
所以,使用运算符括号
代码:
#include<iostream>
using namespace std;
int main()
{
cout<<"(1+1)*8的值为"<<(1+1)*8<<endl;
system("pause");
return 0;
}
输出结果为16答案正确~~~
所以,括号的优先级是最高的 之一!注意,是之一!
太不好意思了,篇幅有限,还有的运算符(还有很多很多)会跟着后面的blog一起出来,这篇先写一些简单常用的运算符,下次见~!
(转载请标注出处与楼主姓名)
(QQ:2437844684)
(欢迎各位大神评论)
谢谢大家~~啊~