C++系列文章目录
第一章 C++基础
第二章 表达式和语句
第三章 函数
待学习\整理内容
英文术语整理
第二章 表达式和语句
一、表达式
1.左值和右值
- 左值:能出现在赋值表达式左边的表达式。有存放数据的空间,存放是允许的。
- 右值:只能出现在赋值表达式的右边。左值表达式也能作为右值表达式。
2.优先级和结合性
每一级的操作符是同优先级的
二、算数运算和赋值缩写
1.操作符
2.赋值缩写
3.溢出
补码
一个整数类型的变量,用任何超过表示范围的整数初始化,得到的值位用该整数范围作模运算后的值。
4.算术类型转换
小转大(隐式转换)是可以的,大转小是强制转换。
5.增量和减量
a ++; //等价于a = a + 1;
++ a; //等价于a = a + 1;
b = a ++; //等价于b = a , a = a + 1;
c = ++ a; //等价于a = a + 1, c = a;
- 前增量:先修改操作数a使其+1,再将+1后的a值作为表达式的值;
- 后增量:先将表达式的值确定下来,再将a+1;
- 操作数必须是左值,++a 是左值,a++不是;
减量同上
6.运算符
①关系运算符
关系运算符 | 符号 |
---|---|
比较 | == |
大于 | > |
小于 | < |
大于等于 | >= |
小于等于 | <= |
不等于 | != |
②逻辑运算符
逻辑运算符 | 符号 | 作用 |
---|---|---|
非 | ! | |
逻辑与 | && | 一个假为假,都真为真 |
逻辑或 | || | 一个真为真,都假为假 |
③条件运算符
语法:
(条件表达式)?(条件为真时的表达式):(条件为假时的表达式)
//例如:
x = (a>b) ? a : b;//当a>b时x=a;否则a<=b,x=b。
任何被转换的变量都不是左值,C中,条件运算符是无法作左值的
在一个条件运算符的表达式中,如果后面跟两个表达式的值类型相同,都是左值,则该条件运算符表达式的值为左值表达式
三、语句
1.if语句
语法
if(条件表达式)//条件表达式为真则执行语句
语句;
//或
if(条件表达式)
{
语句;
}
2.空语句
if(条件表达式);//空语句要加分号
3.if-else语句
语法
if(条件表达式)
语句1;
else
语句2;
注意缩进格式,C++不是python,不会依靠缩进来判断是不是成对的语句
4.while语句
语法:
while(条件表达式)
循环体
5.do-while语句
语法:
do
循环体
while(条件表达式)//条件表达式为真则继续循环,为假则终止
6.for语句
语法:
for(表达式1;表达式2;表达式3)
{
循环体
}
7.switch语句
多分支选择语句语法:
switch(表达式)//表达式只能为整型、字符型或枚举型
{
case 常量表达式1 : 语句组1
case 常量表达式2 : 语句组2
……
case 常量表达式n : 语句组n
default : 语句组n+1
}
8.break语句与continue语句
break语句可以用在while do-while for 和 switch语句中,用于终止整个循环
continue语句用在循环语句中,可以跳出本次循环
9.goto语句
将控制从它所在的地方转移到语句标号处。
只用于一种情况:
从多重循环深处直接跳转到语句外的地方,比break好用
语法:
i = 1; sum = 0;
Loop: //语句标号
sum += i++;
if(i <= 100)
goto Loop;
cout << "sum is" << sum <<endl;