黑马程序员_C流程控制和循环结构

-----<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

一、流程控制

1、程序结构

程序分三种结构:顺序结构、分支结构、循环结构;


2、分支语句--if语句

形式一:

if(表达式){

语句块1;

}

功能:if语句实现的是分支控制,如果表达式为真,则执行语句块1;

形式二:

if(表达式){

语句块一;

}esle{

语句块二;

}

功能:如果表达式为真,则执行语句块一,否则则执行语句块二;

形式三:

if(表达式一){

语句块一;

}else if(表达式二){

语句块二;

}

else{

语句块三;

}

功能:如果表达式一为真,则执行语句块一,否则判断表达式二,如果表达式二为真,则执行语句块二,当表达式一和表达式二都不满足条件,就执行最后一个else语句。


if语句使用注意事项:

  • if(条件)可以直接使用分号结束,表示执行空语句;
  • if(g条件) return 0; 程序到这里不会往下执行,直接退出;
  • if(1)、if(-1) 为永真,if(0)为永。


3、switch语句 

使用格式:

switch(表达式){

case 常量表达式1:语句1; 

case 常量表达式2;语句2; 

case 常量表达式3;语句3;

default: 语句4;

}

功能:计算表达式的值,并逐个与其后的常量表达式的值进行比较,如果和那个常量表达式值相等就执行其后的语句,然后不在进行判断,继续执行后面case语句。如果表达式的值与所有的case后的常量表达式不相同,则执行default后的语句。


switch使用注意:

  • 表达式的类型,必须是整型或者字符类型;
  • 常量表达式只能为 常量,不能为变量;
  • 可在每个case语句后使用break,遇到break语句,则跳出switch语句;如果没有break语句,则一直执行到switch语句的结束语句;
  • default可以写在switch任意位置。
  • case后面不可以直接定义变量,如果要定义变量,必须加上大括号。

4、if语句和switch语句分支的选择
  • 如果选项无法穷尽或者进行大量列举时,使用if;
  • 如果分支数量不是很多,但使用if语句代码代码量比较大的时候,可以选用switch。

二、循环结构

1、程序结构

程序分三种结构:顺序结构、分支结构、循环结构;

2、循环结构

概述:循环结构是程序中一种很重要的结构。其特点是,在给定条件成立时,反复执行某程序段,直到条件不成立为止。给定的条件称为循环条件,反复执行的程序段称为循环体。

  • 循环条件:循环体退出的主要依据,当条件成立时,执行循环体的语句,当条件不成立时,退出循环体。
  • 循环体:循环过程中,重复执行的条件。
3、while循环

  • while循环条件的格式:
while(条件){

循环体;

}

  • 语句含义:当条件成立时,执行循环体内的语句;然后,再次判断条件,直到条件不成立,就结束循环。
  • 使用场景:
1).在某个范围内查找满足条件的值;
2).在特定情况下,需要用死循环,就可使用while。
  • 使用注意:
1).条件语句中,任何数值都有真假性,条件语句中如果是非零整数即为真;
2).如果while语句后面只有一条语句,那么可以省略大括号;
3).注意作用域问题,在方括号内部定义的变量,在外部是没法调用的

4、do while

  • do while循环的格式:
do{
循环体;
}while(条件);
  • 语句含义:语句开始时,首先执行一次循环体,再进行判断while后面的条件是否成立,如果不成立,结束循环。

5、for循环

  • for循环格式:
for(表达式一;表达式二;表达式3){
循环体;
}
  • 语句执行过程:
1).先求解表达式一,在求解表达式二,如果表达式二的值为真,则执行一次for的循环体;然后再执行表达式三,若为假,则结束循环;为真则执行下一步;
2).如果判断表达式三为真,则继续进入到表达式二的判断,若为假则推出循环,为真则继续执行循环体,直至循环结束。
  • for的嵌套(重难点)
一般情况下,for循环只有两层的嵌套,3层的嵌套比较少见。
两层嵌套:外层for循环控制的是行数;内层循环控制的是列数。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值