[C语言]分支与循环

C语言是结构化的程序设计语言,这里的结构主要包括顺序结构、分支结构和循环结构,在接下来的文章中,我将为你介绍这几种结构是如何通过代码来实现的。

分支结构

if 语句

if语句的语法结构如下:

if(表达式)
语句

若表达式为真(非0),则语句执行,若表达式为假(为0),则语句不执行。

例:输入一个整数,判断是否为偶数

#include<stdio.h>
int main (){
int num=0;
scanf("%d",&num);
if(num%2==0)
printf("%d是偶数",num);
return 0;
}

else 

如果一个数不是偶数,那么就是奇数了,那么有办法用代码来表示这种关系吗?这时候就需要用到if…else…语句了。

其语法结构如下:

if(表达式)
语句1
else
语句2

 因此,我们可以实现一个判断奇偶的代码:

#include<stdio.h>
int main (){
int num=0;
scanf("%d",&num);
if(num%2==0)
printf("%d是偶数",num);
else 
printf("%d是奇数",num);
return 0;
}

if…else…语句还有许多其他妙用,大家可以自己在编写程序的过程中去慢慢感受。 

switch 语句

 除if语句外,c语言还提供了switch语句来实现分支结构,其语法结构如下:

switch(表达式){
case 条件1:语句1

case 条件2:语句2

case 条件3:语句3

default:语句4
}

在上面代码中,根据表达式不同的值,执行相应的case分支。如果找不到对应的值,就执行default分支。

注意

  1. switch后的表达式必须是整型表达式。
  2. case后的值,必须是整形常量表达式。

例: 制作一个传送器

#include<stdio.h>
int main(){
int num=0;
scanf("%d",&num);
printf("请选择你要前往的地区")
switch(num)
case 1:
printf("传送到蒙德");
break;
case 2:
printf("传送到璃月");
break;
case 3:
printf("传送到稻妻");
break;
case 4:
printf("传送到须弥");
break;
case 5:
printf("传送到枫丹");
break;
default:
printf("前面的区域,以后再来探索吧。");
break;
}
return 0;
}

 如此,我们便能更方便的实现多个分支。

需要注意的是,在每个case语句执行完成后,我都加上了break,因为这样才能跳出这个switch语句,大家可以尝试下不加break的结果,具体在代码中是否要加入break需要视其目的而定。

循环结构

while循环

while语句的语法结构如下: 

while(表达式)
语句

 当表达式结果为真时,循环执行下方语句,直到表达式结果为假,退出循环。

例:打印1-10的数字

#include<stdio.h>
int main (){
int num=1;
while(num<=10){
printf("%d ",num);
num++;
}
return 0;
}

 for循环

for循环的语法结构如下:

for(表达式1;表达式2;表达式3)
语句
  • 表达式1用于循环变量的初始化 
  • 表达式2用于循环结束条件的判断
  • 表达式3用于循环变量的调整

例:打印1-10的数字 

#include<stdio.h>
int main (){
int num=0;
for(num=1;num<=10;num++){
printf("%d ",num);
}
return 0;
}

大家可以自行比较while循环与for循环各自的优劣之处 。

do…while循环 

do…while循环的语法结构如下:

do
语句
while(表达式)

一般do…while循环使用在循环体至少被执行一次的场景下。

 例:打印1-10的数字

#include<stdio.h>
int main (){
int num=1;
do
{
printf("%d ",num);
num++;
}
while(num<=10);
return 0;
}

 break与continue语句

如果你想在循环执行的过程中提前终止循环,那么就需要用到break与continue语句。

  • break的作用是用于永久的终止循环,只要break被执行,直接就会跳出循环。
  • continue的作用是跳过本次循环continue后边的代码,其在for循环与while循环中有所差异。 

 利用上方所写的代码做个演示

#include<stdio.h>
int main (){
int num=1;
while(num<=10){
if(num==5)
 continue;
printf("%d ",num);
num++;
}
return 0;
}
#include<stdio.h>
int main (){
int num=0;
for(num=1;num<=10;num++){
if(num==5)
continue;
printf("%d ",num);
}
return 0;
}

运行以上代码后可以发现其有所差异,大家可以自行尝试,而break语句的使用较为简单,这里便不做演示了。

到此,我们便了解了C语言中常见的分支结构与循环结构,让我们利用它们把代码变得更加灵活吧! 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值