IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> <<<零基础C++速成>>> -> 正文阅读

[数据结构与算法]<<<零基础C++速成>>>

?hello,大家好,又见面了

首先,让我们再次回顾一下上节的内容

#include<iostream>   //预处理指令
using namespace std;   //引用命名空间
int main()      //主函数
{    
    int a=1,b=1;
    cout<<++a<<endl;   //先自增,即输出结果为 2
    cout<<--b<<endl;   //先自减,即输出结果为 0

    int i=1,j=1;
    cout<<i++<<endl;   //先输出i的初始值,再自增。即这句输出结果为 1
    cout<<j--<<endl;   //先输出j的初始值,再自减。即这句输出结果为 1
    cout<<i<<endl;   //i为自增后的值,即输出为 2
    cout<<j<<endl;   //j为自减后的值,即输出为 0
    return 0;
}

目录

1.4.4 关系表达式和逻辑表达式

1.4.5 条件表达式

1.4.6 位运算

(1)按位与(&)

(2)按位或(|)

(3)按位异或(^)

(4)按位取反(~)

1.4.7 运算符的优先级

1.4.8 强制类型转换

(1)表达式中的隐含转换



另外,在这里给大家补充一个应该注意的一点

注意,注意,注意!!!

cout<<……<<……<<……<<endl;

cout的输出顺序是从左向右的,但是!但是计算顺序是从右向左的,

什么意思呢?让我们具体看一个例子

#include<iostream>   //预处理指令
using namespace std;   //引用命名空间
int main()      //主函数
{    
    int i=3,j=4;
    cout<<i<<" "<<i++<<endl;   //先进行从右向左计算i++,再从左向右输出
    cout<<j<<" "<<j--<<endl;  
    return 0;
}

?/*
输出结果为:
4 3
3 4

具体再来看个图

总结十四个字:先从左向右计算,再从右向左输出!!!

这是个易错点,大家一定要记住。

好了,接下来让我们继续下面的内容

1.4.4 关系表达式和逻辑表达式

关系运算符,就是那些比较关系的,由这些关系运算符构成的式子即关系表达式

名称符号优先级
大于>较高(相同)
小于<
小于等于<=
大于等于>=
等于==较低(相同)
不等于!=

注意:“==”是两个连等号,不要误写成“=”

再给大家看一下逻辑运算符

符号名称优先级
1
&&2
||3

非就是不的意思,就像前面的比较运算符(!=)非等于,就是不等于

与就是and的意思,只有当两个都是true才返回true,否则都是false

或就是,两者中一个满足即可,只要有一个true返回true。

相信大家在数学里都知道这些,就不在详细介绍了。

1.4.5 条件表达式

大家还记得前面的一元运算符,二元运算符吗?,不记得的话,快回去看看吧

接下来,为大家介绍C++中的唯一一个!!!——? 三元运算符(?:)

<条件表达式> ?<表达式1>?:<表达式2>

运算规则是怎样的呢

举个简单的例子

#include<iostream>   //预处理指令
using namespace std;   //引用命名空间
int main()      //主函数
{
    int i = 3, j = 4,a;
    a = i > j ? j : i;    //如果i>j为真,则返回冒号前面的,即j;
                          //如果i>j为假,则返回冒号后面的,即i。
    cout<<a<<endl;        //输出结果为 4
}

意思就是

如果问好前面的条件如果为真,则返回冒号前面的,

如果问号后面的条件为假,则返回冒号后面的

1.4.6 位运算

这里不详细介绍,用具体的例子说明即可。

(1)按位与(&)

?与,即两个为1返回1,否则为0

(2)按位或(|)

或,即只要有一个1就返回1

(3)按位异或(^)

异或,即相同返回0,不同返回1

(4)按位取反(~)

0变1,1变0?

1.4.7 运算符的优先级

优先级运算符结合性
1[ ] () . - > 后置--? 后置--从左到右
2前置++ 前置-- sizeof & * + - ~ !从右到左
3强制转化类型从右到左
4* / %从左到右
5<< >>从左到右
6< > <= >=?从左到右
7==? !=从左到右
8&从左到右
9^从左到右
10|从左到右
11&&从左到右
12||从左到右
13?:从右到左
14= *= /= %= += -= <<= >>= &= ^= |=从右到左
15,(逗号)从左到右

1.4.8 强制类型转换

规则如下

<类型标识符>(表达式)或者(类型标识符)<表达式>

强制类型转换的作用是将<表达式结果的类型>转换为(类型标识符)所指定的类型。

cout<<7 %(int)2.5;  //将2.5强制转换成int型2,等价于7%2

(1)表达式中的隐含转换

在二元运算中,要求两个操作数的类型一致,如果参加运算的操作数类型不一致,则系统将自动对数据的类型进行转换,即,隐含转换,具体规则是

低类型数据转换为高类型数据

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-11-29 16:33:23  更:2021-11-29 16:33:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/9 16:04:37-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码