小白学C语言(知识版)丨DAY 4

C语言中常用的运算符和逻辑控制,今天做了一个小小的回顾ヾ(◍°∇°◍)ノ゙

C语言运算符详解

1. 算术操作符:+-* /%

1.1 + -

(1)+-用来完成加法和减法。
(2)+-都是有2个操作数的,位于操作符两端的就是它们的操作数,这种操作符也叫双目操作符

1.2 *

(1)运算符*用来完成乘法。

1.3 /

(1)运算符/用来完成除法。
(2)除号的两端如果是整数,执行的是整数除法,得到的结果也是整数。
尽管变量x的类型是float(浮点数),但是6 / 4得到的结果是1.0,而不是1.5。原因就在于 C 语言里 面的整数除法是整除,只会返回整数部分,丢弃小数部分。如果希望得到浮点数的结果,两个运算数必须至少有一个浮点数,这时 C 语言就会进行浮点数除法。6.0 / 4表示进行浮点数除法,得到的结果就是1.5

1.4 %

(1)运算符%表示求模()运算,即返回两个整数相除的余值。这个运算符只能用于整数,不能用于浮点数。

2. 赋值操作符:=和复合赋值

2.1 复合赋值符

(1)在写代码时,我们经常可能对一个数进行自增、自减的操作
+=      -=
*=     /=     %=
>>=     <<=
&=     |=    ^=

3. 单目操作符:++--

(1)前面介绍的操作符都是双目操作符,有2个操作数的。C语言中还有一些操作符只有一个操作数,被称为单目操作符。++-- 就是单目操作符。

3.1 ++--

(1)++是一种自增的操作符,又分为前置++和后置++--是一种自减的操作符,也分为前置--和后置--
(2)int b = ++a; //++的操作数是a,是放在a的前面的,就是前置++
用法先加一后使用
(3)int b = a++; //++的操作数是a,是放在a的后面的,就是后置++
用法先使用后加一
(4)--同理

4. 移位运算符

4.1左移:用二进制法表示左边抛弃右边补零

(1)C语言标准规定导致符号位改变的带符号整数的左移操作属于未定义行为” (Undefined Behavior, UB)
(2)C标准不保证结果一定是那个负数值。
(3)编译器可以做任何处理,包括产生一个警告、得到预期的负数值、得到一个完全意外的值,甚至在某些极端情况下导致 程序崩溃。

4.2右移:左边用原该值的符号位填充,右边抛弃

5. 位操作符

(1)& //按位与:俩个二进制数&,对应的比特位上只要有0,那么按位与结果对应位上就是零
(2)| //按位或:只要对应的比特位上有1,那么结果对应的比特位上就是1
(3)^ //按位异或:如果对应的比特位上二进制不一样,那么对应位用1表示;俩个一样的数字,异或出来就是零
(4)~ //按位取反:~a=-(a+1)

6.关系运算符

> > = < < = = = ! =

7. 逻辑运算符

逻辑运算符包含:逻辑与:&&、逻辑或:||、逻辑非:!

8. 逗号表达式

(1)逗号表达式,就是用逗号隔开的多个表达式。
(2)逗号表达式会从左向右依次计算所有子表达式,整个表达式的最终结果是最后一个子表达式的结果。

C语言逻辑控制详解

1. 顺序结构

程序按照代码书写的顺序一行一行执行。

2. 选择结构

2.1 if语句

2.2 逻辑运算符

逻辑运算符提供逻辑判断功能,用于构建更复杂的表达式,主要有下面三个运算符。
(1)!逻辑取反运算符(改变单个表达式的真假)。
(2)&&逻辑与运算符,就是并且的意思(两侧的表达式都为真,则为真,否则为假)。
(3)||逻辑或运算符,就是或者的意思(两侧至少有一个表达式为真,则为真,否则为假)。
(4)C语言中,非0表示真,0表示假。
 

2.3 switch

(1)switch语句是一种特殊形式的 if...else 结构,用于判断条件有多个确定结果的情况。它把多重的else if改成更易用、可读性更好的形式。
switch语法格式:
switch (整型表达式)
{
case 整型常量1: 语句;
case 整型常量2: 语句;
...
default: 语句;
}
(2)上面代码中,根据表达式expression不同的值,执行相应的case分支。如果找不到对应的值,就执行default分支。
(3)switch后的expression必须是整型表达式。
(4)case 后的值,必须是整型常量表达式。
注意:
1. 每个case后面的的break是不能进行省略的,若省略了,则会一直执行遇到下一个break结束。
2. case和后面的数字之间必须有空格。
3. default语句是可选的,作用是在所有case都不匹配时执行。

3. 循环结构

3.1 while循环

条件为真时重复执行代码,适合循环次数未知的场景。

3.2 for循环

(1)已知循环次数时使用,是三种循环中使用最多的,适合遍历数组或集合。
for语法格式:
for(表达式1; 表达式2; 表达式3)
{
// 循环体语句
}
表达式1: 用于循环变量的初始化。
表达式2: 用于循环结束条件的判断。
表达式3: 用于循环变量的调整。

3.3 do-while循环

(1)在循环语句中do-while语句的使用最少,它保证循环体至少被执行一次。
do-while语法格式:
do
{
// 循环体语句
}
while(表达式);
(2)先执行一次循环体,然后再判断表达式。只要表达式为真,就继续循环。
(3)whilefor这两种循环都是先判断,条件如果满足就进入循环,执行循环语句,如果不满足就跳出循环; 而dowhile循环则是先直接进入循环体,执行循环语句,然后再执行while后的判断表达式,表达式为真,就会进行下一次,
(4)表达式为假,则不再继续循环

3.4 循环嵌套

(1)循环是可以进行嵌套的,不管是for循环嵌套while循环,还是while循环嵌套for循环都是可以的。一个循环体内又包含另一个完整的循环结构,称为循环的嵌套

3.5 break continue

(1)break continue 是两个用于在循环内部精确控制循环流程的关键字。
break: 立即终止并跳出当前所在的循环。
continue: 跳过本次循环中尚未执行的语句,直接开始下一次循环的判断和执行。
(2)相比于while循环当中的continuefor循环在遇到continue之后,他会执行下一次
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值