C语言基础——分支与循环

目录

前言

一、分支语句

1.if语句

2.关系操作符

3.条件操作符

4.逻辑操作符

5.短路

6.switch语句

二、循环语句

1.while语句

2.do-while语句

3.for语句

4.break和continue语句

总结


前言

C语⾔是结构化的程序设计语⾔,依托三大结构:顺序结构、选择结构、循环结构,C语言可以通过它们的组合来解决特定的问题。 本文将介绍C语言中的选择结构与循环结构。


一、分支语句

1.if语句

  1. 基本结构
    if(表达式)
    {
        语句;
    }
  2. else
    if(表达式)
    {
        语句;
    }else{
        语句;
    }
  3. if语句的嵌套 
    注意:else只与最相近的if匹配。      

2.关系操作符

(1)六大操作符

> 大于 >= 大于等于 < 小于 <= 小于等于 == 相等 != 不相等

(2)注意事项

  1. 关系表达式的返回值:0或1。(0为真,1为假)
  2. 相等运算符与赋值运算符的区分。
  3. 多个关系运算符不能连用

3.条件操作符

exp1 ? exp2 : exp3

条件操作符的计算逻辑是:

  • 如果 exp1 为真, exp2 计算。计算的结果是整个表达式的结果;
  • 如果 exp1 为假, exp3 计算。计算的结果是整个表达式的结果。

4.逻辑操作符

与 &&    或 ||    非!

配合使用可以解决上述“多个关系运算符不能连用”的问题。

5.短路

  1. 什么是“短路”:C语⾔逻辑运算符还有⼀个特点,它总是先对左侧的表达式求值,再对右边的表达式求值。如果左边的表达式满⾜逻辑运算符的条件,就不再对右边的表达式求值。
  2. 与运算:0 && 任何值都为0。
  3. 或运算:非零 || 任何值都为非零。

6.switch语句

switch (expression) 
{
    case value1: statement;
    case value2: statement;
    default: statement;
}

switch语句中的break:switch语句中的case相当于程序运行的入口,只有遇到break的时候才会退出当前语句。所以在 switch 语句中 break 语句是⾮常重要的,能实现真正的分⽀效果。

switch语句中的default:switch 后边的 expression 的结果不是 value1 ,也不是 value2 的时候,就会执⾏ default ⼦句。

注意:

  1. switch 后的 expression 必须是整型表达式
  2. case 后的值,必须是整形常量表达式
  3. 初学者容易犯的错误:case与数字间必须有空格

二、循环语句

1.while语句

while(判断)
{
    循环体;
}

2.do-while语句

do
{
    语句;
}while();

3.for语句

for(初始值;条件判断;调整语句)
{
    循环体;
}

注意:三个语句间要用分号隔开而非逗号。


4.break和continue语句

  1. break:直接跳出循环;
  2. continue
    • while语句中:直接跳出本次循环(后续的所有语句全部跳过),进行下一次循环。
    • for语句中:跳出本次循环后续的语句,调整语句不受影响。

典型例子

        break举例
#include <stdio.h>

int main()
{
     int i = 1;
     while(i<=10)
     {
         if(i == 5)
         break;
         printf("%d ", i);
         i+=1;
     }
     return 0;
}

#include <stdio.h>

int main()
{
     int i = 1;
     for(i=1; i<=10; i++)
     {
         if(i == 5)
         break;
         printf("%d ", i);
     }
     return 0;
}

        

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

运行结果:死循环

解释:当i等于5后,就执⾏continue,直接跳过continue以后的代码,去循环的判断的地⽅,因为这⾥跳过了i = i+1,所以i⼀直为5,程序陷⼊死循环

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

运行结果:1 2 3 4 6 7 8 9 10

解释:当i等于5后,就执⾏continue,直接跳过continue以后的代码,但调整语句仍然执行。

总结

以上就是本文要讲的内容,如有错误,敬请批评指正!

  • 22
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值