知识点
运算符
算数运算符
- 定义:表示数值以及算数表达式之间的关系
- 整型:大小
字符型:ASCII码值大小 - 较实型数据的值(了解)
错误原因:实型数据在计算机中是近似存储的
判断fabs(x-y)《zero或者fabs(x)《zero - 优先级
逻辑运算符
List item
- 优先级
短路计算
在逻辑表达式的计算过程中,一单能够确定整个表达式的值,就会立刻停止运算 - 整形数据可以参加逻辑运算
整型数据在参与逻辑运算时,根据其值是 0 或非 0,分别当作逻辑值“假”或“真”进行处理。
语句
if语句
1格式:
1
if(表达式)
语句1//条件成立
else
语句2//条件不成立
2
if(表达式)
语句;
2复合语句:当条件(不)成立需要执行多条语句时用{}将其扩起来,称为复合语句
3嵌套
1分支结构可以嵌套多层
2else总是离它最近前面的一个if配对
条件表达式
格式:< 表达式 1> ? < 表达式 2> : < 表达式 3>
若表达式 1 的值为真(非 0),则只计算表达式 2,并将其结果作为整个表达式的值;否则,只计算表达式 3,并将其结果作为整个表达式的值。
switch语句
格式:
switch (表达式){
case 常量表达式1: 语句组1; [break;]
case 常量表达式2: 语句组2; [break;]
case 常量表达式n: 语句组n; [break;]
[default: 语句组n+1]
}//表示表达式与所有常量表达式的值都不匹配,那就执行其后面的语句组。
如果不需要执行任何语句,可省。
规则:先计算表达式的值,若表达式的值与常量中的值相等,就开始进入相应的case后面的语句组执行,遇到后续的case也不再进行判断(默认匹配),直至遇到break语句或switch语句结束。
注意:
1switch 后面的表达式,取值只能是离散型。case 后面的常量表达式,其值类型要与 switch 后面表达式的类型一致。
2任意两个 case 后的表达式值必须各不相同,否则将引起歧义。
3语句组可以是一条语句,也可以是一个复合语句。
随机函数
/#include
#include
#include
using namespace std;
int main(){
int a,b,c;
srand(time(0));
int x = 1, y = 9;
a = x + rand() % (y - x + 1);
b = x + rand() % (y - x + 1);
x = 1;
y = 4;
c = x + rand() % (y - x + 1);
switch©{
case 1: printf("%d+%d=%d\n", a, b, a + b); break;
case 2: printf("%d-%d=%d\n", a, b, a - b); break;
case 3: printf("%d*%d=%d\n", a, b, a * b); break;
case 4: printf("%d/%d=%d\n", a, b, a / b); break;
}
return 0;
}
收获
1任何表达式都有值
2区分“==”和“=”
3使用if语句时养成使用{},增大调通几率
4C++字符可以根据ASCII码值大小比较大小
感悟
学习c++是在学习以计算机的视角解决问题,不能得过且过,学习要细致,尽量复刻计算机的运算调程序。在能力不足的现在,繁琐但简单的思路,可能更容易解决问题,不要好高骛远。