当前位置: 首页 > news >正文

C语言从头学12——流程控制(一)

       C语言程序的执行顺序是从前到后依次序执行的。如果想要控制程序执行的流程,就必须使用
流程控制的语法结构,分为条件执行和循环执行。
1、if语句
        if 语句在前面的举例中曾经出现过,这里做详细介绍。该语句用于条件判断,满足条件时,就执行指定的语句。
        格式一、 if (条件表达式) 要执行语句 //含义:如果"条件表达式 "为"真" 则执行 "要执行的语句",否则就跳过去。例如:

if(x==5) printf("x的值是5"); //运行结果:只有当x等于5时,才显示"x的值是5"

       如果 "要执行的语句" 有两条及以上,就需要把 "要执行的语句" 用大括号括起来,一般另起一行更清楚。格式如下:
            if ( 条件表达式 )
            {
               语句1;
               ......
               语句n;//要执行语句后边必须有分号";"
            } //大括号后边不用加分号(";")
     实际上,即使只有一条要执行的语句加上大括号后在逻辑上也显得更清楚。
     格式二、if (条件表达式)
            {
               语句1;
               .....
               语句n;
            } else //这里有一个else,在其后执行"条件表达式"为"假"的语句
            {
               语句1;
               .....
               语句n;
            }
   另外,else 后边还可以与另if语句连用,形成嵌套结构,格式如下:
    if (条件表达式1)
      {语句或语句块1;}
         else if (条件表达式2)
           {语句或语句块2;}
            ......
          else if(条件表达式n-1)
            {语句或语句块n-1;}
            else
               {语句或语句块n;} //收底语句
      顺带说一句,编辑代码时,根据执行的层次进行适当缩进,可以在看代码时逻辑更清楚。
      据说多层嵌套的if...else...if结构不是好的结构形式,容易出错,尽量不用。
2、三目运算符 "?  :"
     三目运算符可以看做是if...else结构的简写。
     格式:(条件表达式) ? (表达式1或值1) : (表达式2或值2) // 括号非必须 
     条件表达式为真返 (表达式1或值1),否则 (返回表达式2或值2)
 3、switch语句
     switch语句可以说是if...else语句的变种,用于判断有多个结果的情况。看起来比if...else
 语句更清楚。格式如下:
     switch(有返回值的表达式或变量)
     {
          case 返回值1: 语句1
                    break; //为了执行完相应语句后跳出switch结构,在下一case语句前
                           //加一个break以结束switch
         case 返回值n: 语句n
                    break;
         .......
         default: 兜底语句; //兜底语句后不用加break,后边没有要执行的语句了
    }
  switch 这种结构,多用于编写菜单代码。
 4、用上面介绍的流程控制语句编写一个小程序,用以加深对流程控制的理解。

#include<stdio.h>
int main(void)
{
//1、if语句的使用int a = 100;if (a > 50) printf("a的值大于50\n"); //条件后只有一个语句时可省去{}if (a == 100) //if..else...结构{printf("a的值等于100\n"); //条件成立执行此语句}else{printf("a的值不等于100\n"); //条件不成立执行此语句}
//2、三目运算符的使用int x = 1;a=500;int y;y = (x == 1) ? a : 50; //条件成立返回500,不成立返回50printf("y的值是%i\n", y);
//3、swich语句的使用int choice = 4;switch (choice){case 0: printf("choice的值是0\n");case 1: printf("choice的值是1\n");case 2: printf("choice的值是2\n");default:printf("choice的值不是1、2、3\n");}getchar();return 0;
}
//运行结果:
/*
a的值大于50
a的值等于100
y的值是500
choice的值不是1、2、3
*/

http://www.lryc.cn/news/355620.html

相关文章:

  • 10大领域应该怎么记?
  • 通过Ubuntu虚拟机+Linux移植LVGL并通过linux Frame buffer显示
  • M功能-支付平台(三)
  • 5G工厂长啥样
  • 使用Python操作Jenkins
  • 网络协议测试仪设计方案:474-便携式手提万兆网络协议测试仪
  • 使用numpy手写一个神经网络
  • 使用Spring AOP实现接口参数变更前后对比和日志记录
  • 免费无限换脸,火了,图片/视频/直播都行!
  • 无线领夹麦克风哪个品牌好?本期文章揭秘无线麦克风哪个品牌好用
  • 操作系统实验--终极逃课方法
  • C语言实现正弦信号扫频
  • 实用篇| huggingface网络不通
  • NLP与训练模型-GPT-3:探索人工智能语言生成的新纪元
  • iOS内购欺诈漏洞
  • 【网络服务】正向代理和反向代理到底是什么意思
  • 【算法】记忆化搜索
  • 博客系统多模块开发
  • pdf阅读器哪个好用?五款PDF阅读器大比拼
  • C#实现Queue的加锁和解锁
  • 北京邮电大学人工智能考数据结构,均分370!北京邮电大学计算机考研考情分析!
  • 1. lambda初体验
  • C#之显示转换
  • 汇编原理(三)编程
  • [MySQL数据库] Java的JDBC编程(MySQL数据库基础操作完结)
  • 绿色瓶装水“暗战”竞争越发激烈,华润饮料谋上市同时多地扩产能
  • C语言之指针详解(4)
  • 0基础学习小红书博主IP特训营,37天 教你从小白到KOL(13节)
  • 【openlayers系统学习】3.1-3.2彩色GeoTIFF图像渲染
  • 前端自动将 HTTP 请求升级为 HTTPS 请求