C基础:控制语句

1.分支语句

1.1 if语句

1.1.1 基本结构

if(表达式)

{

语句块1;

}

else

{

语句块2;

}

执行顺序:如果条件成立,则执行语句块1,否则条件不成立的话执行语句块2。

1.1.2分层结构

if(表达式1)

{

语句块1;

}

else if(表达式2)

{

语句块2;

}

else

{

语句块3;

}

执行顺序:如果满足if中的表达式则进入if后面语句块1执行,如果不满足则进入下面else if中表达式进行判断,如果条件满足则进入else if下面的语句块2执行,如果不满足继续往后执行,最后如果都不满足则进入else下面语句块3执行。

1.1.3 嵌套结构

if(表达式1)

{

if(表达式2)

{

语句块1;

}

else

{

语句块2;

}

}

else

{

语句块3;

}

执行顺序:如果满足if中的表达式则进入if后面语句块1执行,如果不满足则进入下面else if中表达式进行判断,如果条件满足则进入else if下面的语句块2执行,如果不满足继续往后执行,最后如果都不满足则进入else下面语句块3执行。

总结:

(1)首先判断表达式是否成立,如果成立就执行if下面的语句块,否则就执行else下面的语句块。

(2)if后面可以没有else, 但是else前面必须有if

(3)if和else以及else if后面如果只有一行语句可以省略花括号{}

1.2 switch case 语句

基本结构:

switch(变量或表达式)

{

case 常量1: 语句块1; break;

case 常量2: 语句块2; break;

case 常量3: 语句块3; break;

...

case 常量n: 语句块n; break;

default: 语句块n+1;

}

执行顺序:

当变量表达式所表达的量与其中一个case语句中的常量相符时,就执行此case语句后面的语句,并依次下去执行后面所有case语句中的语句,除非遇到break, 语句跳出switch语句为止。如果变量表达式的量与所有case语句的常量都不相符,就执行default语句中的语句。

注意:

(1)   表达式不能是浮点型或字符串

(2)   case后面的break可以省略,但是省略时会顺序执行,直到遇到break结束;

总结:

  1. 执行顺序:先判断switch()中的条件是否满足以下的case,如果满足则执行满足的case中的语句块,如果都不满足则执行default中的默认语句块。
  2. 如果case的语句块和下面case中的语句块相同,则可以省略。形式如下:

case 常量1:

case 常量2:语句块1;break;

遵守switch语句规则

switch语句非常有用,但在使用时必须谨慎。所写的任何switch语句都必须遵循以下规则:

(1)只能针对基本数据类型中的整型类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。

(2)case标签必须是常量表达式(constantExpression),如42或者'4'。

(3)case标签必须是唯一性的表达式;也就是说,不允许两个case具有相同的值。

2.循环语句

2.1 for 循环

2.1.1 基本结构

格式:

for(表达式1;表达式2;表达式3)

{

语句块;

}

表达式1:赋初值

表达式2:判断的判断条件

表达式3:增值或减值

执行顺序:

首先执行表达式1进行赋值,然后判断表达式2是否成立,如果成立就进入循环执行语句块,再执行表达式3进行增值或减值然后继续判断表达式2是否成立,直到表达式2不成立退出循环。

2.1.2 嵌套结构

格式:

for(表达式1;表达式2;表达式3)

{

for(表达式4;表达式5;表达式6)

{

语句块;

}

}

2.1.3 变形

变形一:

int i=0;

for(;表达式2;表达式3)

{

语句块;

}

变形二:

int i=0;

for(;表达式2;)

{

语句块;

表达式3;

}

变形三:

int i=0;

for(;;)//死循环

{

if(表达式2)

{

语句块;

表达式3;

}

else

{

break; //结束循环

}

}

2.2 while循环

格式:

定义循环变量并赋值;

while(判断条件)

{

语句块;

增值或减值语句;

}

执行顺序:

首先定义循环变量并赋值,然后判断条件是否符合,如果符合就进入循环执行语句块及增值减值语句,然后继续判断,直到不成立退出循环。

相当于for循环的第二个变形。

2.3 do while

格式:

赋初值语句;

do

{

语句块;

增减值语句;

}while(判断条件);

执行顺序:先执行后判断

左边do-while右边while

两者区别:

(1)执行顺序不同:do while先执行后判断,while先判断后执行。

(2)执行次数不同:do while至少会执行一次。

2.5 死循环

for(;;){}

while(1){};

while(1);

2.6 循环控制语句

break continue goto

(1)break: 直接结束循环

(2)continue: 结束本次循环,继续下一次循环

(3)goto: 强制跳转到标签位置,可以应用于多重循环嵌套。(尽量不要使用!)

使用场景:

使用在循环语句中,结束循环

使用时需要有判断条件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值