5分钟让你了解循环、分支语句

循环语句

for语句

for(表达式1;表达式2;表达式3)

{循环体}

表达式1:初始条件赋值

表达式2:条件判断

表达式3:变量改变

首先for语句,可以没有任何表达式,也就是说语法支持for(;;){循环体}。但这种情况一般比较少见,最为常见的便是三个表达式都具备。

for语句执行逻辑,是先从表达式1开始赋值,然后进行表达式2的逻辑判断,如果成立就开始执行,如果不成立就跳出循环。成立之后,执行循环体,然后到表达式3运算,再继续跟表达式2进行逻辑判断,如果成立就执行,不成立就跳出,循环往复。

具体执行逻辑演示图如下:

既然说了那么多,for语句到底适合用在什么情况呢?

可以看到for语句条件很多,这也侧面说明for语句适合用在那些初始条件清楚、终止条件清楚的情况,换句话来说就是你清楚知道要执行多少次,比如下述例子,打印99乘法表。

#include<stdio.h>

int main() {

    int i = 0;

    int j = 0;

    for (i = 1; i < 10; i++) {

        for (j = 1; j <= i; j++) {

            printf("%d*%d=%d\t", j,j,(j * j));

        }

        printf("\n");

    }

    return 0;

}//99乘法表

上述例子,你清楚知道自己要循环多少次,什么时候开始、结束。而且非常适合用在嵌套循环。

do while()语句

该语句也是循环语句的一种,执行逻辑是,一开始便循环一次,然后进行条件判断,成立就继续循环,不成立就跳出循环。

void game() {

//  int ret = 0;

//  int a = 0;

//  ret = rand()%100+1;

//  scanf("%d", &a);

//  while (1) {

//      if (a > ret)

//      {

//          printf("猜大了\n");

//          scanf("%d", &a);

//      }

//      if (a < ret)

//      {

//          printf("猜小了\n");

//          scanf("%d", &a);

//      }

//      if (a == ret) {

//          printf("恭喜你,猜对了\n");

//          break;

//      }

//  }

//

//

//}

//

//int main(){

//  srand((unsigned int)time(NULL));

//  int input = 0;

//  do

//  {

//      menu();

//      scanf("%d", &input);

//      switch (input) {

//      case 1:

//          printf("请猜数字:\n");

//          game();

//          break;

//      case 0:

//          break;

//      default:

//          printf("输错了!!\n");

//              break;

//      }

//

//

//  } while (input);

//

//  return 0;

上诉,猜数字游戏,首先不管循环成立与否,先进行一次菜单打印。通常来说do while语句跟while语句适用条件都是一样的,都是适合那种不知道循环次数,但是知道循环终止条件。

借助上述例子,在讲述switch分支语句

switch(常量表达式)

{

case 1 :…;

case 2 :…;

default :…;

}

分支语句用在选择较多的情况,避免了使用if 、else if 的冗杂,清晰明了。而且现在追求的代码风格就是清晰第一、效率第二!

if

else 语句

顾名思义,如果… 其他…,if语句常用在循环体中的某些条件控制,亦如上述猜数字游戏,用if划分了3中情况,大于、小于、等于。

最后,各种语句唯有多加练习,在运用中不断感悟配合的妙处,方能熟练自如,希望大家都能有所收获。

辛苦各位的阅读!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值