C语言流程控制

2018-08-30  本文已影响0人  Cc_5691

选择结构if

- if选择结构格式

 -  第一种格式:
  if(条件表达式){
       条件成立执行的语句
 }
  其它语句
 
 第二种格式:
  if(条件表达式){
      条件成立执行的语句
  }else{
 条件不成立执行的语句
 }
 第三种格式:
  if(条件表达式1){
       条件满足执行的语句
  }else if(条件表达式2){
      条件满足执行的语句
  }else if(条件表达式3){
       条件满足执行的语句
  }else{
      条件不成立执行的语句
 }

if注意点

int age = 17;
if(age >= 18)
printf("开网卡\n");//条件不满足,不执行
printf("买饮料\n");

  • {
    int age = 88;
    printf("age = %i\n", age);
    }
    printf("age = %i\n", age);

int age = 18;
if(age >= 18)
int num = 666;
printf("开网卡\n");

// if(0)
// if(1)
// printf("A\n");
// else // 和if(1)匹配
// printf("B\n");
// else // 和if(0)匹配, 因为if(1)已经被匹配过了
// if (1)
// printf("C\n");
// else // 和if(1)匹配
// printf("D\n");

一般企业开发中不会省略

// if(0)
// if(1)
// printf("A\n");
// else if(1) // 和if(1)匹配
// printf("B\n");
// else
// printf("c\n");
// else // 和if(0)匹配, 因为if(1)已经被匹配过了
// if (1)
// printf("D\n");
// else if(1) // 和if(1)匹配
// printf("F\n");
// else
// printf("G\n");

// if(1){
// if(0){
// printf("A\n");
// }else{
// printf("B\n");
// }
// }else{
// if(1){
// printf("C\n");
// }else{
// printf("D\n");
// }
// }

选择结构switch

int day = 3;
switch(day){
case 1:
    printf("星期一\n");
    break;
case 2:
    printf("星期二\n");
    break;
default:
    printf("Other\n");
    break;
}

// int num = 1;
// switch(num){ // 放一个变量
// switch(2){ // 放一个常量
// switch(1 + 1){ // 放一个表达式
// switch(1.1){ // 会报错, 小数不能提升为整型
// 不会报错, char类型可以提升为int类型
// char类型底层的本质存储的是ASCII码, 而ASCII码就是整型
// switch('a'){
// case 1:
// printf("A\n");
// break;
// case 2:
// printf("B\n");
// break;
// default:
// printf("Other\n");
// }

// int num = 1;
// switch(2){
// case 1: //常量
//// case num: // 变量, 会报错
// printf("A\n");
// break;
// case 1 + 1: // 表达式
// printf("B\n");
// break;
// default:
// printf("Other\n");
// }

// int num = 1;
// switch(2){
// case 2:
// printf("A\n");
// break;
//// case 1: // 会报错
// case 1 + 1: // 会报错
// printf("B\n");
// break;
// default:
// printf("Other\n");
// }

switch(1){
case 1:{
int num = 666; // 会报错
printf("A\n");
break;
}
case 2:
printf("B\n");
break;
default:
printf("Other\n");
}
return 0;
}

循环结构

循环结构while

int count = 0;
while (count < 3) { // 循环控制条件
printf("发射子弹~哔哔哔哔\n"); // 需要反复执行的语句
count++; // 能够让循环结束的语句
}

whlie循环注意点

int count = 0;
while (count < 3) { // 循环控制条件
printf("发射子弹~哔哔哔哔\n"); // 需要反复执行的语句
count++; // 能够让循环结束的语句
}

int main(){
while (1) // 死循环
int num = 10; // 报错
// 没有能够让循环结束的语句
}

 while和dowhile的区别:
 while会先判断条件再执行循环体
 dowhile会先执行循环体再判断条件
while(0){
    printf("被控制的语句\n");
}

do{
    printf("被控制的语句\n");
}while (0);

// 在大部分的情况下while和dowhile是可以互换的
// 在企业开发中如果能够互换, 一般我们会使用while

循环结构for

for(初始化表达式;循环条件表达式;循环后的操作表达式) {
循环体中的语句;
}

for(int i = 0; i < 10; i++){
printf("发射子弹~哔哔哔哔\n");
}

四大跳转

循环嵌套

for (col=0; col<5; col++ ) {
// 高效率:长循环在最内层
for (row=0; row<100; row++) {
sum = sum + a[row][col];
}
}

for(int i = 0; i< 5; i++) {
for(int j = i; j < 5; j++) {
printf("*");
}
printf("\n");
}

上一篇 下一篇

猜你喜欢

热点阅读