1.1 if语句

if语句的主要功能是执行判断,括号中为判断语句,大括号中为if语句块;
if语句中可以不使用大括号,那么运行if语句后面一行代码,else同理;

  1. //if语句中可以不使用{}
  2. int main(){
  3. int num = 0;
  4. //if语句中非零代表true
  5. if(num)num=2;
  6. else num= 10;
  7. printf("%d\n",num);
  8. return 0;
  9. }

但是尽量要带{},应为这样的代码易读,而且判断语句中可以执行多行代码;

  1. //建议使用{}
  2. int main(){
  3. int num = 0;
  4. //if语句中非零代表true
  5. if(num){
  6. num=2;
  7. }else{
  8. num= 10;
  9. }
  10. printf("%d\n",num);
  11. return 0;
  12. }

1.2 while循环

while语句是一个循环语句,它会首先判断一个条件是否满足,如果条件满足,则执行后面紧跟着的语句或语句括号,然后再次判断条件是否满足,如果条件满足则再次执行,直到条件不满足为止。后面紧跟的语句或语句括号,就是循环体。

  1. //while循环是先判断,再选择是否进循环体
  2. int num = 100;
  3. int n = 1;
  4. while(num>0){
  5. n++;
  6. num /= 10;
  7. }

do() while是先进行一次循环体中的执行,再执行判断语句

  1. //while循环是先判断,再选择是否进循环体
  2. int num = 100;
  3. int n = 1;
  4. do{
  5. n++;
  6. num /= 10;
  7. }while(num>0);

1.3 for循环

在C语言中有时不能再条件中初始化

  1. #include <stdio.h>
  2. int main(){
  3. int num = 1;
  4. for(int i=1;i<5;i++){
  5. num*=i;
  6. }
  7. printf("num的值为%d\n",num);
  8. return 0;
  9. }

下面是可以的

  1. #include <stdio.h>
  2. int main(){
  3. int num = 1;
  4. int i;
  5. for(i=1;i<5;i++){
  6. num*=i;
  7. }
  8. printf("num的值为%d\n",num);
  9. return 0;
  10. }

在执行的过程中for(;判断语句;)条件可以省略的,这时候相当于while循环

1.4 switch case

当switch后的值和case中的值相匹配时,执行对应case中的代码,然后继续执行,知道break结束;

  1. #include <stdio.h>
  2. int main(){
  3. int num = 3;
  4. switch(num){
  5. case 1:
  6. printf("num的值为%d\n",1);
  7. case 2:
  8. printf("num的值为%d\n",2);
  9. case 3:
  10. printf("num的值为%d\n",3);
  11. case 4:
  12. printf("num的值为%d\n",4);
  13. default:
  14. printf("执行结束!");
  15. }
  16. return 0;
  17. }

以上写法中没有在每个case语句中添加break;这样输出的结果为:

num的值为3
num的值为4
执行结束!

应该使用以下代码

#include <stdio.h>

int main(){
    int num = 3;
    switch(num){
        case 1:
            printf("num的值为%d\n",1);
            break;
        case 2:
            printf("num的值为%d\n",2);
            break;           
        case 3:
            printf("num的值为%d\n",3);
            break;
        case 4:
            printf("num的值为%d\n",4);
            break;
        default:
            printf("执行结束!");
    }
   return 0;
}

执行结果为:num的值为3
case的意思代表从哪个位置跳入,并不是只执行这各case后面的值,如果没有break,它会继续执行后面的代码;