选择结构
1、if语句
(1)基本语法
if()
do;
else if()
do;
else{
do;
}
(2)逻辑运算符
&& 与 if(a=1&&b=2) do;
|| 或
! 非
! > && > || 非的优先级最高。
2、switch语句
(1)基本语法
switch(表达式)
{
case 常量1:do1;break;
case 常量2:do2;break;
//……
default: do;
}
(2)注意点
case后面必须是常量。
如果后面不加break,会执行后面的全部case。
循环结构
1、while语句
(1)while基本语法
while(表达式)
{
//do
}
(2)do……while基本语法
do{
}
while(表达式); //while后面的分号不能少。
执行do中的语句,直到while中的表达式为非。
(3)while和do while的差别
while时先判断再执行,do while是先执行一次再进行判断,至少执行一次循环。
2、for语句
(1)基本语法
for(表达式1;表达式2;表达式3){
//do
}
(2)表达式作用:
- 表达式1:设置初始条件,只执行一次。初始条件中的变量必须先声明(C99可以在for语句中声明变量并赋值)。
- 表达式2:设置循环条件,如果满足条件,则执行do;如果不满足则退出循环,不执行表达式3。
- 表达式3:调整循环。
控制语句
1、break
(1)退出switch语句
case 常量:do1;break;
(2)退出任意循环
for(){
do1;
do2;
if()
break;
}
while(){
do1;
do2;
if()
break;
}
可以用break在循环中间结束循环,一般要加个判断条件。
2、continue语句
使用continue来提前结束本次循环,接着执行下次循环。continue后面的语句不执行了。
for(int i=1;i<=100;i++){
if(i%2==0) continue;
sum+=i;
}
3、goto语句
goto语句也称为无条件转移语句;goto语句的语义是改变程序流向, 转去执行语句标号所标识的语句;goto语句通常与条件语句配合使用。可用来实现条件转移, 构成循环,跳出循环体等功能。
(1)语法
语法:
循环体或switch{
//do1
goto flag;
}
flag://do2
(2)跳出循环
void main(){
int i, j;
for ( i = 0; i < 10; i++ ){
printf( "Outer loop executing. i = %d\n", i );
for ( j = 0; j < 3; j++ )
{
printf( " Inner loop executing. j = %d\n", j );
if ( i == 5 )
goto stop;
}
}
/* This message does not print: */
printf( "Loop exited. i = %d\n", i );
stop: printf( "Jumped to stop. i = %d\n", i );
}
(3)switch跳转
void main(){
int i;
switch(i){
case 0:
break;
case 1:
goto stop;
default:
break;
}
stop: printf( "Jumped to stop. i = %d\n", i );
}