1、顺序结构

2、条件结构

  • if

    1. int main(){
    2. int a = 3;
    3. int b = 4;
    4. if(a>b){
    5. printf("%d\n",a);
    6. }else{
    7. printf("%d\n",b);
    8. }
    9. int result;
    10. if (a > b)
    11. result = a;
    12. else
    13. result = b;
    14. }
  • switch

  • switch 语句不会在执行判断为真后的语句之后跳出循环,而是继续执行后面所有 case 语句。在每一 case 语句之后增加 break 语句,使每一次执行之后均可跳出 switch 语句,从而避免输出不应有的结果

    1. int main(){
    2. switch (a) {
    3. case 1:
    4. printf("%d\n",1);
    5. break;
    6. case 2:
    7. printf("%d\n",2);
    8. break;
    9. default:
    10. printf("%d\n",-1);
    11. break;
    12. }
    13. }
  • 三元运算符

    1. int main(){
    2. int num = 4;
    3. (num%2==0)?printf("偶数"):printf("奇数");
    4. }

    3、循环结构

  • while

    1. /* 局部变量定义 */
    2. int a = 10;
    3. /* while 循环执行 */
    4. while( a < 20 )
    5. {
    6. printf("a 的值: %d\n", a);
    7. a++;
    8. }
  • do…while

    1. /* 局部变量定义 */
    2. int a = 10;
    3. /* do 循环执行 */
    4. do
    5. {
    6. printf("a 的值: %d\n", a);
    7. a = a + 1;
    8. }while( a < 20 );
  • for

    /* for 循环执行 */
      for( int a = 10; a < 20; a = a + 1 ){
          printf("a 的值: %d\n", a);
      }
    

    3、循环控制

  • break

  • continue
  • goto:允许把控制无条件转移到同一函数内的被标记的语句(在任何编程语言中,都不建议使用 goto 语句。因为它使得程序的控制流难以跟踪,使程序难以理解和难以修改。任何使用 goto 语句的程序可以改写成不需要使用 goto 语句的写法)
  • goto和if构成循环

      int i = 1, sum =0;
    
      loop:
      if (i <= 100) {
          sum = sum + i;
          i++;
          goto loop;
      }
      printf("%d",sum);