首页 > 编程语言 >C++ - 运算符

C++ - 运算符

时间:2023-10-11 14:45:39浏览次数:27  
标签:10 cout 示例 int C++ 运算符 main

3 运算符

作用:用于执行代码的运算

本章我们主要讲解以下几类运算符:

运算符类型 作用
算术运算符 用于处理四则运算
赋值运算符 用于将表达式的值赋给变量
比较运算符 用于表达式的比较,并返回一个真值或假值
逻辑运算符 用于根据表达式的值返回真值或假值

3.1 算术运算符

作用:用于处理四则运算

算术运算符包括以下符号:

运算符 术语 示例 结果
+ 正号 +3 3
- 负号 -3 -3
+ 10 + 5 15
- 10 - 5 5
* 10 * 5 50
/ 10 / 5 2
% 取模(取余) 10 % 3 1
++ 前置递增 a=2; b=++a; a=3; b=3;
++ 后置递增 a=2; b=a++; a=3; b=2;
-- 前置递减 a=2; b=--a; a=1; b=1;
-- 后置递减 a=2; b=a--; a=1; b=2;

示例1:

//加减乘除
int main() {
​
    int a1 = 10;
    int b1 = 3;
​
    cout << a1 + b1 << endl;
    cout << a1 - b1 << endl;
    cout << a1 * b1 << endl;
    cout << a1 / b1 << endl;  //两个整数相除结果依然是整数
​
    int a2 = 10;
    int b2 = 20;
    cout << a2 / b2 << endl; 
​
    int a3 = 10;
    int b3 = 0;
    //cout << a3 / b3 << endl; //报错,除数不可以为0
​
​
    //两个小数可以相除
    double d1 = 0.5;
    double d2 = 0.25;
    cout << d1 / d2 << endl;
​
    system("pause");
​
    return 0;
}

总结:在除法运算中,除数不能为0

 

示例2:

//取模
int main() {
​
    int a1 = 10;
    int b1 = 3;
​
    cout << 10 % 3 << endl;
​
    int a2 = 10;
    int b2 = 20;
​
    cout << a2 % b2 << endl;
​
    int a3 = 10;
    int b3 = 0;
​
    //cout << a3 % b3 << endl; //取模运算时,除数也不能为0
​
    //两个小数不可以取模
    double d1 = 3.14;
    double d2 = 1.1;
​
    //cout << d1 % d2 << endl;
​
    system("pause");
​
    return 0;
}
​

总结:只有整型变量可以进行取模运算

 

示例3:前置递增与后置递增的区别

//递增
int main() {
​
    //后置递增
    int a = 10;
    a++; //等价于a = a + 1
    cout << a << endl; // 11
​
    //前置递增
    int b = 10;
    ++b;
    cout << b << endl; // 11
​
    //区别
    //前置递增先对变量进行++,再计算表达式
    int a2 = 10;
    int b2 = ++a2 * 10;
    cout << b2 << endl;
​
    //后置递增先计算表达式,后对变量进行++
    int a3 = 10;
    int b3 = a3++ * 10;
    cout << b3 << endl;
​
    system("pause");
​
    return 0;
}
​

运行结果:

总结:前置递增先对变量进行++,再计算表达式,后置递增相反

 

3.2 赋值运算符

作用:用于将表达式的值赋给变量

赋值运算符包括以下几个符号:

运算符 术语 示例 结果
= 赋值 a=2; b=3; a=2; b=3;
+= 加等于 a=0; a+=2; a=2;
-= 减等于 a=5; a-=3; a=2;
*= 乘等于 a=2; a*=2; a=4;
/= 除等于 a=4; a/=2; a=2;
%= 模等于 a=3; a%2; a=1;

 

示例:

int main() {

	//赋值运算符

	// =
	int a = 10;
	a = 100;
	cout << "a = " << a << endl;

	// +=
	a = 10;
	a += 2; // a = a + 2;
	cout << "a = " << a << endl;

	// -=
	a = 10;
	a -= 2; // a = a - 2
	cout << "a = " << a << endl;

	// *=
	a = 10;
	a *= 2; // a = a * 2
	cout << "a = " << a << endl;

	// /=
	a = 10;
	a /= 2;  // a = a / 2;
	cout << "a = " << a << endl;

	// %=
	a = 10;
	a %= 2;  // a = a % 2;
	cout << "a = " << a << endl;

	system("pause");

	return 0;
}

 

3.3 比较运算符

作用:用于表达式的比较,并返回一个真值或假值

比较运算符有以下符号:

运算符 术语 示例 结果
== 相等于 4 == 3 0
!= 不等于 4 != 3 1
< 小于 4 < 3 0
> 大于 4 > 3 1
<= 小于等于 4 <= 3 0
>= 大于等于 4 >= 1 1

示例:

int main() {

	int a = 10;
	int b = 20;

	cout << (a == b) << endl; // 0 

	cout << (a != b) << endl; // 1

	cout << (a > b) << endl; // 0

	cout << (a < b) << endl; // 1

	cout << (a >= b) << endl; // 0

	cout << (a <= b) << endl; // 1
	
	system("pause");

	return 0;
}

 

注意:C和C++ 语言的比较运算中, ==“真”用数字“1”来表示, “假”用数字“0”来表示。==

 

