「这是我参与2022首次更文挑战的第5天,活动详情查看:2022首次更文挑战」。
补充运算符知识:
自增【或者自减】
分类:
前自增 ++i
后自减 i++
前自增和后自增的异同:
相同:
最终都使i的值加1
不同:
前自增整体表达式的值是i加1后的值
后自增整体表达式的值是i加1前的值
int m = i++;
printf(“%d”,i++);
类似于这样的写法是不规范的,而且是不可移植的,尽量避免这么去写!!!
三目运算符
格式:
A?B:C
等价于
if(A)
B;
else
C;
#include <stdio.h>
int main(void)
{
int i;
i = (0>2?5:1);
printf("%d\n",i);
return 0;
}
逗号表达式
格式:
(A,B,C,D)
功能: 从左到右执行,最终表达式的值是最后一项的值。
int main(void)
{
int i;
int j =2;
i = (j++,++j,j+2,j-3);
printf("%d\n",i);
return 0;
}
结果为1
while循环
格式:
while(表达式)
语句;
for(1;2;3) A; 等价于 while(2) { A; 3; } while和for可以相互转化,但for的逻辑性更强,更不容易出错,推荐多使用for
do...while
格式:
do{
......
}while(表达式);
用处:主要用于人机交互。
switch
所有case后面的常量表达式为便于描述我们姑且称之为标签,这些标签的类型通常为:(1)枚举常量(2)数值变量(3)字符常量(4)常变量,枚举变量是不能作为标签使用的。switch后面的括号里的表达式是允许任何类型的。
switch是选择不是循环,如果出现break语句,退出switch执行下面的语句,出现continue是错误的,除非switch本身属于循环的一部分。
break和continue
break:
如果用于循环是用来终止循环
如果用于switch,则是用于终止switch
不能直接用于if,除非if属于循环内存的一个子句
在多层循环中,只能终止距离它最近的那个循环
break虽然是if内部的语句,但终止的是外部的for循环。
continue:
用于跳过本次循环余下的语句,
转去判断是否需要执行下次循环