我们知道,在编写C语言程序的时候,代码是顺序执行的.
从上往下执行.
但是我们可以控制流程的.
在控制之前,我们要先熟悉什么是语句.
相比大家学习过语文知识, 知道一条句子是以句号结尾的.
那么高级代码也是这样.只不过不是句子结尾.而是分号结尾.
例如:
int main()
{
int a = 10; 一条语句
return 0;
}
我们说过C语言是顺序结构来执行语言的,那么我们可以控制它执行的语句.
C语言关键字 if, if是如果的意思.
比如 伪代码:
if(真)
{
打印1
}
if (假)
{
打印二
}
括号的内容我们给真假就行, 对应到高级语言中 则是 true (真) 和 false(假)
当然在C语言中, 非0为真, 意思就是如果不是0,那么都是真. 如果是0就是假.
与之相匹配的还有 else ,else则是说,如果你真的不执行,那么就执行我的.
int a = 3;
if(a - 3) 结果为0, 如果为0则是假,那么执行 else分支.
{
printf(1);
}
else
{
printf(2):
}
当然,也有else if 否则如果的意思
if(a - 3)
{
printf(1);
}
else if(a - 4) 如果上面不执行,那么判断我下面的结果.
{
printf(2);
}
else
{
printf(3);
}
有的时候,可能我们的程序要对一个数据多次操作.那么就要用到循环结构了.
循环那么 肯定要给一个次数. 或者一个条件.才能退出.
比如下方求 0 - 100的和.
int main()
{
int count = 0;
int i = 100;
while (i) 条件,给真或者为假
{
count += i; 第一次加100然后递减
i = i - 1; 每次递减,然后下次相加
}
printf("%d\r\n",count);
system("pause");
return 0;
}
其中 while 条件中,给的是i, 也就是说,每次-1,直到为0,则while不执行.
for 循环循环结构
for(初始化变量;条件;控制)
{
....执行语句
}
使用for 求0 - 100的值.
for (int i = 100; i > 0; i--)
{
count = count + i;
}
其中我们的i变量在内部定义了, 我们判断的条件是 i > 0的时候才执行语句, 那么每次i--,也就是每次-1,结果最终为零.
do while语句.
do while 语句和 while一样,只不过 do while 会先执行行一边. 不在乎条件.
例如:
do
{
int a = 10;
printf("%d\r\n",a);
} while (0);
可以看出,条件本身就是为假,那么在程序中,还是会输出10 一次.
循环继续和循环跳出
break 跳出循环. 如果我们想让循环的过程中停止的话,就输入 break
continue 跳过当前,继续下一次. 和break不同. continue可以跳过这一次进行下一次使用.
break的用法:
break只能在循环中或者选择语句中使用(Switch case) ,如果在循环中,那么可以用if包含使用.
例如:
int i = 0;
while(i < 100)
{
if(i == 2) //不会循环100次了,因为我们里面使用if进行判断了,如果i等于2的时候,那么则跳出循环.
{
break;
}
i ++;
}
我们上面说过if else 的用法.
但是如果条件一多该怎么办?
这个时候就要进行选择了.
语法:
switch(表达式)
{
case 值:
break;
case 值:
break;
default:
break;
}
如果你的结果是什么,那么则可以用case捕获,如果相同,则执行当前case语句.
例如:
int main()
{
int count = 0;
count++;
switch (count)
{
case 0:
printf("1");
break;
case 1:
puts("2");
default:
break;
}
system("pause");
return 0;
}
最终结果则会输出2,因为case 捕获的值是1.正好匹配.