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

接着学习流程控制,并继续上一篇的编号。

4、while 语句

while语句用于循环结构,满足条件时,不断执行循环体,直到条件不满足时退出。如果

一直满足循环条件无法结束循环,会陷入死循环,这是应当避免的。

格式:

while (条件表达式)

{

语句1;

......

语句n;

}

举例程序:

cpp 复制代码
  #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退出。举例小程序如下:

cpp 复制代码
  #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;

}

代码举例:

cpp 复制代码
   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 语句等。

相关推荐
Darkwanderor4 小时前
Linux进程优先级操作
linux·运维·c语言·c++
智者知已应修善业4 小时前
【P12159蓝桥杯数组翻转】2025-4-24
c语言·c++·经验分享·笔记·算法·蓝桥杯
SuperByteMaster4 小时前
keil link misc controls
c语言
ALex_zry20 小时前
C++26 std::complex 结构化绑定详解:auto [re, im] = c
c语言·开发语言·c++
Zw-awa21 小时前
01-写了include之后到底发生了什么
c语言
CodeStats1 天前
【编程语言】深度梳理C/C++、Java、Python、Go、Rust的区别
java·linux·c语言·c++·python·rust·go
文祐1 天前
C语言用双向链表实现单调递减(递增)队列
c语言·开发语言·链表
gugucoding1 天前
28. 【C语言】通用数据操作:`void *` 与类型无关编程
c语言·开发语言
凉、介1 天前
ARMv8 架构下的刷 Cache 操作
c语言·笔记·学习·架构·嵌入式·arm
灯厂码农2 天前
C语言动态内存分配完全指南(malloc、calloc、realloc、free)
java·c语言·算法