1 . while
while(条件)
语句
条件成立,语句执行,条件不成立,语句不执行。
while和for是完全等价的,可以相互转换。
特别情况:while(变量),比如while(i),i不为零就是真,i为零就是假,相当于while(i!=0)
2. do while
do
{ 语句 }
while(表达式); //注意分号不能省
do while 一般用于人机交互,执行顺序是,先执行do,在用while判断,真则继续语句。所以无论如何,语句都会先执行一次。
do while 解多个一元二次方程的实例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34#include <stdio.h> #include <math.h> int main() { double a,b,c,delta,x1,x2; char ch; do { printf("输入三个系数n"); printf("a="); scanf("%lf",&a); printf("b="); scanf("%lf",&b); printf("c="); scanf("%lf",&c); delta=b*b-4*a*c; if(delta>0) { x1=(-b+sqrt(delta)/(2*a)); x2=(-b-sqrt(delta)/(2*a)); printf("x1=%f,x2=%fn",x1,x2); } else if(delta==0) { x1=x2=(-b)/(2*a); printf("x1=x2=%fn",x1); } else { printf("无解n"); } printf("您想继续吗?(Y/N):"); scanf(" %c",&ch);//%c前面必须加一个空格 } while('y'==ch||'Y'==ch); return 0; } //ctrl+shift+a devc++全文排版
3.switch
switch(表达式)
{
case 常量表达式1:语句1;
case 常量表达式2:语句2;
……
case 常量表达式n:语句n;
default:语句n+1;
}
所有case后面的常量表达式为了便于描述,成为标签,这些表达式都必须只能是枚举常量/常变量/数值常量/字符常量/宏名中的一种。
switch后面的括号里的“表达式”允许是任何类型。但是vc++中只允许int或者char;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25#include <stdio.h> int main() { int val; printf("输入你要进入的楼层"); scanf("%d",&val); switch(val) { case 1: printf("一层开!n"); break; case 2: printf("二层开!n"); break; case 3: printf("三层开!n"); break; default: printf("还没有盖到这一层n"); break; } return 0; }
语句执行顺序:case?和default 是程序的入口,找到程序入口以后执行语句,没有break就会继续向下执行,也就是说,如果满足case1,但是case1里面没有break,就会从case1的语句以后,从上往下,把所有语句都执行一遍,啥时候碰到break啥时候终止。
4 break
1. break用于循环就是终止循环
2.break用于switch就是用于终止switch
3.break不能直接用于if,除非if属于循环内部的一个子句
1
2
3
4
5
6
7
8
9
10
11
12#include <stdio.h> int main(void) { int i; for(i=0;i<3;++i) { if (3>2) break; printf("hahan"); } }
输出结果什么都没有
因为 break虽然是if内部语句,但是break终止的是外部的for循环,所以一个都没有。
而且在多个for循环中,break只能终止距离他最近的for循环,switch同理
5.continue
用于跳过本次循环的余下语句,转去判断是否进行下次循环。
for(1;2;3)
{
A;
B;
continue;//如果执行该语句,则执行后,会执行语句3,C和D会被跳过。
C;
D;
}
最后
以上就是危机学姐最近收集整理的关于while循环、switch、break、continue的全部内容,更多相关while循环、switch、break、continue内容请搜索靠谱客的其他文章。
发表评论 取消回复