C语言-入门级别循环与分支语句详解
写在开始
在内容开始之前给大家介绍一下在计算机中如何表示真假
1. 分支语句
分支语句也叫做条件选择语句,主要分为if语句和switch语句。
1. 1 if语句
- if()…{} else if()…{} else {}
#include<stdio.h>
//这里是引入“printf”函数所在的头文件,大家在使用函数时要记得把函数的头文件加上哦
int main()
{
int a = 1, b = 2, c = 3;
if (a > c) printf("a比c大");
else if (a > b) printf("a比b大");
else (printf("a比b和c都小"));
}
分析:
注:如果在第一个if里面条件成立了那之后的else if和else语句都将不会被运行。
- if()…{}…else {}
- if() …{}
关于这个语句想必不用我多说了吧,相信聪明的小伙伴们自己便能明白了。
1.2 switch
switch语句一般是和循环语句一起搭配使用的,现在先了解一下switch语句是怎么使用的。
- 代码格式:
switch(a)//a是一个整形变量
{
case 1:expression1;//不一定要写case 1,可以是任意a所能取值的数
break;
case 2:expression2;
break;
....
default:expression;
}
//将数字转换成其在一周内的位置
int main()
{
int day = 0;
scanf("%d",&day);//通过键盘向变量day输入一个整数
switch (day){
case 1:printf("周一");
break;
case 2:printf("周二");
break;
case 3:printf("周三");
break;
//中间的我省略了,这里代码演示主要是为了让大家了解功能,长篇大论也不太好
case 7:printf("周日");
break;
default:printf("请输入正确的数字");
}
return 0;
}
前面说了break的作用是跳出switch语句,现在给大家看看如果没有break的效果吧:
2 循环语句
循环语句主要分为三种:for语句,while语句和do while语句,这三种语句都是可以做到相互转换的,一般来说for语句会方便点,不过最终用哪种还是看具体问题和个人的喜好吧。
2.1 while()语句
while(condition)
{
expression;
}
这里给大家出个小题目吧,随便复习下刚刚讲的if语句(不会也不要紧的,慢慢来,这里只是给大家加深点印象)
有没有小伙伴是这样写的呢:printf("%d%d%d%d%d", 1, 3, 5, 7, 9);
哈哈结果没问题,不过咱们可是要当程序员的人呐
int main()
{
int i = 0;//在声明一个变量时记得给它赋值,这一部叫做变量的初始化
while (i <= 10) {
if (i % 2 == 1) //符号“==”是判断是否相等,可以理解为数学中的等于号
//"%"为取模,比如10%3=1,是取余数
printf("%d", i);
i++; // i++的意思是先使用i自己的值,然后使自己的值加1,这里可以看成是 i = i + 1;
}
return 0;
}
该注意的点我已近在代码里注释了,如果还有不懂的可以在评论区提问,当然如果有问题也还请大佬们指出,YU同学先感谢大家了。
2.2 do while()语句
do {
expression;
}while (condition);
2.3 for 语句
- 代码格式:
for(expression1;condition;espression2)
{
expression;
}
for语句中表达式的省略
注:语句可以省,但分号不能省的,就算全省了也要写成for( ; ; )这样
- 省略expression1
- 省略condition
- 省略expression2
break在循环语句中的作用
int main()
{
int i = 1;
for (i = 0; i<10; i++)
{
if (i == 6)
break;
printf("%d",i);
}
printf("\n%d", i);//前面打印一个空行
}
continue 在循环语句中的应用
下面看看效果:
- 对于while和do while
int main()
{
int i = 0;
while(i<10)
{
if (i == 6)
comtinue;
printf("%d",i);
i++;
}
printf("\n%d", i);//前面打印一个空行
}
- 对于for
int main()
{
int i = 0;
for (i = 0; i<10; i++)
{
if (i == 6)
continue;
printf("%d",i);
}
printf("\n%d", i);
}
总结:
写在最后
非常感谢大伙们的耐心阅读(如果内容还可以的话能不能给个小心心鼓励一下YU同学),如果对内容有不明白的可以在评论区直接提问,如果是文章有错误的也还请大佬们指导一番,谢谢大家,这段时间我们一起努力吧,YU同学一定会和大家一起进步的!加油,追梦人!