前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C语言笔记---(6)流程控制篇

C语言笔记---(6)流程控制篇

作者头像
是小北a
发布2023-10-21 13:13:30
2020
发布2023-10-21 13:13:30
举报
文章被收录于专栏:小北的博文

C语言支持三种程序运行结构:顺序结构、选择结构、循环结构。

  1. 顺序流程:按照语句编写的顺序上到下逐句zhix逐句执行。
  2. 分支流程:也叫分支结构,依据是否满足条件,有选择的执行相应功能。
  3. 循环流程:依据条件是否满足,重复多次执行某段代码。

一、选择结构

1、if语句

1.if语句的三种形式:

第一种:

代码语言:javascript
复制
if(测试条件)
  条件为真的流程

第二种:

代码语言:javascript
复制
if(测试条件)
  条件为真的流程
else
  条件为假所执行的流程

第三种:

代码语言:javascript
复制
if(条件表达式1)
  语句1
  else if(条件表达式2)
    语句2
  else if(条件表达式3)
    语句3
.....
else
  语句n
2.if嵌套语句
代码语言:javascript
复制
if()
  if()
    语句1
  else
    语句2
else 
    if
      语句3
    else
      语句4

2、条件运算符

他是C语言中唯一一个三元运算符

意味着它有三个运算对象 伪代码如下:

代码语言:javascript
复制
c=x >=10 ? 'Y' : 'n';
//测试条件 ? 表达式1 : 表达式2;
条件运算符
条件运算符

3、switch语句

语法:

代码语言:javascript
复制
switch (表达式)
{
case 常量表达式1: 语句1;break;
case 常量表达式2: 语句2;break;
...
case 常量表达式n-1: 语句n-1;break;
default : 语句n
}

执行逻辑:

计算"表达式"的值。并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的 值相等时,即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达 式的值与所有case后的常量表达式均不相同时,则执行default后的语句。注意:每个语句后面都有break

示例代码:

代码语言:javascript
复制
#include <stdio.h>
int main()
{
 int day;
 printf("plz Input weekday number: ");
 scanf("%d", &day);
 switch (day)
 {
 case 1:printf("星期一\n"); break;
 case 2:printf("星期二\n"); break;
 case 3:printf("星期三\n"); break;
 case 4:printf("星期四\n"); break;
 case 5:printf("星期五\n"); break;
 case 6:printf("星期六\n"); break;
 case 7:printf("星期日\n"); break;
 default:printf("I don't know \n");
 }
 return 0;
}

总结:

  1. switch结构的表达式必须为“常量表达式”
  2. switch结构可以用if ... else if ... else 结构来实现

二、循环结构

1、while循环

代码语言:javascript
复制
while(循环条件)
{
    循环行为1
    循环行为2
    循环行为3
}

求1~100的和示例代码:

代码语言:javascript
复制
#include <stdio.h>
int main()
{
    int sum,i;
    sum=0,i=1;
    while (i<=100)
    {
        sum=sum+i;
        i++;
    }
    printf("%d %d\n",sum,i);
    return 0;
}

C语言中非0即为真,一定要注意检查代码,避免出现死循环的情况。如何避免出现死循环呢?

  1. 开始时,为计数器设计初始值
  2. 计数器与一个有限值比较作为循环条件
  3. 更新计数器

2、for循环

代码语言:javascript
复制
for (计数器设置初始值;循环条件;计数器更新)
{
    循环行为1
    循环行为2
    循环行为3
}

求1~100的和示例代码:

代码语言:javascript
复制
#include <stdio.h>
int main()
{
    int sum,i;
    sum=0;
    for (i=1; i <= 100; i++)
    {
        sum=i+sum;
    }
    printf("%d %d",sum,i);
    return 0;
}

3、do-while循环

while与do-while的不同

while与do-while的不同
while与do-while的不同
代码语言:javascript
复制
do{
    循环行为1
    循环行为2
    循环行为3
}while(循环条件);

三、流程控制

1、break语句

1.break在switch语句中的使用
  • break用于switch中时,可使程序跳出switch,如果没有break语句,则会继续执行下一个case逻辑 中的语句(不论case后面的表示式结果与switch后的表达式结果是否相等),直到遇到break才 会跳出switch
代码语言:javascript
复制
switch(x)
{
 case 1:printf("1\n");break;
 case 2:printf("2\n");
 case 3:printf("3\n");break;
 case 4:printf("4\n");break;
}
# 上面的例子中因为case 2 逻辑后没有break,所以当x为2时,输出结果为 2 3

2、break在循环语句中的使用

  • 当break语句用于do-while、for、while循环语句中时,可使程序终止循环而执行循环后面的语 句,通常break语句总是与if语句联在一起。即满足条件时便跳出循环。
代码语言:javascript
复制
int m, n;
for (m = 0; m < 10; m++)
{
 for (n = 0; n < 10; n++)
 {
 if (n == 3)
 break;
 printf("%d\n", n);
 }
}

3、contiune语句

break语句有两种用法:

一种是与switch语句配套使用,用来中断某个分支的执行。 另一种用法是在循环体内部跳出循环,不再进行后面的循环了。

continue语句的作用是:

跳过本次循环,直接开始下一轮循环

1.while循环中使用contiune
代码语言:javascript
复制
#include<stdio.h>
int main()
{
   int i=0;
   while (i<20)
   {
       if (i==6)
       {
           i=15;
           continue;
       }
       printf("%d ", i);
       i++;
   }  
}
2.for分支语句中使用contiune
代码语言:javascript
复制
#include <stdio.h>
int main()
{
    int i = 0;
    for(i=0;i<20;i++)
{
        if (i == 6)
        i=15;
        continue;
    printf("%d",i);
}
    return 0;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023/05/17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、选择结构
    • 1、if语句
      • 1.if语句的三种形式:
      • 2.if嵌套语句
    • 2、条件运算符
      • 3、switch语句
      • 二、循环结构
        • 1、while循环
          • 2、for循环
            • 3、do-while循环
            • 三、流程控制
              • 1、break语句
                • 1.break在switch语句中的使用
              • 2、break在循环语句中的使用
                • 3、contiune语句
                  • 1.while循环中使用contiune
                  • 2.for分支语句中使用contiune
              相关产品与服务
              腾讯云服务器利旧
              云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档