首页 > 其他 > 详细

第四课 if for while swtich ( do while ) 循环详解

时间:2020-09-27 00:08:23      阅读:111      评论:0      收藏:0      [点我收藏+]

循环 if for while switch do while

if else

1. if (A) {} 如果 (A条件成立)就 { }执行这里内容 A条件不成立不执行
else 否则 A 条件没成立的所有情况 都执行 else 语句
2. if (A) {} 如果满足条件A 执行此命令 以下不的 else if 不在执行
else if (B) {} 如果A的条件不满足 但是满足 B跳条件 执行此内容 以下不在执行
else if (C) {} else if 可以无限多 有优先级 如果前面条件成立 才会执行后面满足对应条件的内容
else 所有条件都不满足 执行此内容 else 只与最近的 if 配对!
3. if (A) {
if (B) .{ if(b){}..esle }
else if (C){ if(c){}..else}
esle
} else : if 语句里面可以有无限的 if 语句! 但是一个 if 只能对应一个 else! 也可以没有 else

if else 不是循环 只能执行一次 if 或者 else ::: if 语句只能有一个结果

if 可以放在循环里,if里面也可以放入循环

例如
int a , b, c;
    c=1;
    scanf("%d",&a);  //输入数字
    if (a==50){   //如果 输入的是50  就执行 if   不是 50 else
         b = a ;  
    }
    else   a=1,  b=c;  //输入的不是50所有情况   abc 都是  1
	printf("a=%d,b=%d,c=%d",a,b,c);// 输入的是50  a=50,b=50,c=1!  不是50  abc都是1
     
    scanf("%d",&a);
    if (a>100) {  //输入的如果 > 100 , 执行 b=1
        b=1;
    }
    else if (a<100){ //输入的如果 <100 , 执行 c=1
        c=1;
    }
	else if (a>120){ // 无论输入的是什么, 都不会执行此语句  因为已经满足了 第一条
        a=0;
    }
    else a=100,b=100,c=100;  //输入的是100 ,才执行 .这是排除以上所有条件的结果
	printf("a=%d,b=%d,c=%d",a,b,c); 
// b c 都重新赋值	
	b=5,c=10;
    scanf("%d",&a);
   if (a>100){
  	  if (a<110) {  //输入的如果 100<a<110 , 执行 b=1  这是条件成立后的条件所以可以执行
        b=1;
      }
      else if (b>1){ // 条件已经成立 , 执行 c=1  同阶级下面都在不执行
        c=1;
      }
	  else if (a>120){ // 无论输入的是什么, 都不会执行此语句 ,因为同阶级上面的 a>110
        a=0;
      }
      else  a=b;  //不在执行  
    }
    else if (a<100){    //输入的如果 <100 , 执行 c=1
                c=1;
     }
    else if (a>120){ // 无论输入的是什么, 都不会执行此语句  因为已经满足了 第一条
        a=0;
     }
    else a=100,b=100,c=100;  //输入的是100 ,才执行 .这是排除以上所有条件的结果
      
   /*  if 语句 只能 有一个结果  */

for ( ; ; ) {} for 循环

for ( A ; B ; C ) { 内容 D }

? A : 这里可以定义一个变量, 也可以什么都不写 这里不重要 ! 但是 A后面的 分号必须要有

? B :这里是 for 循环的核心 是判断是否循环的条件 如果条件不成立(如 1>2)不能循环

? 如果条件是对的(如a>0 如果变量a当初定义的a=10 真的就 a>0 如果 a 没有赋值 就不能判断就会报错)

? 也可以什么都不填 , 不填 条件 就会被认为是对的 会一直循环 成死循环

? 每循环一次就会判断一次 B 的条件成不成立 如果不成立了 就会停止循环 与 A 和 C 没有关系

? C : 为了可以设定自己想要的循环次数 也可以不写 (一般是 B 可以在循环里面自行改变的情况下不写)

