<span style="font-family: 宋体;font-size:14px;">------</span><a target=_blank href="http://www.itheima.com/" target="blank" style="font-family: 宋体;font-size:14px;">Java培训、Android培训、iOS培训、.Net培训</a><span style="font-family: 宋体;font-size:14px;">、期待与您交流!------</span>
<span style="font-size:18px;">一、选择结构</span>
1.if语句
1>常见的形式
(1)if(表达式)
A;
else
B;
(2)if(表达式)
{A ; B ; C ; }
else
{E ; F ; G}
(3)if (表达式)
A;
else
{ B; C ; D ;}
(4)if (表达式)
{A ; B ;C ;}
else
D;
2>流程:
表达式成立,则执行语句1;不成立,则执行语句2
注:else与if是一个整体,即else不能单独出现
3>选择的嵌套
(1)if(表达式)
{……}
else
{……}
(2)if(表达式)
if(表达式)
{…… }
else
{……}
else
{……}
(3)if (表达式)
{……}
else
if (表达式)
{……}
(4) if (表达式)
{……}
else
if (表达式)
{……}
else
{……}
case 常量1:
语句1;
语句2;
break;
case 常量2:
语句1;
语句2;
break;
...
default:
break;
}
表达式的类型只能是类型或字符型
表达式的后边无任何符号
case与常量表达式之间必须有空格
常量表达式必须是常数,并且它只能是整型数或字符型
常量表达式间不能相同
常量表达式后必须紧跟冒号
default语句可有可无,书写位置任意:当switch无相关匹配项时,则执行default语句,若此时,也没有default,则程序跳过switch,执行后面的内容。
流程:首先,计算表达式,然后根据表达式的结果选择相应匹配项,并且程序从当前匹配项开始,依次向下执行,直到switch结束。
<注>:遇到break语句除外。break跳出的是本层switch
二、循环结构
while( 条件)
{
语句1;
语句2;
....
}
如果条件成立,就会执行循环体中的语句(“循环体”就是while后面大括号{}中的内容)。然后再次判断条件,重复上述过程,直到条件不成立就结束while循环
while循环的特点:如果while中的条件一开始就不成立,那么循环体中的语句永远不会被执行
do{
语句1;
语句2;
....
}while (条件 );
当执行到do-while循环时,首先会执行一遍循环体中的语句(“循环体”就是do后面大括号{}中的内容)。接着判断while中的条件,如果条件成立,就执行循环体中的语句。然后再次判断条件,重复上述过程,直到条件不成立就结束while循环
do-while循环的特点:不管while中的条件是否成立,循环体中的语句至少会被执行一遍
for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
执行语句;
}
for循环开始时,会先执行初始化表达式,而且在整个循环过程中只执行一次初始化表达式
接着判断循环条件表达式,如果条件成立,就会执行循环体中的语句(“循环体”就是for后面大括号{}中的内容)
循环体执行完毕后,接下来会执行循环后的操作表达式,然后再次判断条件,重复上述过程,直到条件不成立就结束for循
注:死循环 for(;;);
eg:输出99乘法表
int main()
{
int i,j;
for(i=1; i<=9 ; i++)//整体执行n遍
{ for( j = 1; j <= i ; j++) //每一遍具体的执行
printf("%d * %d = %d ", j ,i , j*i) ;
}
printf("\n")
}
break和continue语句
break在循环体中的作用:结束整个循环。若break出现在循环体的switch中,则跳出switch。若在循环中,则跳出整体循环
continue只在循环体起作用,它的作用是:结束本次循环。在循环体中,若执行continue,则其后面的内容不再执行。对于while和do-while而言,转去计算表达式。对于for而言,先转去计算表达式3,然后再计算表达式2.