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 语句 只能 有一个结果 */
? A : 这里可以定义一个变量, 也可以什么都不写 这里不重要 ! 但是 A后面的 分号必须要有
? B :这里是 for 循环的核心 是判断是否循环的条件 如果条件不成立(如 1>2)不能循环
? 如果条件是对的(如a>0 如果变量a当初定义的a=10 真的就 a>0 如果 a 没有赋值 就不能判断就会报错)
? 也可以什么都不填 , 不填 条件 就会被认为是对的 会一直循环 成死循环
? 每循环一次就会判断一次 B 的条件成不成立 如果不成立了 就会停止循环 与 A 和 C 没有关系
? C : 为了可以设定自己想要的循环次数 也可以不写 (一般是 B 可以在循环里面自行改变的情况下不写)
? 也可以写在循环里面!
? C 的主要目的是为了改变 B 让B的条件在运行想要的次数后不在成立 从而 跳出循环
如下图:
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");//每次循环换行
}
B :这里是 和 (for)一样 循环的核心 是判断是否循环的条件 如果条件不成立(如 1>2)不能循环
? 如果条件是对的(如a>0 如果变量a当初定义的a=10 真的就 a>0 如果 a 没有赋值 就不能判断就会报错)
? 也可以什么都不填 , 不填 条件 就会被认为是对的 会一直循环 成死循环
while 循环 只有 B 这么一个条件
? 要想停止循环 只能 在循环中来改变 B 的值
? 或者 是在循环到自己想要的结果时 以 break 来跳出循环
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(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