黑马程序员——C语言流程控制
来源:互联网 发布:最全p2p网络投资 编辑:程序博客网 时间:2024/05/16 17:45
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
一、流程控制
1. 顺序结构:默认的流程结构,按照书写顺序执行每一条语句。
2. 选择结构:对给定的条件进行判断,再根据判断结果来决定执行哪一段代码。
3. 循环结构:在给定条件成立的情况下,反复执行某一段代码。
二、选择结构 (if 和switch)
1. if 语句的4种结构和使用
第一种:if (条件)
{ 语句1} // 如果满足条件,就执行语句1
第二种:if (条件)
{ 语句1}; //如果满足条件就执行语句1
else
{语句2}; // 如果不满足条件,就执行语句2
第三种: 哪一段成立就执行哪一段
if (条件1)
{语句1} // 如果满足条件1,就执行语句1
elseif (条件2)
{语句2} // 如果满足条件2,就执行语句2
elseif (条件3)
{语句3} // 如果满足条件3,就执行语句3
else
{语句4}; // 如果条件都不满足,就执行语句4
第四种: if (条件)
{语句1} // 如果满足条件,就执行语句1,不满足就不执行语句1
{语句2} // 语句2与条件无关,不管条件是否满足,都会执行
*if 使用注意点:
(1) 判断值是否相等的时候,最好把常量写在==左边,例如(0==a)
因为如果因为粗心将a==0写成了a=0,编译器是不会报错的,但如果把常量写在==左边,0=a,编译器会马上报错,所以把 常量写==左边会及时纠正我们的错误
(2) if(条件)后面没有分号(;)
(3) 错误写法: (原因在于找不到a)
int main()
{
if (10 >6)
{
int a =5 //这一行过后,代码块执行结束 a被回收
}
printf("%d\n",a);
return 0;
}
(4) 错误写法: (原因在于作用域不明确)int main()
{
if (10 >6)
int a =5 //看起来这一行代码应该属于main()但实际这行只跟if有关,所以作用域不明确会报错
printf("%d\n",a);
return 0;
}
结论:如果要在if 后面的语句中定义一个新的变量,必须使用{}
2. switch 语句的结构和使用
(1)switch的结构
switch(数值)
{
case 数值1: //如果数值==数值1,执行语句1,直到遇到break为止
语句1
break;
case 数值2: //如果数值==数值2,执行语句2,直到遇到break为止
语句2
break;
…
default: //如果数值!=数值1,而且数值!=数值2执行语句3,直到遇到break为止
语句3
break;
}
(2)break的作用:退出整个switch语句(3)如果case后面没有break,就会执行后面所有的case语句,直到遇到break为止
*switch使用注意点:
如果要在case后面定义一个新的变量,必须使用{}包住
3. if 和 switch的比较
(1)if 更加灵活,switch 能办到的,if都能办到,但if能完成的,switch 不一定能完成
(2)有些情况下,if 和switch 可以互用
(3)判断大小的时候一般选用if
三,循环结构 (while,do while,for)
1. while循环的结构和使用
while(条件)
{
}
(1) 先确定需要重复执行的操作放到循环体{}中,然后再确定约束条件
(2) 若条件成立,执行一次循环体{},然后再判断条件,若成立继续执行循环体{},直到条件不成立,退出整个循环
(3)若一开始,条件就不成立,则永远不会执行循环体{}
(4)若while后面没有{},意味着while后面的那一句代码就是循环体
(5) while 循环中用到的变量必须在循环外面定义
2. do while循环的结构和使用
do {
}while(条件)
不管条件是否成立,先执行一次循环环体{},再判断条件是否成立,若条件成立,继续执行,不成立,则退出循环3. for循环的结构和使用
for(语句1;条件;语句2)
{
}
(1)语句1:初始化语句;语句2:增量语句(执行完循环体再执行的语句)
(2)for循环一开始,先执行一次语句1,然后判断条件是否成立,若成立,执行一次循环体{},接着执行语句2,然后再次判断条件是否成立................
(3)for循环中用到的变量可以在循环中定义
*for循环使用注意
(1)for()后面没有分号(;)
(2)要注意for循环内部变量的作用域
(3)循环体执行完,循环体内部的变量就意味着被回收
(4)for循环可以嵌套使用
4. while,do while,和for循环的比较
一般优先考虑使用for循环(for循环比较灵活,变量可以及时回收),再考虑while循环,最后考虑do while循环
5. break 和continue的比较
(1)break使用场合
1> switch 语句中:退出整个switch语句
2>循环结构中(while,do while,for):退出整个循环语句(注意:只对最近的循环体有效)
(1)continue使用场合
循环结构中(while,do while,for):结束当前的这次循环体,进入下一次循环体(注意:只对最近的循环体有效)
- 黑马程序员————C语言流程控制
- 黑马程序员——C语言——流程控制
- 黑马程序员——C语言—流程控制
- 黑马程序员——C语言流程控制
- 黑马程序员--C语言——流程控制
- 黑马程序员—C语言_流程控制
- 黑马程序员—IOS基础(C语言流程控制)
- 黑马程序员—C重点--流程控制
- 黑马程序员 C语言 - 03 流程控制
- 黑马程序员---C语言之流程控制
- 黑马程序员---C语言流程控制
- 7、黑马程序员-C语言流程控制
- 黑马程序员--C语言之流程控制
- 黑马程序员--C语言基础-流程控制
- 黑马程序员----C语言流程控制篇
- 黑马程序员-C语言基础知识-流程控制
- 黑马程序员——C语言——基本运算和流程控制
- 黑马程序员——2、C语言(流程控制和函数)
- 排序问题
- 音频播放
- python 定义
- NYOJ 6 喷水装置(一)
- Mysql cluster版本主从服务器搭建实践
- 黑马程序员——C语言流程控制
- javascript基础
- GCD队列
- 后缀数组
- 论文普刊
- 爬虫IP列表
- 删除已经配置的类库和移除CocoaPods
- Android ANR介绍及分析ANR log信息的方法
- 第十三周项目6-5: