C++学习笔记之三(C++语句基础之表达式与语句)
来源:互联网 发布:比特币购买 知乎 编辑:程序博客网 时间:2024/04/30 00:43
一、运算符
表达式由操作数和运算符组成,操作数可以是各种数据类型的常量和变量,而运算符必须是符合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++语句,与其他语句的区别在于它没有实际的表达式,只有一个分号。
- C++学习笔记之三(C++语句基础之表达式与语句)
- C语言基础学习(三)--语句
- (二)JNI学习之C语言基础,控制语句
- C语言入门教程之三表达式和语句
- C语言入门教程之三表达式和语句
- 黑马程序员---C语言学习笔记之分支结构if语句与switc语句的详解
- J2SE学习笔记之运算符、表达式与语句
- Python学习笔记之2 -- 变量、表达式与语句
- c语言学习笔记8之if语句
- c语言学习笔记9之switch语句
- C语言基础 之 switch-case语句
- Shader学习之Cg语言三(Cg表达式与控制语句)
- linQ学习笔记之三高级语句
- C语言之语句
- 《C和指针》学习笔记三/语句 操作符和表达式 指针的运算/
- 学习笔记---C程序结构、C语言基础语句总结
- C语言学习之控制语句
- c语言学习之语句篇
- R语言之RMysql 包安装
- 1412200906-hd-矩形A+B
- 12.Hibernate双向基于链表的1-N映射
- 八方位位置判断代码——1
- Ubuntu14.04如何备份和恢复系统
- C++学习笔记之三(C++语句基础之表达式与语句)
- iOS端极光推送遇到的问题
- 【大话设计模式】——结构型模式总结
- 爸妈加我微信了!
- sgu-200 Cracking RSA(简单的高斯消元求自由变元个数)
- 第十六周项目4 - 日期结构体(生日相差几天)
- Eclipse web项目引用其他工程
- C++实现Http Post请求
- Cocos2d-x 3.1环境搭建和创建工程