? 也可以写在循环里面!

? C 的主要目的是为了改变 B 让B的条件在运行想要的次数后不在成立 从而 跳出循环

如下图:

技术分享图片

for 循环里面 也可以再加入 循环 也可以 加入 if

int a,b,c;
    //外循环一次 a+1
for (b=1;b<10;b++){ 
  //内循环,没循环一次b+1,当b>a 时进行外循环  每次进行内循环 b都初始化b=1
   for(a=1;a<=b;a++) {
   c=a*b;
   printf("%d*%d=%d   :", a,b,c);
   }
   printf("\n");//每次循环换行
}

while ( ) 循环

while ( B ) B是条件 条件为真 执行循环 为假跳过或停止循环

B :这里是 和 (for)一样 循环的核心 是判断是否循环的条件 如果条件不成立(如 1>2)不能循环

? 如果条件是对的(如a>0 如果变量a当初定义的a=10 真的就 a>0 如果 a 没有赋值 就不能判断就会报错)

? 也可以什么都不填 , 不填 条件 就会被认为是对的 会一直循环 成死循环

while 循环 只有 B 这么一个条件

? 要想停止循环 只能 在循环中来改变 B 的值

? 或者 是在循环到自己想要的结果时 以 break 来跳出循环

while 循环里面 也可以再加入 循环 也可以 加入 if !! !! while 和for 循环原里都是一样的

do while() 循环

do while( B) 循环 和while() 循环 for 循环原理一样

int a,b,c;
    b=1; //  判断条件 在for里这里是 b<10  因为 for循环除了第一次循环 以后的循环都是 条件内运算
   while (b<9){   // 当b=8时 还要循环 b 就等于9了 b=9 就不在循环了  
       b++;   //在循环中来改变  B 的值 
  //内循环,没循环一次b+1,当b>a 时进行外循环  每次进行内循环 b都初始化b=1
    for(a=1;a<=b;a++) {
    c=a*b;
     printf("%d*%d=%d   :", a,b,c);
    }
   printf("\n");//每次循环换行
}    //和 for循环结果一样
/*----------------------------------------------------------------*/

int a,b,c;
    b=1; 
     do  {    
       b++;   //在循环中来改变  B 的值 
  //内循环,没循环一次b+1,当b>a 时进行外循环  每次进行内循环 b都初始化b=1
    for(a=1;a<=b;a++) {
    c=a*b;
     printf("%d*%d=%d   :", a,b,c);
    }
   printf("\n");//每次循环换行
} while (b<9);  // 当b=8时 还要循环 b 就等于9了 b=9 就不在循环了  

//for while  do while  循环原理是一样   只有是条件成立就循环

switch case

switch(B) B 指定的条件 ,切只有一个值 , 并且有确切值 ! 比如: (1) ,(2),(3), (a),(b),也可以是 (getch() )

? 但是不能是多个条件 比如(a,b),(1,2)

case A: 是 switch (B) 配套使用 的

可以把 switch 看选择 选择的条件就是 B , case 可以当做结果 当 A==B 就会选择这个结果

case A : ... break; A 是用来判断的 当 A==B 时 执行该 case 语句 !

break 是用来结束的 ,如果没有 break ! 后面的 case语句将不在进行判断 全部执行!


int b;
switch(a){
    case ‘a‘:b=1;
        printf ("b=%d\n",b) ; break;   //a=a,b=1
    case ‘b‘: b=2;
        printf ("b=%d\n",b) ; break;   //a=b,b=2
    case ‘c‘: b=3;
        printf ("b=%d\n",b) ;    //a=c  b=3 b=4
    case ‘d‘; b=4 ;  
        printf ("b=%d\n",b) ; break;  //a=d  b=4
} 

如图

技术分享图片

第四课 if for while swtich ( do while ) 循环详解

原文:https://www.cnblogs.com/aisnow/p/13737358.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!