C++学习笔记之三(C++语句基础之表达式与语句)
一、运算符
表达式由操作数和运算符组成,操作数可以是各种数据类型的常量和变量,而运算符必须是符合C++语法规则的符合。在具体进行表达式和语句相关内容前,读者需要对C++所支持的各种表达式有详细的了解。
运算符概述:
C++语言中的运算符是可以让C++编译器能够识别的具有运算意义的符合。编译器把这些符合及组成的表达式翻译成相应的机器代码,就可以由计算机运行出正确的结果。如下图的表示:
C++中包含了C语言中所有的运算符,并且在其基础上又增加了一下几种新的运算符。
:::作用域运算符
new:动态分配内存运算符
delete:删除动态分配内存单元运算符
*和→:成员指针选择运算符。
重点注意:不同的运算符所需制定的操作数的个数不同,根据运算符需要的操作符的个数,可以分为三种:
单目运算符(一个操作数):如取址运算符(&),其中的一个操作数只是一个变量。
双目运算符(二个操作数或多个):如加法运算符(+),其中的操作数是两个或多个变量。
三目运算符(三个操作数或多个):在C++中只有一个接受三个参数的运算符"?:"
1.1算数运算符
算数运算符包含:加、减、乘、除(四则运算)运算符(+、-、*、/)和求模运算符(%).算数符是双目运算符,其操作数一般是整数和浮点数(或者结果为整数或浮点数的表达式)。
运算符 | 运算符名称 | 功能 | 示列 | 结果 |
+ | 加法运算符 | 两个数添加 | a+b | 14 |
- | 减法运算符 | 两个数相减 | a-b | 10 |
* | 乘法运算符 | 两个数相乘 | a*b | 24 |
/ | 除法运算符 | 两个数相除 | a/b | 3 |
% | 求模运算符 | 表示取模 | a%b | 2 |
1.2自增和自减运算符
自增和自减运算符是C语言中已经包含的一类运算符,事实上它也可包含在算术运算符的范畴中。自增和自减运算符的表达形式和实习功能如下:
1、前缀增量的一般形式:++(操作数):表示在使用操作数前值增加或减少一。
2、后缀减量的一般形式:(操作数)--:表示在使用操作数后值减少或增加一
C++代码示列:
#include <iostream>
using namespace std;
int main() {
int a=100;
int b=++a;
int c=--a; //隐式转换(int 转换为 float)
cout<<"b="<<b<<endl;
cout<<"c="<<c<<endl;
return 0;
}
1.3赋值运算符
赋值运算符是C++程序中最基本的运算符之一。利用赋值运算符可以给一个变量赋值。C++的赋值运算符以“=”来表示,它是一个二运运算符。
语法格式:
<变量名>=<表达式>
语法说明:
1、表达式的类型和变量类型一致。
2、“=”为赋值运算符,它不等同于数学上的等号。赋值运算符的运算规则是先计算右边的表达式的值,然后将值付给左边的变量。
复合赋值运算符
运算符 | 使用方法 | 等效形式 | 说明 |
+= | a+=b | a=a+b | a加b的值赋给a |
-= | a-=b | a=a-b | a减b的值赋给a |
*= | a*=b | a=a*b | a乘以b的值赋给a |
/= | a/=b | a=a/b | a除以b的值赋给a |
%= | a%=b | a=a%b | a除以b的余数赋值给a |
<<= | a<<=b | a=a<<b | a左以b位的值赋给a |
.>>= | a>>=b | a=a>>b | a右以b位的值赋给a |
&= | a&=b | a=a&b | a与b 逐位与的值赋给a |
|= | a|=b | a=a|b | a与b逐位或的值赋给a |
^= | a^=b | a=a^b | a与b逐位异或的值赋给a |
1.3关系运算符
关系运算符的功能是将两个运算符分量进行大小比较,其结果类型为布尔数据类型,若关系成立,则值为true,否则为false。在C++中,支持的关系运算符主要有6种,其运算符号、名称、功能及运算符的相关示列。
运算符 | 运算符名称 | 功能 | 示列 | 结果 |
< | 小于 | 如:a<b 成立则为true,否则为false | 2<3 | true |
<= | 小于,等于 | 如:a<=b 成立则为true,否则为false | 2<=3 | false |
> | 大于 | 如:a>b 成立则为true,否则为false | 2>3 | false |
>= | 大于,等于 | 如:a>=b 成立则为true,否则为false | 2>=3 | flase |
== | 等于 | 如:a==b 成立则为true,否则为false | 2==3 | false |
!= | 不等于 | 如:a!=b 成立则为true,否则为false | 2!=3 | true |
1.4逻辑运算符
在C++ 中,提供了三种逻辑运算符,分别为:单目运算符逻辑非(!)、双目运算符逻辑与(&&)和逻辑或(||).这三种运算符的运算结果类型都为Boolean数据类型,其值为true或flase。
运算符 | 运算符名称 | 功能 | 示列 | 结果 |
! | 逻辑非 | |||
&& | 逻辑与 | |||
|| | 逻辑或 |
1.5条件运算符
条件运算符是C++ 中唯一的一个三目运算,其语法格式如下:
exper1 ?exper2 :exper3
其含义是:如果子表达式为true的结果为true,则整个表达式的结果是子表达式exper2的值;否则是子表达式exper3的值。
C++示列代码:
#include <iostream>
using namespace std;
int main() {
int a,b,c;
cout<<"请输入两个整数"<<endl;
cin>>a>>b;
c=a>b?a:b;
cout<<"c="<<c<<endl;
return 0;
}
1.6逗号运算符
在C++运算符中支持逗号运算符的使用,它可以使多个表达式写在一行,从而大大的简化了程序。逗号表达式的一般形式为:
<exper1>,<exper2>,......<experM>
表达式的使用规则如下:
1、表达式的执行顺序是先求解表达式1、再求解表达式2,最后求解表达式n,其最终结果为表达式n的值
2、逗号运算符是优先级最低的运算符,其结合性为从左到右。
C++示列代码:
#include <iostream>
using namespace std;
int main() {
int a;
a=(a=3,a+10,a-23);
cout<<"a="<<a<<endl;
return 0;
}
SizeOf运算符
由于不同的计算机支持的数据类型长度不一样,因此需要一个运算符来测量该机器中的数据类型长度。C++中提供了sizeof 运算符,它就是用于测量类型长度的运算符。一般来说,该运算符的使用格式为:
sizeof(<类型名或表达式>)
C++示列代码:
#include <iostream>
using namespace std;
int main() {
int a=10;
bool b=false;
double c=2.1;
cout<<"size of 运算符int长度"<<sizeof(a)<<endl;
cout<<"size of 运算符bool长度"<<sizeof(b)<<endl;
cout<<"size of 运算符double长度"<<sizeof(c)<<endl;
return 0;
}
二、表达式
表达式概念:是有由运算符和操作数组成的式子,参与计算过程的数值称作为操作数,而表示操作数的符号称作为运算符()。一个表达式或由一个或多个操作数,以及零或多个运算符构成。
语句:在C++中,语句是数据处理过程中最小的单位,其标志是表达式结尾处的分号。
语句块:在C++程序中,多个连续的语句可以组成语句块(也称为复合语句块)。语句必须用一对{}包围起来。
赋值语句:赋值语句是C++中使用最平凡的语句之一。赋值语句是为指定变量获得指定值得操作,它是在赋值表达式后加上分号组成。
空语句:空语句也是C++语句,与其他语句的区别在于它没有实际的表达式,只有一个分号。
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。