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

运算符与优先级

优先级 运算符
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");
    }

猜你喜欢

转载自blog.csdn.net/s17728022507/article/details/74922350