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

来源:互联网 发布:mac上卸载软件 编辑:程序博客网 时间:2024/05/15 05:40

运算符与优先级

优先级 运算符 1 ++(后缀),–(后缀),()(调用函数),{}(语句块),.,-> 2 ++(前缀),–(前缀),+(前缀),-(前缀),!(前缀),~(前缀),sizeof,*(取指针值),&(取地址),(type)(类型转化) 3 *, /, % 4 +,- 5 << >> 6 < > <= >= 7 == != 8 & 9 ^ 10 l 11 && 12 ll 13 ? 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");    }
原创粉丝点击