首页 > 其他分享 >C语言流程控制

C语言流程控制

时间:2025-01-16 20:29:20浏览次数:3  
标签:语句 控制 运算 流程 C语言 case && 执行 表达式

程序的三种流程:顺序、选择(分支)、循环。

程序  :一定是这些循环的组合 

选择 : 选择 (有排他性)


一、关系运算符和关系表达式

(一)运算规则


运算结果 --- 反映关系是否成立 ---真 假      //在c语言中1 0表示

运算优先级

(二)关系表达式

二、逻辑运算 反映多个表达式之间的逻辑关系 

与“&&”    运算规则: 一假则假 


或 “||”运算规则:一真则真 


非 “!”   运算规则:真假相对

逻辑优先级:

 

1、!(x=a) && (y=b) && 0       ==>       ((!(x=a)) && (y=b)) && 0 

2、!(a+b)+c-1 && b+c/2        ==>       (((!(a+b))+c)-1) && (b+(c/2)) 

3、a||b+c && b-c                   ==>        a || ((b+c) && (b-c)) 

注意:截断(短路)特性

            即“与”和“或”运算  要求先算左边的式子 ,当左边足够判断时,为了节省运算,不对右边进行运算。

三、if 语句

(一)形式1 单分支

1、语法 


  if ( 表达式 )
  {
    语句
  } //复合语句 

2、语义


  如果 表达式 
  为真 
     执行 语句
     语句 执行结束 也表示if语句结束了      
  为假 
     表示if语句结束了 
     if语句结束了之后,程序继续往下  

3、应用

为了处理某个特定情况

4、流程图

(二)形式2 双分支 

1、语法 


  if ( 表达式 )
  {
    语句1 
  }else 
  {
    语句2 
  }

2、语义


  如果  表达式 
  
    则 执行 语句1 
  假 
    则 执行 语句2
    
  语句1 和 语句2 执行完,代表 if语句结束了,程序继续往下。

3、语法问题

注意分号

4、应用

如:从两个数中输出较大数。

5、流程图

(三)形式3 多分支 

1、语法

if (表达式1)
 {
    语句1
 }else if (表达式2)
 {
    语句2
 }else if (表达式3)
 {
    语句3
 }
 ...
 else 
 {
     语句n;
 }
 

2、语义


 如果 表达式1 
 为真 
     执行 语句1 
 为假 
     判断 表达式2 
     为真
         执行 语句2 
     为假 
         判断 表达式3 
         为真 
            执行 语句3 
         为假 
            判断 ... 表达式 n 
            
  对应 语句 执行完成 表示if语句结束,
  程序继续往下


3、注意:


   注意 不要加 分号 

4、举列应用

百分制 转 等级制

从键盘输入一个年份 
   判断是否为闰年

三、条件运算 “:”

1、语法

表达式1?表达式2:表达式3
 
 判断 表达式1 ?
 真 
    执行 表达式2 
 假 
    执行 表达式3

2、应用


用条件 运算 实现 找两个数中最大值 

四、swith语句

1、语法:


switch (表达式)    //表达式 必须是一个整型表达式 
{
    case 常量表达式1:  //case 后面的表达式 必须是一个 整型的常量表达式 不能有变量 
        语句1
        break;
    case 常量表达式2:
        语句2
        break;
    case 常量表达式n:
        语句n
        break;
    default :
        语句n+1
       break;        
}
 

2、语义:


   求解 表达式 ?
   用表达式的结果 
   匹配 case 后面的 常量表达式的值 ,
   如果 匹配成功(值是一样的)
     则执行 case 下面的
        语句 
   直到 遇到 break
   或者
   switch 语句的 } (右)
   则执行结束 
 

3、注意

 1.switch 也可以处理if-else 这种问题 
   2.switch 可以实现多种情况,对应同一种操作 
   3.case default 实际上只是语句的标签 
   4.default 不一定写在最后,如果写在了前面,后面一定要写break
 

4、应用

 switch 百分制 等级制

总结:
  if          // 表达式 通常是一个判断条件 
  switch      // 表达式 通常是要计算出一个数值 

