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++提供了大量能使我们快速便捷地处理数据的表达式和运算符。