在学习C语言的过程中,想必大家都对循环语句和分支语句弄不清楚,这里小编就给大家分享一下在C语言中,循环和分支语句怎么使用吧,喜欢小编的文章的话可以点个关注支持一下,创作不易,谢谢大家,希望博客的小伙伴们越来越幸运。
目录
一、分支语句
1.if语句
2.switch语句
二、循环语句
1.while循环
2.for循环
3.do-while循环
前言
C语言中的循环语句可以使复杂的任务变得简单。循环语句允许程序多次执行同一段代码,这样可以节省时间和代码量。C语言中的循环语句包括for循环、while循环和do-while循环。这些循环语句都可以根据条件控制循环的次数,使程序能够根据需要执行多次相同的任务。循环语句是C语言中非常重要的控制结构之一,程序中有很多地方都需要使用循环语句来实现复杂的逻辑操作。
一、分支语句
1.1if语句
if语句用于检测指定条件是否为真,如果条件为真,则执行一些操作。if语句的基本语法如下:
if(表达式) { 语句;//条件为真时执行的代码块 } else { 语句;//条件为假时执行的代码块 }
例如:判断一个人的年龄是否成年,如果成年则满足if语句里的代码,反之则执行else语句里的代码。
#include <stdio.h> int main() { int age = 0; printf("请输入年龄:"); scanf("%d", &age); if(age >= 18) { printf("已成年\n"); } else { printf("未成年"); } return 0; }
注意:if语句的分支中可以包含多条语句,在if语句中如果要控制多条语句的,则需要使用{ }
将代码括起来,else后也可以跟上大括号。小编的建议是在if...else语句中控制一条语句时也使用{ }括起来,这样可以保证代码的可读性和整洁。
1.2 if语句的嵌套使用
if语句的嵌套使用是在if语句内部再嵌套一个或多个if语句。它可以让程序按照不同的条件进行不同的操作,提高程序的灵活性和智能性。一般可以运用于多重判断的情况。
if(表达式) { 语句1; } else if(表达式) { 语句2; } else { 语句3; }
例如:判断一个人的年龄是属于哪个阶段,如果年龄age<18岁,则是"少年";如果年龄age在18岁至44岁,则是"青年";如果年龄age在45岁至59岁,则是“中老年”;如果年龄age在60至89岁之间,则是“老年”;如果年龄age在90岁以上,则是"老寿星"。
#include <stdio.h> int main() { int age = 0; printf("请输入你的年龄"); scanf("%d", &age); if (age < 18) printf("少年\n"); else { if (age <= 45) printf("青年\n"); else { if (age <= 59) printf("中年\n"); else { if (age <= 89) printf("老年\n"); else printf("老寿星\n"); } } } return 0; }
写法2
#include <stdio.h> int main() { int age = 0; printf("请输入你的年龄"); scanf("%d", &age); if(age < 18) { printf("少年\n"); } else if(age <= 44) { printf("青年\n"); } else if(age <= 59) { printf("中老年\n"); } else if(age <= 90) { printf("老年\n"); } else printf("老寿星\n"); return 0; }
2.1 switch语句
1.switch语句: switch语句用于根据不同的条件执行不同的代码块。除了if语句外,switch也可以实现分支结构。它的基本语法如下:
switch (表达式) { case 值1: // 当表达式的值为值1时执行的代码块 break; case 值2: // 当表达式的值为值2时执行的代码块 break; default: // 当表达式的值不为任何一个case时执行的代码块 }
例如:输入任意一个整数,计算出除3之后的余数
#include <stdio.h> int main() { int n = 0; scanf("%d", &n); switch(n % 3) { case 0: printf("余数为0\n"); break; case 1: printf("余数是1\n"); break; case 2: printf("余数是2\n"); break; } return 0; }
注意:1.case和后边的数字必须要有空格隔开
2.每一个case语句执行完以后,都需要加上break,才能跳出这个switch。
3.当switch语句成立后,会执行case语句,如果不加上break,则后面的语句也会执行,case语句是switch的程序入口。如上所示,当n = 4 余数为1,从case 1语句进入,如果没有加上break,则case2的语句也会被执行。
2.2 switch语句中的default
在C语言中,switch语句用于基于一个表达式的值,选择在多个可能情况(case)中执行的语句,其中default语句表示当所有的case语句都不满足的时候执行的语句块。default语句可以出现在switch语句的任何位置,但通常出现在所有case语句之后。当switch语句的表达式的值与任何case语句的值都不匹配时,default语句中的代码会被执行,类似于if语句中的else语句。如果没有default语句,那么当所有的case都不匹配时,switch语句将不会执行任何代码块。下面是一个示例,展示了如何在switch语句中使用default语句:
#include <stdio.h> int main() { int num = 3; switch(num) { case 1: printf("num is 1\n"); break; case 2: printf("num is 2\n"); break; default: printf("num is not 1 or 2\n"); break; } return 0; }
在此示例中,变量num被初始化为3,然后switch语句评估num变量。由于num的值与任何case语句的值都不匹配,所以执行default语句中的代码,输出"num is not 1 or 2"。
注意:switch语句中的case和default的顺序是没有要求的,只要你的顺序是满足实际的需求就是可以的。一般我们通常是把default子句放在最后处理的。
二、循环语句
1.while循环
C语言中的while循环是一种基本的循环语句,它允许程序可以重复执行某段代码,直到指定的条件不满足为止。while循环的基本语法如下:while(表达式) 语句;//如果循环体包含多条语句,则需要加上{ }括号
在C语言中0表示假,非0表示真,我们来看一下下面这一串代码
#include <stdio.h> int main() { while(1) //非0条件为真 printf("hello world\n"); //while后面的条件满足,一直死循环的打印hello world return 0; }
while循环的执行流程是先判断表达式后面的值是否为真,如果为真则循环执行下面的语句,执行完语句后再继续判断;如果表达式为假则循环直接结束。
例如:打印1~10的数值
#include <stdio.h> int main() { int i = 1; while(i <= 10) { printf("%d ", i); i = i+1; //自增量,保证下一次的输出 } return 0; }
2.for循环
C语言中的for循环是一种比较常见的循环结构,它可以根据条件重复执行某个语句块。for循环的语法格式如下:
for(表达式1;表达式2;表达式3) 循环语句; 表达式1为初始化部分,用于初始化循环变量的。 表达式2为条件判断部分,用于判断循环时候终止。 表达式3为调整部分,用于循环条件的调整。
例如:打印1~10的数值
#include <stdio.h> int main() { int i = 0; for (i = 1; i <= 10; i++) { printf("%d ", i); } return 0; }
建议:
1.不可在for循环体内修改循环变量,防止for循环失去控制。
2.建议for循环控制变量的取值采用“前闭后开区间”写法。
3.do...while循环
do-while循环和while循环类似,只是它是先执行一次循环体语句,然后再检查条件是否满足,如果满足则继续执行循环体,否则退出循环。
语法格式: do 循环语句; while(表达式);
例如:打印1~10的数值
#include <stdio.h> int main() { int i = 1; do { printf("%d ", i); i++; } while (i <= 10); return 0; }
总结
C语言中的分支语句和循环语句是控制程序流程的重要组成部分。总结起来,分支语句可以根据条件执行不同的语句,而循环语句可以重复执行语句,通过它们可以实现程序的逻辑控制和循环运算。