C语言--流程控制
一、流程控制
1.顺序结构
*默认的流程结构,按照书写顺序执行每一条语句
2.选择结构
*对给定的条件进行判断,再根据判断结果来决定执行那一段代码
3.循环结构
*在给定条件成立的情况下,反复执行某一段代码
二、选择结构--if
1.使用方式
1> if(表达式) 语句1;
* if(i>1) 恭喜你被黑马录取;
2> if(表达式) 语句1;else 语句2;
* if(i>1) 恭喜你被黑马录取;else 希望你再接再厉;
3> if(表达式){}
if(表达式){}
else{}
4> if (){}
else if(){}
else{}
三、选择结构--switch
1.使用格式
* switch(表达式) { case 数值1: break; … default: break;}
* 举例
int a=10;
switch(a)
{
case 0:
printf("数值为0");
break;
case 5:
printf("数值为5");
case 10:
printf("数值是10");
break;
defaul:
printf("什么也不是");
break;
}
*break作用:跳出整个循环;如果不写break,语句会一直向下执行,直到遇到break。
2.if和switch的比较
* 很多情况下可以互换
* if使用方式较为灵活,使用的较多;switch适合有某个值
四、循环结构--while
1.使用格式
* while(表达式) { }
* continue,跳出本次循环,直接进入下一次
* break,跳出整个循环体
2.特点
*只有满足条件是才会执行循环体
*特别注意是否进入了死循环
五、循环结构--do while
1.特点
* 一定会执行一次循环体
2.使用
*对比while的使用
六、循环机构--for
1.使用格式
* //语句1,一般为初始化语句,同时初始化语句可以为多句;语句2.一般为增量语句。
*for(语句1;条件;语句2)
{
循环体
}
2.for语句可以嵌套使用
*for(语句1;条件;语句2)
{
for(语句1;条件;语句2)
{
循环体
}
}
3.陷阱
1> 死循环 for(;;);
2> 注意:for循环体内变量的作用域
3> while循环和for循环的比较
* 可以互换
* for循环的变量可以及时回收
七、自我总结
流程控制就是当程序走到某一节点或对某条件进行判断后所作出的选择,跟我们现实中的选择一样。只不过流程控制分好几种,应根据不同的情况选择最佳类型,虽然很多时候他们可以互换使用,但是有的可以提高性能,减少内存的使用,因为内存相对移动设备来讲是非常有限的,内存管理那块会有具体讲解。同时循环可以嵌套使用,嵌套使用后可以解决很多看似很复杂难懂的题目,例如九九乘法口诀、冒泡排序等等问题都可以很容易解决。单循环很好理解,但是当循环嵌套以及参数较多时,就会看起来比较复杂,不过只要理顺思路,慢慢分析,最后发现还是很有意思的。
C语言--流程控制的更多相关文章
- 04. Go 语言流程控制
Go 语言流程控制 流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的"经脉". Go 语言的常用流程控制有 if 和 for,而 switch 和 ...
- 9. Go语言—流程控制
一.流程控制语法 if condition_1{ }else if condition_2{ }else if condition_3{ }else{ } 二.switch分支 package mai ...
- Go语言( 流程控制)
流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”. Go语言中最常用的流程控制有if和for,而switch和goto主要是为了简化代码.降低重复代码而生的结 ...
- Go语言 - 流程控制 if else | for | switch case
流程控制 流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”. Go语言中最常用的流程控制: if | for | switch | goto// switch ...
- Go语言流程控制(六)
go语言的流程控制主要有if , for和switch. if else(分支结构) go语言的if判断: func main() { score:=65 if score>=90{ fmt.P ...
- 07-C语言流程控制if、switch
目录: 一.流程控制 条件分支 if else 二.流程控制 开关分支 switch 回到顶部 一.流程控制 条件分支 1.语法格式:if(表达式1){ //表达式1为真(非0时),执行的语句部分. ...
- Go语言流程控制
1.条件语句 几个注意点和C#不一样的. { } else { } ① 条件语句不需要使用括号将条件包含起来 a<5 ,C#必须有() ②无论语句体内有几条语句,花括号{}都是必须存在的:C#如 ...
- C语言流程控制
顺序结构 顺序结构是最常用的结构,即从上到下的执行语句. int num=5; num++; num=13; 条件结构 条件结构是当表达式为真的时候执行语句块,C语言提供了两种条件结构 if...el ...
- [C语言]流程控制, 复合赋值, 优先级, 循环控制
---------------------------------------------------------------------------------------- //单一判断 ) { ...
随机推荐
- 【转】对memcached使用的总结和使用场景
原文连接:http://blog.csdn.net/ajun_studio/article/details/6745791# 原文作者:halfMe 转载注明以上信息! 1.memcached是什么 ...
- information_schema.routines 学习
information_schema.routines 用户查看mysql中的routine信息 1.information_schema.routines 表中的常用列: 1.
- wget 测试cdn
可以通过wget 或curl 指定代理ip来访问同一个链接的不同cdn响应页面.来测试不同cdn间的数据同步问题.
- NFC应用(二)读写器模式
NFC第二种应用场境就是所谓的读写器模式.既然有卡,当然就会有读写器,这两种模式是配合在一起使用的.两个卡放一起不能通信,两个读写器模式的设备也不能通信. NFC读写器一般支持以下一种或多种协议:Mi ...
- Socket 编程示例(二)
利用晚上这点闲暇时间,写了一个Socket通信的小实例,该实例包含服务器端和客户端.其基本工作流程是:当服务器启动服务以后,客户端进行连接,如果连接成功,则用户可以在发送消息框中输入待发送的消息,然后 ...
- UESTC_秋实大哥掰手指 2015 UESTC Training for Dynamic Programming<Problem B>
B - 秋实大哥掰手指 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 2048/1024KB (Java/Others) Submit ...
- 剑指offer-面试题22.栈的压入,弹出序列
题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第 二个序列是否为该栈的弹出顺序.假设压入栈的所有数字均不相等. 例如序列1.2.3.4.5是某栈的压栈序列,序列4.5.3.2.1 是该压栈 ...
- HDU1754(线段树)
I Hate It Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- 【POJ 1236 Network of Schools】强联通分量问题 Tarjan算法,缩点
题目链接:http://poj.org/problem?id=1236 题意:给定一个表示n所学校网络连通关系的有向图.现要通过网络分发软件,规则是:若顶点u,v存在通路,发给u,则v可以通过网络从u ...
- 对数组元素进行排序的方法总结(利用C++)
首先,对数组元素进行排序方法总结为以下两类: 一.简单排序算法(时间复杂度O(n*n)) 1.插入排序 2.选择排序 3.交换排序,即冒泡排序 二.先进排序算法(时间复杂度O(n*logn)) 1.快 ...