3.4 逻辑运算符

作用:用于根据表达式的值返回真值或假值

逻辑运算符有以下符号:

运算符 术语 示例 结果
! !a 如果a为假,则!a为真; 如果a为真,则!a为假。
&& a && b 如果a和b都为真,则结果为真,否则为假。
|| a || b 如果a和b有一个为真,则结果为真,二者都为假时,结果为假。

示例1:逻辑非

//逻辑运算符  --- 非
int main() {
​
    int a = 10;
​
    cout << !a << endl; // 0
​
    cout << !!a << endl; // 1
​
    system("pause");
​
    return 0;
}

总结: 真变假,假变真

 

示例2:逻辑与

//逻辑运算符  --- 与
int main() {

	int a = 10;
	int b = 10;

	cout << (a && b) << endl;// 1

	a = 10;
	b = 0;

	cout << (a && b) << endl;// 0 

	a = 0;
	b = 0;

	cout << (a && b) << endl;// 0

	system("pause");

	return 0;
}

总结:逻辑==与==运算符总结: ==同真为真,其余为假==

 

示例3:逻辑或

//逻辑运算符  --- 或
int main() {
​
    int a = 10;
    int b = 10;
​
    cout << (a || b) << endl;// 1
​
    a = 10;
    b = 0;
​
    cout << (a || b) << endl;// 1 
​
    a = 0;
    b = 0;
​
    cout << (a || b) << endl;// 0
​
    system("pause");
​
    return 0;
}

逻辑==或==运算符总结: ==同假为假,其余为真==

 

标签:10,cout,示例,int,C++,运算符,main
From: https://www.cnblogs.com/zhuchunlin/p/17757037.html

相关文章

  • C++ 完美转发
    完美转发定义完美转发指的是函数模板可以将自己的参数“完美”的转发给内部调用的其他函数中。所谓的完美,指的是不仅能准确的转发参数的值,还能保证被转发的参数的左、右值属性不变解决的问题在C++中如果想要将一个函数的参数转发给另一个函数时,需要保留原始参数的左右值......
  • Qt_C++读写NFC标签Ntag支持windows国产linux操作系统
    本示例使用的发卡器:ntag2标签存储结构说明#include"mainwindow.h"#include"./ui_mainwindow.h"#include<QDebug>#include"QLibrary"#include"QMessageBox"//本示例可在windows、linux系统内编译、运行//判断windows、linux系统,声明动态库函数---------------......
  • php教程:变量、数据类型、运算符、数据结构、条件判断、循环、函数和面向对象
    变量<?php$x=5;$y=6;$z=$x+$y;echo$z;?>变量作用域全局变量在所有函数外部定义的变量,拥有全局作用域。要在一个函数中访问一个全局变量,需要使用global关键字。<?php$x=5;$y=10;functionmyTest(){global$x,$y;$y=$x+$y;}myTest();echo$y;//输出1......
  • C++小代码
    用于实现一个简单的学生信息管理系统:#include<iostream>#include<vector>#include<string>classStudent{private:std::stringname;intage;std::stringmajor;public:Student(std::stringname,intage,std::stringmajor){......
  • c++ 右值引用
    左值和右值左值可以理解为可以取地址的对象,右值指的除左值外的值,这个地方不必过于纠结左值引用就是常见的&+变量名右值引用当引用一个变量时可以使用intA=10;int&a=A;//这里就是左引用但是有时我们需要引用一个立即数怎么办int&a=10;//errorconstint&a=10;//rig......
  • 运算符-包机制-javaDoc生成文档
    publicclassDemo12{publicstaticvoidmain(String[]args){//与(and)或(or)非(取反)booleana=true;booleanb=false;System.out.println("a&&b:"+(b&&a));//逻辑与运算:两个变量都为真,结果才为trueSystem.......
  • c++对象模型学习笔记
    参照大佬的博客学习了一下c++的对象模型:https://www.cnblogs.com/skynet/p/3343726.html有些思考需要做下记录。对于有虚函数表的类的对象,它的起始地址处会存储vptr指向虚函数表,在这个虚函数表的前4或8字节中,会存储一个地址值,指向RTTI类型信息对于没有虚函数表的类的对象,也就......
  • C++ libwebsockets搭建WebSocket服务端及Http客户端、服务端
    https://blog.csdn.net/fantasysolo/article/details/88908948  概念WebRTCWebRTC,名称源自网页即时通信(英语:WebReal-TimeCommunication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的API。它于2011年6月1日开源并在Google、Mozilla、Opera支持下被纳入万维网联......
  • C++测试技能
    googletest?gtestdoetest?doctest的引入和编译问题。编译和引入、api的使用会影响测试开发的体验功能是否丰富(对模板等测试)影响到测试的结果  这里的两个subcase的执行是并行的,都是先从头去执行一次vector的构造然后再挑选一个subcase进入TEST_CASE("vectorscanbesi......
  • C++11之类型转换(2千字长文详解)
    C++11之类型转换C语言中的类型转换在C语言中,如果赋值运算符左右两侧类型不同,或者形参与实参类型不匹配,或者返回值类型与接收返回值类型不一致时,就需要发生类型转化,C语言中总共有两种形式的类型转换:隐式类型转换和显式类型转换。隐式类型转化:编译器在编译阶段自动进行,能转就......