流程控制
目录
for
&while
&if
&switch
WARNING
注意,在 C 语言的标准中 true 和 false 是没有定义的,解决方案:
- 在程序中定义:
#define true 1
,#define false 0
- 使用
#include <stdbool.h>
,这个头文件中定义了true
和false
- 使用
1
和0
代替
循环&选择语句
三目条件运算符
c
<条件表达式>?<表达式1>:<表达式2>;//条件为真运行表达式1,否则运行2
- 不能用
true
代替条件表达式
switch
- switch 后面括号里和 case 后面括号里值相同就打开
c
switch(表达式/变量){
case (常量):语句1; break;
case (常量):语句2; break;
……
default:
}
switch case 加范围例子
c
#include <stdio.h>
int main()
{
int a = 1;
switch (1)
{
// 使用C编译这里会报错,但程序可以正确运行
case (a > 1):
printf("a>1");
break;
default:
printf("a<=1");
}
// 暂停
getchar();
return 0;
}
for
在 for 循环里定义的变量在外面不能用
c
for(;a<10;a++,b++)//多个语句尝试(用逗号合法)
cout<<a<<" "<<b<<endl;
while
- 格式略
- 其他用法
c
next/prev_permutation(start,end)
//用于while之类语句中数组全排列,next/prev返回下一个/上一个排列(start,end)表示开始和结束的元素,若无下一个/上一个排列返 回false,否则返回true
do{}while(next/prev_permutation(start,end))
跳转与继续
goto
:跳转到指定标签
c
#include <stdio.h>
int main()
{
emm: // 标签
printf("Hello, World!\n");
goto emm;
getchar();// 暂停
return 0;
}
break
:用于switch
语句和循环语句中,跳出当前switch
语句或循环语句continue
:只用于循环语句中,终止本次循环,继续下一次循环
c
for (int i = 0; i < 10; i++)
{
if (i == 5)
continue;
printf("%d\n", i);
}