标签:语句,控制,运算,流程,C语言,case,&&,执行,表达式
From: https://blog.csdn.net/2401_84382970/article/details/145166741

相关文章

  • 控制台cmd启动.py程序报错:"no module named **"
    1.异常现象:python项目路径:D:\pythonrun\processdatatablejob是processdata的子文件夹pycharm运行run.py正常,控制台cmd启动run.py程序报错:"nomodulenamedtablejob" 2.原因分析:未添加项目路径到PYTHONPATH 3.解决方案:#激活虚拟环境condaactiv......
  • HashMap 源码剖析 - put 流程
    HashMap源码剖析-put流程HashMap 是Java集合框架中的一个重要数据结构,用于存储键值对。它具有快速的查找、插入和删除性能。本文将深入剖析 HashMap 的 put 方法流程,帮助读者理解其内部实现原理。一、put 方法概述put 方法用于将指定的键值对插入到 HashMap 中,......
  • HashMap 源码剖析 - put 流程
    HashMap源码剖析-put流程HashMap 是Java集合框架中的一个重要数据结构,用于存储键值对。它具有快速的查找、插入和删除性能。本文将深入剖析 HashMap 的 put 方法流程,帮助读者理解其内部实现原理。一、put 方法概述put 方法用于将指定的键值对插入到 HashMap 中,......
  • C语言学习笔记:if语句讲解和月份的天数判断以及闰年判断示例
    if语句的格式是:if(关系运算或逻辑运算表达式){语句 }if后如果不加花括号{}则判定只和第一句语句相关:if(n==0)printf(“1”);printf(“2”);//这种写法,if判定与语句2无关 (n==0)是否为真语句2都会打印 为避免if的(关系语句)少打一个= 可以把常量放在左侧如:if(7==n){}当......
  • MyBatis核心流程
    目录数据处理的发展MyBatis概述​编辑 MyBatis核心流程观察测试类重要对象和流程SqlSessionFactory[初始化]创建SqlSession会话对象 创建XxxMapper[代理]对象执行SQL操作[复杂一丢丢] ​编辑数据处理的发展1.原生JDBC2.DBUtils工具类[jdbctemp..]......
  • 面向对象分析与设计Python版 控制器与多态原则
    文章目录一、控制器原则二、多态原则一、控制器原则控制器原则名称:控制器Controller应用场景:确定谁负责接收、处理和分发系统的输入事件。解决方案:系统输入事件处理的职责分给控制器对象一个控制器对象实现业务系统的所有输入事件处理和业务逻辑分发,这一类控制器......
  • C语言二级刷题---程序设计01
     请编写一个函数fun,它的功能是:根据以下公式求π的值(要求满足精度0.0005,即某项小于0.0005时停止迭代):程序运行后,如果输入精度0.0005,则程序输出为3.140578。#include<stdio.h>#include<math.h>doublefun(doubleeps){}main(){doublex;voidNONO();......
  • C语言格式输出方式
    C语言格式输出1.转换字符说明C语言格式输出方式2.常用的打印格式在C语言中,格式输出主要依靠printf函数来实现。以下是一些C语言格式输出的代码举例及相关说明:printf("%2d",123),因为输出的部分有三位数,但是要求的有两位,所以原样输出为:123;printf(“%5d”,123),由于输出的......
  • 课设毕设分享:基于单片机的风扇控制器设计 (AT89C52、Proteus、Keil)二、DHT11温湿度传感
    往期内容课设毕设分享:基于单片机的风扇控制器设计(AT89C52、Proteus、Keil)一、初期准备+单片机最小系统(时钟电路、复位电路)手把手教学如何做一份高分课设文章目录往期内容前言一、课设要求1.基本要求2.方案设定首先进行前期准备工作配置环境绘制思维导图功能要求分析大......
  • 基于C语言实现UDP服务器
    UDP(UserDatagramProtocol,用户数据报协议)是一种无连接的传输层协议,适用于对实时性有较高要求的应用场景,如视频流传输、语音通信、在线游戏等。与TCP不同,UDP不保证数据的可靠性和顺序性,但其传输速度较快。本文将介绍如何使用C语言编写一个简单的UDP服务器程序,以及如何接收和处理......