第三章C++学习入门之表达式的使用

本文详细介绍了C++中的各种表达式和运算符,包括算数运算符、逻辑和关系运算符、赋值运算符等,并通过实例展示了它们的应用方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C++系列文章目录

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
第三章 C++学习入门之表达式的使用


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、表达式是什么?

表达式是由一个或多个运算对象组成的,与运算符同时存在,运算符是为了解决运算对象之间的任务问题而创建的。表达式一定要有一个结果。

二、算数运算符

" + " 一元正号 + a
" - " 一元负号 -a
“ * ” 乘号 a*b
" / " 整除号 a/b
" % " 取余 a%b
" + " 加号 a+b
" - " 减号 a-b

有小数的除法,要加上f。

三.逻辑和关系运算符

逻辑运算符用于任意能转换成布尔值(bool)的类型。
关系运算符用于算术类型和指针类型。
结果都是一个布尔值。1表示真,0表示假。

3.1 逻辑运算符:

&& 逻辑与 a&&b
|| 逻辑或 a||b
! 逻辑非 !a

3.2 关系运算符

比较运算对象的大小关系并返回布尔值。
" < " a<b
" <= " a<=b
" > " a>b
" >= " a>=b
" == " a==b
" != " a!=b

如果测试一个算术对象或指针的真值:
可以用if(){}
if(value){} //value是非0值,条件为真
if(!value){} //value是0,条件为真

四.赋值运算符

赋值:
“=”
使用花括号赋值,

// A code block
vector<int> ivec;
ivec = {0,1,2,3,4,5};

五.递增和递减运算符

“ ++ ” 递增运算符,加1
“ – ” 递减运算符,减1
递增和递减有两种形式,前置版(++val)和后置版(val++),
前置版的意思是:将运算对象加(减)1,将改变后的对象作为求值结果。
后置版的意思是:将运算对象加(减)1,将改变前的对象作为求值结果。
注意:上述运算对象本身是加(减)1,不同的求值结果。

// 前置版和后置版的区别
int idx = 0, res;
res = ++idx; //idx+1,运算对象idx更新为1,求值结果res也更新为1
res = idx++; //idx+1,运算对象idx更新为2,求值结果res为idx改变之前的结果1

只用前置版,++idx

六.成员访问运算符

“.” 点运算符,用于类。
“->” 箭头运算符,用于指针。
都用于访问成员。
如:
点运算符获取对象的一个成员,

a.size() //a对象的size()成员

n = (*p).size() 与n = p->size() 等价,意思是运行p所指对象的size成员,

七.条件运算符

// 条件运算符
(?:)

可以把if-else逻辑嵌套到单个表达式,
使用形式:

// 使用形式
(cond?expr1:expr2);

先求cond的值,如果cond为真,对expr1求值并返回该值,否则对expr2求值并返回该值。

// A code block
bool res = ((grade>90)?"true":"false");

八.位运算符

用于整型的运算对象,
提供检查设置二进制位的功能,

“~” 位求反 ~ a 将运算对象逐位求反后生成一个新值,1变0,0变1
”<<“ 左移 a << b
“>>” 右移 a >> b
“&” 位与 a & b 两个运算对象对应位置都是1,则位为1,否则为0
“^” 位异或 a ^ b 两个运算对象对应位置有且只有一个为1,则位为1,否则为0
“|” 位或 a | b 两个运算对象对应位置至少有一个为1,则位为1,否则为0

位运算符用于处理无符号类型

九.sizeof运算符

sizeof (type) 返回一个类型名字所占字节数
sizeof expr 返回表达式结果类型的大小

十.逗号运算符

含有两个运算对象,规定了运算对象求值顺序

十一.类型转换

两个类型有关联,可以相互转换,如:int 和double

1.算数转换

把一种算术类型转换成另一种算术类型,

1.整型提升

把小整数类型转换成较大的整数类型。

2.隐式转换

3.显式转换

强制转换,
cast-name(expression)
cast-name指定执行哪种转换,type是转换的目标类型,expression是要转换的值。
cast-name是static_cast , dynamic_cast , const_cast ,
reinterpret_cast是非常强的转换,


总结

提示:这里对文章进行总结:

例如:以上就是今天要讲的内容,本文仅仅简单介绍了表达式和运算符的使用,而c++提供了大量能使我们快速便捷地处理数据的表达式和运算符。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CN-JackZhang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值