C语言从头学13——流程控制(二)

news/2024/9/22 3:39:57

       接着学习流程控制,并继续上一篇的编号。
4、while 语句
       while语句用于循环结构,满足条件时,不断执行循环体,直到条件不满足时退出。如果
一直满足循环条件无法结束循环,会陷入死循环,这是应当避免的。
      格式:
      while (条件表达式)
      {
          语句1;
          ......
          语句n;
       }
    举例程序:

  #include<stdio.h>
  int main(void)
  {
     int i = 0;
     while (i < 26) //如果条件不成立则不能进入循环体
     {
        printf(" %c", 65+i); //利用ASCII值显示小写字母,a到z的ASCII码为097~122
        printf(" %c\n", 97+i); //利用ASCII值显示大写字母,A到Z的ASCII码065~090
        i++; //如果没有这条语句,会陷入死循环
     }
     getchar(); //屏显暂停
     return 0;
  }

       补充:如果将条件表达式设成 "1" 即循环条件总是为真,这样的循环有用吗?回答是有用的,我们可以在循环体内设置一个 if 语句,当退出条件满足时,在if语句中运行 break 就退出了循环。这种用法多用于菜单项的循环,只有选择"退出"或"结束"时才运行break。(break后边详细介绍)
5、do...while结构
       这种结构也叫直到型循环,即先不管是否符合循环条件,上来先执行一次循环体,然后再看是否满足循环条件是继续循环还是结束。
       格式:
       do {
              语句1;
               ......
              语句n;
            } while (条件表达式)
       这种结构除了直接进入循环外,与while语句一样,也可以设成无限循环再用 if 语句中的break退出。举例小程序如下:

  #include<stdio.h>
  int main(void)
  {
      int i = 0;
      do {  //不管循环条件如何,先进入循环体
          printf("i=%d\n",i); //显示i值
          if (i == 10) break; //定义退出条件,退出条件也可以放到while后边的括号中(i<=10)
          i++;
      }  while (1);
      getchar();//屏显暂停
      return 0;
  }

6、for语句
       for语句是编程过程中使用最频繁的循环结构,适用于精确控制循环次数,经常用于为数组赋值、显示数组内容等场合。
      格式:
      for ( 初始表达式; 循环条件判断; 循环变量处理表达式 )
     {
         语句1;
         .....
         语句n;
    }
    代码举例:

   int x[10]; //声明一个10个元素的int型数组
   for(int i=0;i<10;i++)
   {
      x[i]=i; //为x[i]赋值
      printf("%i\n",x[i]);\\每行一个显示x[i]
   }

        补充:for 循环体有两个或两个以上语句时,我们会给循环体语句用大括号"{}"括起来,但对于
 一个语句的情况,可以不用大括号括起来。此处建议大家:对于初学者,无论是一句还是多句,
 干脆都用大括号括起来;如实在不想用"{}"括起来,循环体语句要和循环条件放到一行,这样看上去逻 辑更清楚。这些也适用使用 if 语句等。


http://lihuaxi.xjx100.cn/news/2178198.html

相关文章

【FISCO BCOS 3.0】一、新版本搭链介绍

目录 一、区块链种类的变化 二、搭链演示 1.单群组区块链&#xff08;Air版本&#xff09; 2.多群组区块链&#xff08;Pro版本&#xff09; 3.可扩展区块链&#xff08;Max版本&#xff09; FISCO BCOS的发展速度如日中天&#xff0c;对于稳定的2.0版本而言&#xff0c;偶…

mac安装的VMware虚拟机进行桥接模式配置

1、先进行网络适配器选择&#xff0c;选择桥接模式 2、点击网络适配器 设置... 3、选择WiFi&#xff08;我使用的是WiFi&#xff0c;所以选择这个&#xff09;&#xff0c;注意看右边的信息&#xff1a;IP和子网掩码&#xff0c;后续配置虚拟机的ifcfg-ens文件会用到 4、编辑if…

JAVA自制小游戏之推箱子

给家里孩子实现益智游戏开发,教会他怎么使用编程。以下是一个简单的推箱子游戏的Java实现,包含两个关卡: 这个程序包含两个关卡,每个关卡都是一个字符串表示的地图。游戏会提示玩家输入移动方向(WASD),然后根据输入的方向移动玩家。如果玩家成功将所有的箱子推到目标位…

【深度好文】AI企业融合联盟营销,做的好就是最大赢家!

AI工具市场正在迅速发展&#xff0c;现仍有不少企业陆续涌出&#xff0c;那么如何让你的工具受到目标群体的关注呢&#xff1f;这相比是AI工具营销人员一直在思考的问题。 即使这个市场正蓬勃发展&#xff0c;也无法保证营销就能轻易成功。AI工具虽然被越来越多人认可和接受&a…

【LLM多模态】多模态LLM在图表处理的应用

note 在真实场景下&#xff0c;我们进行测试&#xff0c;多模态大模型在处理显著文本时表现尚可&#xff0c;但在处理细粒度文本时往往效果并不太好&#xff0c;why? ​具体原因如下&#xff1a; 首先&#xff0c;视觉编码器的分辨率对于多模态大模型的性能影响较大&#x…

【小技巧】Keil C51 报错“*** ERROR L107: ADDRESS SPACE OVERFLOW****

软件&#xff1a;Keil C51 C51V961版本 电脑&#xff1a;Win10 报错提示&#xff1a; compiling System.c... linking... *** ERROR L107: ADDRESS SPACE OVERFLOW SPACE: DATA SEGMENT: ?DT?LCD LENGTH: 0034H Program Size: data174.0 xdata17 code1205 Target not create…

32.MP使用条件构造器,创建SQL的查询条件,使用In并且传入的数据是集合,因集合中无元素的,导致SQL执行bug

Public List<User> userList(Long age) List<Long> idsnew ArrayList<>(); idsArray.asList(1,4,6,9); //一般通过SQL查询得到&#xff0c;则集合中就可能没有数据,导致SQL执行错误:where id in() if(ids.size<0){ return null; } LambdaQueryWapper<U…

Kafka SASL_SSL集群认证

背景 公司需要对kafka环境进行安全验证,目前考虑到的方案有Kerberos和SSL和SASL_SSL,最终考虑到安全和功能的丰富度,我们最终选择了SASL_SSL方案。处于知识积累的角度,记录一下kafka SASL_SSL安装部署的步骤。 机器规划 目前测试环境公搭建了三台kafka主机服务,现在将详…