第一章 分支与循环语句
if语句
if(age<18)
printf("好好学习");
else if(age>=18 && age<=25)
printf("敞开来玩儿");
else
printf("努力搬砖");
对于分支语句if
如果后面语句超过一条,则需要{}
概括后面语句;
无论if 、else if、 else有多少条,这块代码它执行其中一条语句
int a=0;
int b=2
if(a==1)
if(b==2)
printf("hehe\n");
else
printf("haha\n");
return 0;
输出结果:无
在这里第二个if与else算作一条语句,当第一条if语句b==2不成立时跳过第二条if语句直接执行return 0
switch语句
switch(5)
{
case 1:
printf("星期1\n");
case 2:
printf("星期2\n");
case 3:
printf("星期3\n");
case 4:
printf("星期4\n");
case 5:
printf("星期5\n");
case 6:
printf("星期6\n");
case 7:
printf("星期7\n");
//default:
//printf("选择错误"\n);
//break;
}
输出结果:
星期5
星期6
星期7
当我们在使用switch语句时要注意在执行语句也就是这里的printf后面添加终止语句break,防止代码继续向下执行,使之只执行单个语句
在这里的default
语句同if语句中的else有相同用法
case 1:
case 2:
case 3:
case 4:
case 5:
printf("工作日\n");
break;
case 6:
case 7:
printf("休息日\n");
break;
上述代码可以用于范围判断
循环语句
while
while 语句先判断后执行
int i=0;
while(i<n)
{
printf("%d\n");
i++;
}
这里循环执行n次
运行结果:
0
1
2
……
n-1
break
int i=1
while(i<=10)
{
if(i==5)
break;
printf("%d",i);
i++;
}
输出结果:01234
break的作用是终止循环语句
值得注意的是break语句在被执行之前其所有运行结果均被执行
continue
int i=1
while(i<=10)
{
if(i==5)
break;
printf("%d",i);
i++;
}
输出结果:01234->死循环(持续进行判断语句)
由于跳出时i值没有发生变化,所以在下一次执行时开始发生死循环
continue跳过本次循环进入下一次循环
continue语句一发生执行,在本次循环continue 后面的语句本次循环不执行,同时进入下一次循环
for循环
for(表达式1;表达式2;表达式3)
表达式1为初始化部分
表达式2判断部分
表达式3为调整部分
for(int i=0;i<n;i++)
{
printf("%d",i)
}
出现n个结果
输出结果:0123……n-1
goto语句
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
char arr[20] = { 0 };
system("shutdown -s -t 120");
again:
printf("请注意,你小子的电脑还有120s关机,如果输入:wbj是yyl的爹,就取消关机");
scanf("%s",&arr);
if (strcmp(arr, "wbj是yyl的爹") == 0)
{
system("shutdown -a");
}
else
{
goto again;
}
return 0;
}
相当于一条传送门