流程控制
程序代码执行的顺序,控制代码执行流程。
流程控制的分类 | ||
一、顺序执行 | 从上到下依次执行 | |
二、选择执行: 某些代码可能执行,也可能不执行。有选择的执行某些代码。 | if | 1、if最简单的用法: |
2、if的范围问题: | ||
3、if...else...的用法: | ||
4、if...else... if...else...的用法: | ||
5、if举例 — 求分数的等级: | ||
6、if的常见问题解析:(变量互换,大小数排序) | ||
switch | 1、switch格式:switch case break...default | |
三、循环执行: 某些代码会被重复执行 | for | 1、for的简单用法(for循环格式) |
2、for循环的执行流程 | ||
3、for循环范围。举例说明,及练习题 | ||
4、多个for循环的嵌套使用 | ||
while | 1、while格式、及执行顺序 | |
2、与for的相互比较。相互转换(for逻辑性更强) | ||
3、do...while。主要用于人机交互 | ||
break用法 终止循环 | 用于循环 | 是用来终止循环 |
用于switch | 用于终止switch | |
不能直接用于if | 除非if属于循环内部的一个子句。 | |
continue用法 | 用于跳过本次循环余下的语句,转去判断是否需要执行下次循环。 (语句为假,则循环执行,语句为真,则执行下一个语句) | |
C语言对真假的处理:非零是真, 零就是假。真用 1 表示, 假用 零 表示。 | ||
for循环和while循环可以相互转化,但是while和do...while不可以相互转化。 | ||
如何看懂一个程序:1看懂流程。2每个语句的功能。3试数。 |
switch,格式、执行流程
举例说明switch用法:
switch 其他琐碎知识:
一、Switch后面的括号里的“表达式”允许是任何类型。
但是vc++中,只允许为int 或 char类型。
二、case的常量表达式可以是以下五种中的一种:
1、枚举常量
2、数值常量:数值的常量,3、5、6、8等。
3、字符常量:字符的常量,a、b、c、d等。
4、常变量:只能被赋予一个值的变量。常用const表示。
例如:const int i; i = 5; 则i不可再被赋5以外的值。
5、宏名:
三、执行完一个case语句后,流程控制就转移到下一个case子句继续执行。
“case”常量表达式只是起语句标号的作用,并不是在该处进行条件判断。在执行switch语句时,根据switch()中表达式的值找到与之相匹配的case子句,就从此case子句开始执行下去,不在进行判断。
举例说明:
四、switch是选择不是循环。
如果在switch中出现了break语句。该语句的功能只是退出switch语句转去执行它下面的语句。
在switch中出现continue是错误的,除非switch本身就属于for和while的一部分。
break,用法
break用于多个for循环:
break用于多个switch循环:
continue,用法
用于跳过本次循环余下的语句,转去判断是否需要执行下次循环
也就是说上述的while语句表示:
如果用户输入的其他字符,那么就重复再次收集用户输入的字符,直到用户输入换行符,则执行下边的scanf语句。
执行过程如下:
当用户输入23,空格时,空格赋值给ch,这时候ch不是换行符,所以继续循环,
字符dsadsa 赋值给ch,ch也不是换行符,继续循环,
直到用户使用回车键,getchar()收集到用户输入的换行符,则执行下一个语句。
流程控制很重要,争取能看懂每一个语句吧~~