2_C语言分支与循环

分支

break与continue

break:使流程跳到循环体之外,接着执行循环体下面的语句
其实在循环中只要遇到break,就停止后期的所有的循环,直接终止循环。
所以:while中的break是用于永久终止循环的

//break 代码实例
#include <stdio.h>
int main()
{
 int i = 1;
 while(i<=10)
 {
     if(i == 5)
         break;
     printf("%d ", i);
     i = i+1;
 }
 return 0; 
}
 
输出:
1 2 3 4

continue:跳过本次循环后面的所有代码,执行下一次循环

continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行,而是直接跳转到while语句的判断部分。进行下一次循环的入口判断

//continue 代码实例2
#include <stdio.h>
int main()
{
 int i = 1;
 while(i<=10)
 {
    i = i+1;
    if(i == 5)
         continue;
    printf("%d ", i);
 }
 return 0; 
}
 
输出:
2 3 4 6 7 8 9 10 11

if与else

if(判断条件)
{
}
else
{
}

判断条件中 0为假,其余均为真, 满足判断条件,执行if对应的内容,不满足执行else里面的内容,也可以没有else,即不满足if判断条件,就什么都不执行。

else是和它离的最近的if匹配的

if(判断条件)
{
}
if(判断条件)
{
}
if(判断条件)
{
}
else
{
}
也可以有多条if语句进行判断

switch

switch(整型表达式)

{
case 1: 执行语句;
case 2: 执行语句;
case 3: 执行语句;
case 4: 执行语句;
  break;     直接跳出循环
default : break;  都不满足条件执行
}

练习题

1.输出1-100之间的奇数

#include<stdio.h>
int main(){
	//输出1-100全部奇数 
	int i;
	for(i=1;i<=100;i++)
	{
		if(i%2==0)
		{
			continue;	
		}
		else
		{
			printf("%d\t",i);
		}
	}
	return 0;
}

2.判断一个数是否为奇数

#include<stdio.h>	
//判断输入数是否是奇数 
int main()
{
	int i;
	printf("请输入一个数,让我们来判断是否是奇数:");
	scanf("%d",&i);
	if(i%2==0)
	{
		printf("%d这个数不是奇数",i);
	}
	else
	{
		printf("%d这个数是奇数",i);
	}
	return 0;
}

循环

for

语句1:初始化
语句2:判断
语句3:调整
for(语句1;语句2;语句3)
{

}

示例

#include<stdio.h>
int main(){	
	 for(int i=1;i<=10;i++)
	 {
		 printf("%d",i);		 
	 }
	 return 0;
}
 
输出:
12345678910
  • 不可在for 循环体内修改循环变量,防止 for 循环失去控制。
  • 建议for语句的循环控制变量的取值采用“前闭后开区间”写法。
int i = 0;
//前闭后开的写法
for(i=0; i<10; i++)
{
}
//两边都是闭区间
for(i=0; i<=9; i++)
{
}
  • for循环的初始化、调整、判断都可以省略,但是:for循环的判断部分如果被省略,那判断条件就是:恒为正,可能会照成一直满足条件一直输出。

while

先判断是否满足循环条件,满足即while(1),只要不是0,则都为1,再执行循环体,当为0时跳出循环

//break 代码实例
#include <stdio.h>
int main()
{
 int i = 1;
 while(i<=4)
 {
     printf("%d ", i);
     i = i+1;
 }
 return 0; 
}
 
输出:
1 2 3 4

do while

先执行一次循环体,再判断是否满足条件

#include <stdio.h>
int main()
{
 int i = 1;
    
 do
 {
    printf("%d\n", i);
    i++;
 }while(i<=3);
    
 return 0; 
}
 
输出:
1
2
3

练习题

1.计算n的阶乘

#include<stdio.h>
int main(){	
//计算n的阶乘
	int i;
	int num;
	int mul;
	printf("想求这个数的阶乘为多少:");
	scanf("%d",&num); 
	for(i=1;i<=num;i++){
		mul*=i;
	} 
	printf("%d这个数的阶乘为:%d",num,mul);
	return 0;
}

2.计算1!+2!+3!+…+10!

#include<stdio.h>
int main(){	
    int i;
	int j;
	int mul=1;
	int sum;
	for(i=1;i<=10;i++){
		for(j=1;j<=i;j++){
			mul*=j;
		}
		sum+=mul;
		mul=1;
	} 
	printf("1!+2!+3!+...+10!的值为:%d",sum);
}

相关推荐

  1. 2_C语言分支循环

    2024-04-03 21:52:01       13 阅读
  2. C语言分支循环——if else

    2024-04-03 21:52:01       38 阅读
  3. C语言分支循环语句

    2024-04-03 21:52:01       33 阅读
  4. C语言总结二:分支循环(压缩版)

    2024-04-03 21:52:01       13 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-03 21:52:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-03 21:52:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-03 21:52:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-03 21:52:01       20 阅读

热门阅读

  1. SCG K8S(Spring Cloud Gateway Kubernetes)一直报503错误

    2024-04-03 21:52:01       16 阅读
  2. 蓝桥杯-跳石头

    2024-04-03 21:52:01       11 阅读
  3. Linux Shell,遍历数组或文件的几种不同写法

    2024-04-03 21:52:01       13 阅读
  4. 执行SQL分析打印

    2024-04-03 21:52:01       11 阅读
  5. 人工智能常用的编程语言有哪些?

    2024-04-03 21:52:01       14 阅读
  6. 蓝桥杯_阅读魔法书(字符串匹配)

    2024-04-03 21:52:01       12 阅读
  7. 01---webpack的基础篇

    2024-04-03 21:52:01       11 阅读
  8. 蓝桥杯软件测试赛项--自动化测试

    2024-04-03 21:52:01       11 阅读
  9. Sentinel

    Sentinel

    2024-04-03 21:52:01      12 阅读
  10. 【AHK v2】数据结构LinkedList实现示例

    2024-04-03 21:52:01       10 阅读