• C 流程控制


    判断

    switch语句

    switch语句可以嵌套

    switch(expression){
        case constant-expression  :
           statement(s);
           break; /* 可选的 */// 如果这里没有break,则会继续执行下面一个case里的语句,直到遇见一个break或者switch语句结束
        case constant-expression  :
           statement(s);
           break; /* 可选的 */
      
        /* 您可以有任意数量的 case 语句 */
        default : /* 可选的 */
           statement(s);
    }
    
    #include <stdio.h>
     
    int main ()
    {
       /* 局部变量定义 */
       char grade = 'B';
     
       switch(grade)
       {
       case 'A' :
          printf("很棒!
    " );
          break;
       case 'B' :
       case 'C' :
          printf("做得好
    " );
         
       case 'D' :
          printf("您通过了
    " );
          break;
       case 'F' :
          printf("最好再试一下
    " );
          break;
       default :
          printf("无效的成绩
    " );
       }
       printf("您的成绩是 %c
    ", grade );
     
       return 0;
    }
    //输出
    做得好
    您通过了
    您的成绩是 B
    
    

    三元运算符

    Exp1 ? Exp2 : Exp3;

    循环

    for循环中三个表达式中的每一个都不是必要的,从而可以将某些表达式置空来构造无限循环

    #include <stdio.h>
     
    int main ()
    {
       for( ; ; )
       {
          printf("该循环会永远执行下去!
    ");
       }
       return 0;
    }
    

    whiledo……while的区别

    while语句在执行循环主体前测试条件、而do……while在循环主题执行后测试条件,即循环主体会被至少执行一次

    循环控制语句goto

    goto语句允许把控制无条件的转移到同一函数内的被标记语句
    但是不建议使用goto语句,因为他使得程序的执行流程变得难以跟踪,任何使用goto的语句都可以改写成为其他写法。
    语法

    goto label;
    ..
    .
    label: statement;
    
    #include <stdio.h>
     
    int main ()
    {
       /* 局部变量定义 */
       int a = 10;
    
       /* do 循环执行 */
       LOOP:do#label为LOOP的语句
       {
          if( a == 15)
          {
             /* 跳过迭代 */
             a = a + 1;
             goto LOOP;#跳到label为LOOP的语句
          }
          printf("a 的值: %d
    ", a);
          a++;
         
       }while( a < 20 );
     
       return 0;
    }
    
  • 相关阅读:
    PAT Basic 1023 组个最小数 (20 分)
    PAT Advanced 1048 Find Coins (25 分)
    PAT Basic 1005 继续(3n+1)猜想 (25 分)
    PAT Advanced 1050 String Subtraction (20 分)
    PAT Advanced 1041 Be Unique (20 分)
    PAT Basic 1047 编程团体赛 (20 分)
    SpringSecurity整合SpringBoot
    给正在运行的Docker容器动态绑定卷组
    linux 中格式化json字符串
    docker/kubernetes国内源/镜像源解决方式
  • 原文地址:https://www.cnblogs.com/Gaoqiking/p/11716577.html
Copyright © 2020-2023  润新知