信息学奥赛编程语言C++语法(5)——运算符
myzbx 2025-06-13 15:33 7 浏览
计算机最显著的特点就是运算速度快,今天我们就来学习c++中的运算符吧!
运算符分类:
运算符类型 | 使用方法 |
算数运算符 | 基本四则运算 |
赋值运算符 | 为变量赋值 |
关系运算符 | 比较表达式值 |
位运算符 | 用于二进制位运算 |
逻辑运算符 | 求表达式的值 |
算数运算符
运算符 | 数学含义 | 举例 |
+ - * / | 基本运算符(注意除法运算中除数不能为0) | 10/5=2 2*3=6 |
% | 模运算(求余运算) | 20%2=10...0(商10余0)所以结果为0 20%3=6...2(商6余2)所以结果为2 |
++ | 前置(后置)递增 | int a=1;a++;(相当于a=a+1,所以a此时为1) int a=8;int b=a++-1; int c=++b-1; (此时a为9,b为8,c为7) |
-- | 前置(后置)递减 | int a=1;a--;(相当于a=a-1,所以a此时为0) int a=8;int b=a---1; int c=--b-1; (此时a为7,b为6,c为5) |
//前置(后置)递增递减说明
#include<iostream>
using namespace std;
int main() {
//1.前置递增先对变量进行++,再计算表达式
int a = 100;
float b = ++a / 10.f;
cout<<"a="<< a<<" b="<< b << endl;
//2.后置递增先计算表达式,后对变量进行++
a = 100;
b = a++ / 10.f;
cout<<"a="<< a<<" b="<< b << endl;
return 0;
}
赋值运算符
运算符 | 含义 | 举例 |
= | 赋值 | int a=100; ( 将100放入存储a的盒子里) |
+= -= *= /= %= | 加(减、乘、除、模)等于,自身进行相应运算再存储到自己的盒子里 | int a=10;a*=3;(相当于a=a*3,结果为a=30) |
关系运算符
关系运算符用于比较,结果为布尔值
运算符 | 含义 |
== != | 等于和不等于 |
> < | 大于和小于 |
>= <= | 大于等于和小于等于 |
#include<iostream>
using namespace std;
int main() {
int a = 3,b = 5;
cout << (a == b) << (a != b)<< endl; // 0 1
cout << (a > b) << (a < b) << endl; // 0 1
cout << (a >= b) << (a <= b) << endl; // 0 1
return 0;
}
位运算符
位运算符用于二进制按位运算
运算符 | 含义 |
& | 与(全真为真):&运算符参与运算的两个位值都为真则结果为真 |
| | 或(有真为真):|运算符参与运算的两个位值至少有一个为真则结果为真 |
! | 非:!运算符参与运算的位值为真则结果为假,反之为真 |
^ | 异或:^运算符参与运算的两个位值相同为假,相异为真 |
<< | 左移:将二进制位向左移一位 |
>> | 右移:将二进制位向右移一位 |
#include<iostream>
#include <bitset>
using namespace std;
//下面以int a=10,b=20;为例,转换为二进制 a=00001010B,b=00010100
int main() {
int a = 10,b = 20;
//(bitset<8>)按照8位二进制进行输出
cout<<"a二进制位表示:"<<(bitset<8>)(a) <<endl;
cout<<"a二进制位表示:"<<(bitset<8>)(b) <<endl;
cout<<"a&b:"<<(bitset<8>)(a & b)<<endl;
cout<<"a|b:"<<(bitset<8>)(a | b) <<endl;
cout<<"a^b:"<<(bitset<8>)(a ^ b) <<endl;
cout<<"!a:"<<(bitset<8>)(!a) <<endl;
cout<<"a>>1:"<<(bitset<8>)(a>>1) <<endl;
cout<<"a<<1:"<<(bitset<8>)(a<<1) <<endl;
return 0;
}
结果如图:
逻辑运算符
运算符 | 含义 |
&& | 且 |
|| | 或 |
! | 非 |
#include<iostream>
#include <bitset>
using namespace std;
//下面以int a=10,b=20;为例
int main() {
int a=10,b=21;
bool c=!(a*2>=b); //1
bool d=a>b; //0
cout<<"c="<< c << endl;
cout<<"d="<< d << endl;
cout<<"c&&d="<< (c && d) << endl;
cout<<"c||&d="<< (c || d) << endl;
cout<<"!c="<< !c << endl;
return 0;
}
结果:
每天持续更新,后期将出视频讲解,争取在今年CSP-J/S前更新完C++语法和数据结构内容,喜欢的老师孩子们点赞、关注、转发,欢迎在评论区一起沟通学习哦。Fighting!
相关推荐
- 陈冠希飞机争执事件:维权还是失态?
-
陈冠希最近又上热搜了!这次不是因为潮牌,而是在飞机上和机组人员“杠”上了。事情是这样的:他在东京飞纽约的航班上,发现机组人员让一名日籍VIP乘客优先下机,当场就炸了,直接质问:“我跟他哪里不一样?钻石...
- 风向变了,小S被吴宗宪猛爆黑料,至亲好友背刺,s家乱成一锅粥
-
前言当吴宗宪5月26日直播中甩出"黄子佼犯罪小S知情"的录音时,谁还记得这对师徒曾在《我猜》里默契十足的黄金年代?昔日提携晚辈的综艺天王,如今用三小时连爆12条黑料,把综艺女王钉在道德...
- 吴宗宪开撕小S,离婚内幕疑曝光,S家起内讧,汪小菲果然没说错
-
文|东方不败难怪葛思琪说小S大概率是不能复出了。原来一切都是有迹可循的!被吴宗宪猛曝黑料、被至亲好友背刺。失去大S的s家彻底乱成一锅粥。小S还能如以往那般幸运地“化险为夷”吗?01不得不说,作为台湾主...
- 美国俄亥俄大学性侵案细节曝光,新纪录片揭开体育界被忽视的丑闻
-
美国俄亥俄州立大学一直是美国校际体育运动的标杆,以至于很少有人将该大学与美国历史上最令人震惊的性虐待丑闻联系起来。近日,由澳大利亚纪录片导演伊娃·奥纳(EvaOrner)执导的《俄亥俄州立大学的幸存...
- 陈冠希飞机上怒怼空姐,称要让其丢掉工作?原因曝光后大家纷纷支持
-
【点新闻报道】44岁的陈冠希(Edison)被爆料在一架由东京羽田飞往纽约的航班上,疑不满头等舱的下机安排,与空姐发生口角,甚至放话:“把客诉信拿来,我会让你丢工作!”,引发网上热议。有内地网民在小红...
- 陈冠希机上风波再起!一场由“优先权”引发的对峙
-
一句“我会让你丢工作”的激烈争执录音,将陈冠希再次推向风口浪尖。飞机引擎的轰鸣尚未完全停歇,纽约机场的廊桥尚未对接,头等舱内的空气却已骤然凝固。44岁的陈冠希,这位早已褪去偶像光环却始终身处舆论漩涡...
- 传祺M8 vs 别克GL8,谁才是MPV终极选择?
-
广汽传祺M8与别克GL8一直都是很多人在选择MPV时纠结的对象,尤其是对于选择“困难症”的朋友来说,更是如此。今天我们将广汽传祺M8大师超混版和别克GL8ES陆尊进行对比,看看究竟怎么选!不是合资买...
- 开源鸿蒙OpenHarmony 6.0 Beta1发布
-
IT之家6月19日消息,开源鸿蒙OpenHarmony6.0Beta1(APILevel20)现已发布并上线Gitee。据介绍,OpenHarmony6.0Beta1版本进一...
- 巴雷特(Barrett)食管(巴雷特食管?)
-
近年来随着HP根除的增加等因素存在,食管胃结合部腺癌发病率逐年增加,食管胃结合部腺癌主要包括Barrett腺癌、胃贲门腺癌,而Barrett食管(Barrett’sesophagus,BE)为Bar...
- 儿子对象三天不出门 吵架动手后关系僵持
-
这几天家里事儿多。儿子交的女朋友搬来同住三天,人跟消失似的。每天中午才起床吃我家做的饭,吃完就喊着出去,问晚上回不回来,答不回来。昨天中午我找她谈儿子动手的事,她也不说话,现在微信电话全拉黑,连饭都不...
- 偷鸡不成蚀把米!命理师称小S将有大劫,老公许雅钧被爆换继承人
-
近期有命理师称小S将有大劫,其老公许雅钧也被爆换继承人,具体情况如下:命理师称小S有大劫有台湾省命理师称小S面相不好,将会有一场“大劫”,会影响到她生活的重大事件。还有细心网友翻出2022年某命理师在...
- 如何设计Agent的记忆系统(agent记忆方法)
-
最近看了一张画Agent记忆分类的图我觉得分类分的还可以,但是太浅了,于是就着它的逻辑,仔细得写了一下在不同的记忆层,该如何设计和选型先从流程,作用,实力和持续时间的这4个维度来解释一下这几种记忆:1...
- 深入理解跨域及常见误区揭秘(深入理解跨域及常见误区揭秘论文)
-
跨域问题是前端与后端协作中不可避免的话题,处理不当将直接影响系统可用性与安全性。本文将系统梳理跨域的概念、原理、常见解决方案,并结合实际开发中易错点进行总结,帮助你全面掌握跨域知识。一、什么是跨域?*...
- aardio + Java + JavaScript 混合开发快速入门
-
aardio最近在AI功能上做了很多细节的改进,建议大家更新。aardio的AI接口里的Gemini2.5pro更新到了刚发布的最新版本(Gemini2.5pro0605),...
- 一种改进的锂离子电池剩余寿命预测算法
-
摘要:锂离子电池故障往往会使系统性能下降甚至瘫痪,故障部件剩余寿命的精确估计对整个系统的寿命预测和健康管理至关重要。粒子滤波是一种有效的序列信号处理方法,然而应用于锂离子电池剩余寿命预测准确性并不高...
- 一周热门
- 最近发表
- 标签列表
-
- HTML 简介 (30)
- HTML 响应式设计 (31)
- HTML URL 编码 (32)
- HTML Web 服务器 (31)
- HTML 表单属性 (32)
- HTML 音频 (31)
- HTML5 支持 (33)
- HTML API (36)
- HTML 总结 (32)
- HTML 全局属性 (32)
- HTML 事件 (31)
- HTML 画布 (32)
- HTTP 方法 (30)
- 键盘快捷键 (30)
- CSS 语法 (35)
- CSS 选择器 (30)
- CSS 轮廓宽度 (31)
- CSS 谷歌字体 (33)
- CSS 链接 (31)
- CSS 定位 (31)
- CSS 图片库 (32)
- CSS 图像精灵 (31)
- SVG 文本 (32)
- 时钟启动 (33)
- HTML 游戏 (34)