switch
- switch是多分支条件判断,能够根据表达式的值从多个分支中选择一个执行的分支
- 格式:
switch(表达式)
{
case 常量表达式1:语句块1
case 常量表达式2;语句块2
……
case 常量表达式n:语句块n
default:语句块n+1
}
注:
- 首先计算表达式的值
- 与各个case后的常量表达式的值比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句
- 如表达式的值与所有case后的表达式均不相同,则执行default后的语句
- default不是一定要写
- default位置放在哪都不影响输出结果和case一样
- case之后一定要是整数和整数表达式
- case后常量表达式只起标号作用,不起判断作用,一般需要break语句跳出switch语句
while语句
- 格式:
while(表达式)
{语句块}
注:
- while循环的特点是判断条件表达式, 后执行循环体语句
- “语句”计算循环体。循环体可以是一个简单的语句,可以是复合语句(用花括号括起来的多个语句)
- 表达式为真(以非0值表示)时,就执行循环体语句,否之,则相反
eg 1:
#include<stdio.h>
int main()
{
int i=1;
while(i<10)
{
printf("************\n");
i++;
}
return 0;
}
eg 2:
1.01^365=?
解:
#include<stdio.h>
int main()
{
int i=1;
fioat s=1.0;
while(i<365)
{
s=s*1.01;
i++;
}
printf("1.01的365次方是:%.2f\n",s);
return 0;
}
do……while语句
- 格式:
do
{
语句
}
while(表达式);
注:
do……while语句的特点是,先无条件地执行循环体,然后判断循环条件是否成立
eg:
1+2+3+4+……+100=?
#include<stdio.h>
int main()
{
int i=1;
int sum=0;
do
{
sum=sum+i;
i++;
}
while(i<100);
\ printf("sum=%d",sum);
return 0;
}