if、switch、for、while

36 阅读2分钟

if

一个if语句由一个布尔表达式后跟一个或多个语句组成。

int main(){
int a,b,c,t;
scanf("%d%d%d",&a,&b,&c);\\输入abc为整型的值
  if (a > b){\\判断a和b如果a大于b那么互换位置
     t = a;
     a = b;
     b = t;
  if(a > c){\\判断a和c如果a大于c那么互换位置
     t = a;
     a = c;
     c = t;
  if (b > c){\\判断b和c如果b大于c那么互换位置
     t = b;
     b = c;
     c = t;
printf("%d %d %d",a,b,c);

if else在if表达为false时执行else

int main(){
     int num;
     scanf("%d",&num);
      if(num % 2 == 0){
         printf("%d = add\n",num);
     }else{
         printf("even\n");
     }
return

switch

  • break:在执行完了跳出switch。
  • default:当与所有case中的值不匹配时候执行这个下面代码。
#include "stdio.h"

int main(){
  char geade_rating;
  printf("input grade_rating;");
  scanf("%c",&geade_rating);
switch(geade_rating){
    case'a':
       printf("a-exce;;emt\n");
       break;
    case'b':
       printf("b-very ggood\n");
       break;
    case'c':
       printf("c-nice\n");
       break;
    case'd':
       printf("d-ok\n");
       break;
    case'e':
       printf("e-common\n");
       break;
       default:
       printf("input_invalid\n");
       break;

}
  printf("**********************\n");


  return 0;
}

break 是一个控制流语句,它的作用非常直接:立即跳出并终止当前所在的循环或 switch 语句

switch (grade_rating) {
    case 'a':
        printf("a-excellent\n");
        break; // 执行完 'a' 的代码后,break 让它跳出 switch
    case 'b':
        printf("b-very good\n");
        break; // 同样,执行完 'b' 就跳出
    // ...
    default:
        printf("input_invalid\n");
        break;
}

如果 case 'a' 后面没有 break,当用户输入 'a' 时,程序会先打印 a-excellent,然后紧接着打印 b-very good,以及后面所有 case 的内容,直到遇到 default 的 break 才停止。这通常不是我们想要的结果。

for循环嵌套

int main(){
for (int i = 0; i <= 5; i++) {
    for (int j = 1; j <= i; j++) {
        printf(" *");
    }
    printf("\n");
    for (int k = 5; k >= i; k--) {
        printf(" ");
    }
}
    return 0;

}

while

#include "stdio.h"

int main(){
    int a = 1;
    int sum = 0;
while(a <= 100) {
   if(a % 2 == 0) {
       sum = sum + a;
   }
    a++;
}
    printf("sum = %d\n", sum);
    return 0;

}