C语言(七):运算符表达式与语句

xiaoxiao2021-02-28  109

运算符与优先级

优先级运算符1++(后缀),–(后缀),()(调用函数),{}(语句块),.,->2++(前缀),–(前缀),+(前缀),-(前缀),!(前缀),~(前缀),sizeof,*(取指针值),&(取地址),(type)(类型转化)3*, /, %4+,-5<< >>6< > <= >=7== !=8&9^10l11&&12ll13?14=,*=,%=,+=,-=,<<=,>>=,&=,15,(逗号运算符)

条件判断语句:if else

单分支 if(条件) { //复合语句 } 双分支 if(条件) { //复合语句1 } else { //复合语句2 } //如果条件为真,那么执行复合语句1,否则执行复合语句2 多重分支 if(条件1) { //复合语句1 } else if(条件2) { //复合语句2 } else if(条件3) { //复合语句3 } else if(条件4) { //复合语句4 } else if(条件5) { //复合语句5 } //当有多个else的时候,else总是和上方最近的那个if语句配对

switch与break,default

switch (i) { case 0: printf("i = 0\n"); break;//跳出switch的复合语句块 case 1: printf("i = 1\n"); break; case 2: printf("i = 2\n"); break; case 3: printf("i = 3\n"); break; case 4: printf("i = 4\n"); break; default://如果有所条件都不满足,那么执行default语句 printf("error\n"); }

什么时候用if,什么时候用switch 当条件很复杂,一个条件中有&&,|| ,!存在,那么用if语句 如果条件很简单,但分支很多,那么适合用switch

三目运算符:条件运算符

int i = -8; int x = (i < 0) ? -i: i; //先求?左边的条件,如果条件为真,那么等于:左边的值,否则等于:右边的值

goto语句与标号

无条件跳转goto 不建议使用goto语句,goto语句会使你的程序可读性变的很差

void main() { int i, j; for ( i = 0; i < 10; i++ ) { printf( "Outer loop executing. i = %d\n", i ); for ( j = 0; j < 3; j++ ) { printf( " Inner loop executing. j = %d\n", j ); if ( i == 5 ) goto stop; } } printf( "Loop exited. i = %d\n", i ); stop: printf( "Jumped to stop. i = %d\n", i ); }

循环语句与continue,break


continue

循环遇到continue语句,不再执行continue下面代码,而是直接返回到循环起始语句处继续执行循环,也就是跳过当次循环。

break

循环遇到break语句,立刻终端循环,循环结束

while语句

while(条件),如果条件为真,循环继续,条件为假,循环结束

while (1)是死循环的写法

do while语句

do 复合语句 while (条件);

对于do while来讲,循环的复合语句至少可以被执行一次,它是先执行一次再判断 对于while来讲,有可能复合语句一次执行机会都没有,先判断是否满足条件再执行

for循环语句

int i,j; for(i = 9; i > 0; i--) { for(j = 9; j > 0; j--) { printf("%d\t", i * j); } printf("\n"); }
转载请注明原文地址: https://www.6miu.com/read-27106.html

最新回复(0)