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 语句等。

相关推荐
迎風吹頭髮3 小时前
UNIX下C语言编程与实践58-UNIX TCP 连接处理:accept 函数与新套接字创建
c语言·网络·unix
迎風吹頭髮7 小时前
UNIX下C语言编程与实践53-UNIX 共享内存控制:shmctl 函数与共享内存管理
服务器·c语言·unix
逆小舟10 小时前
【C/C++】指针
c语言·c++·笔记·学习
earthzhang202110 小时前
【1007】计算(a+b)×c的值
c语言·开发语言·数据结构·算法·青少年编程
迎風吹頭髮10 小时前
UNIX下C语言编程与实践63-UNIX 并发 Socket 编程:非阻塞套接字与轮询模型
java·c语言·unix
奔跑吧邓邓子11 小时前
【C语言实战(6)】解锁C语言循环密码:for循环实战探秘
c语言·实战·for循环
GilgameshJSS11 小时前
STM32H743-ARM例程15-RTC
c语言·arm开发·stm32·实时音视频
pu_taoc11 小时前
深入剖析:基于epoll与主从Reactor模型的高性能服务器设计与实现
服务器·c语言·c++·vscode
韧竹、14 小时前
数据结构之顺序表
c语言·数据结构
努力努力再努力wz19 小时前
【C++进阶系列】:万字详解智能指针(附模拟实现的源码)
java·linux·c语言·开发语言·数据结构·c++·python