程序员成长之旅——C语言分支循环语句
分支循环语句
分支语句
- if
- switch
循环语句
- for
- while
- do while
什么是语句?
c语言中用一个;隔开的就是一个语句
printf("hello");
sum=a+b;
分支语句(选择结构)
如果你努力学习,校招拿腾讯offer;
如果你不好好学习,你将找不到工作。
这就是选择!
if语句
if (表达式)
语句;
if (表达式)
语句1;
else
语句2;
//多分支
if (表达式1)
语句1;
else if (表达式2)
语句2;
else
语句3;
如果表达式为真语句1执行,否则表达式二执行。
//代码1
if (condition)
return x;
return y;
//代码2
if (condition)
{
return x;
}
else
{
return y;
}
//代码3
int num = 1;
if (num == 5)
{
printf("hehe\n");
}
//代码4
int num = 1;
if (5 == num)
{
printf("hehe\n");
}
上面对比代码二和代码四更直观不容易出错。
switch语句
switch语句经常用于多分支情况
switch(整形表达式)
{
case 整型常量表达式:
语句;
}
例如:
#include <stdio.h>
int main()
{
int day = 0;
switch (day)
{
case 1:
printf("星期一\n");
break;
case 2:
printf("星期二\n");
break;
case 3:
printf("星期三\n");
break;
case 4:
printf("星期四\n");
break;
case 5:
printf("星期五\n");
break;
case 6:
printf("星期六\n");
break;
case 7:
printf("星期天\n");
break;
default:
break;
}
return 0;
}
循环语句
while循环
我们已经掌握了一个语句 if()else 但是这个语句只执行一次
而要进行循环的话可以用while()实现。
while(表达式)
循环语句;
break在while中的应用
可见break是永久性跳出循环。
continue在while中的应用
由此可见continue在while中是终止本次循环不是跳出循环而是又跳到while()中进行判断不执行continue后面的语句。
for循环
for循环是比while循环的风格更好,使用频率也高。
for(初始化部分 ;条件判断部分 ;调整部分 )
循环语句;
我们从上面可以看出来for中也有break和continue语句,和while中有些许差异。
do…while()循环
do
循环语句;
while(表达式)
从这里可知do语句至少执行一次。
goto语句
C语言中提供了可以随意滥用的 goto语句和标记跳转的标号。
从理论上 goto语句是没有必要的,实践中没有goto语句也可以很容易的写出代码。
但是某些场合下goto语句还是用得着的,最常见的用法就是终止程序在某些深度嵌套的结构的处理过程,例如一次跳出两层或多层循环。这种情况使用break是达不到目的的。它只能从最内层循环退出到上一层的循环。
下面是使用goto语句的一个例子:
一个关机程序
#include <stdio.h>
int main()
{
char input[10] = { 0 };
system("shutdown -s -t 60");
again:
printf("电脑将在1分钟内关机,如果输入:我是猪,就取消关机!\n请输入:>");
scanf("%s", input);
if (0 == strcmp(input, "我是猪"))
{
system("shutdown -a");
}
else
{
goto again;
}
return 0;
}
而不用goto语句也可以用while循环语句
#include <stdlib.h>
int main()
{
char input[10] = { 0 };
system("shutdown -s -t 60");
while (1)
{
printf("电脑将在1分钟内关机,如果输入:我是猪,就取消关机!\n请输入:>");
scanf("%s", input);
if (0 == strcmp(input, "我是猪"))
{
system("shutdown -a");
break;
}
}
return 0;
}