您的位置:首页 > 编程语言 > C语言/C++

C++学习笔记之三(C++语句基础之表达式与语句)

2014-12-20 15:43 357 查看
一、运算符

表达式由操作数和运算符组成,操作数可以是各种数据类型的常量和变量,而运算符必须是符合C++语法规则的符合。在具体进行表达式和语句相关内容前,读者需要对C++所支持的各种表达式有详细的了解。

运算符概述:

C++语言中的运算符是可以让C++编译器能够识别的具有运算意义的符合。编译器把这些符合及组成的表达式翻译成相应的机器代码,就可以由计算机运行出正确的结果。如下图的表示:



C++中包含了C语言中所有的运算符,并且在其基础上又增加了一下几种新的运算符。

:::作用域运算符

new:动态分配内存运算符

delete:删除动态分配内存单元运算符

*和→:成员指针选择运算符。

重点注意:不同的运算符所需制定的操作数的个数不同,根据运算符需要的操作符的个数,可以分为三种:

单目运算符(一个操作数):如取址运算符(&),其中的一个操作数只是一个变量。

双目运算符(二个操作数或多个):如加法运算符(+),其中的操作数是两个或多个变量。

三目运算符(三个操作数或多个):在C++中只有一个接受三个参数的运算符"?:"

1.1算数运算符

算数运算符包含:加、减、乘、除(四则运算)运算符(+、-、*、/)和求模运算符(%).算数符是双目运算符,其操作数一般是整数和浮点数(或者结果为整数或浮点数的表达式)。

运算符运算符名称功能示列结果
+加法运算符两个数添加a+b14
-减法运算符两个数相减a-b10
*乘法运算符两个数相乘a*b24
/除法运算符两个数相除a/b3
%求模运算符表示取模a%b2
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+=ba=a+ba加b的值赋给a
-=a-=ba=a-ba减b的值赋给a
*=a*=ba=a*ba乘以b的值赋给a
/=a/=ba=a/ba除以b的值赋给a
%=a%=ba=a%ba除以b的余数赋值给a
<<=a<<=ba=a<<ba左以b位的值赋给a
.>>=a>>=ba=a>>ba右以b位的值赋给a
&=a&=ba=a&ba与b 逐位与的值赋给a
|=a|=ba=a|ba与b逐位或的值赋给a
^=a^=ba=a^ba与b逐位异或的值赋给a
1.3关系运算符

关系运算符的功能是将两个运算符分量进行大小比较,其结果类型为布尔数据类型,若关系成立,则值为true,否则为false。在C++中,支持的关系运算符主要有6种,其运算符号、名称、功能及运算符的相关示列。


运算符运算符名称功能示列结果
<小于如:a<b 成立则为true,否则为false2<3true
<=小于,等于如:a<=b 成立则为true,否则为false2<=3false
>大于如:a>b 成立则为true,否则为false2>3false
>=大于,等于如:a>=b 成立则为true,否则为false2>=3flase
==等于如:a==b 成立则为true,否则为false2==3false
!=不等于如:a!=b 成立则为true,否则为false2!=3true
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++语句,与其他语句的区别在于它没有实际的表达式,只有一个分号。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: