C语言 第二章 (2)

embedded/2025/3/1 6:04:27/

目录

 流程控制结构

顺序结构

分支结构

if _ else语句

单分支

双分支

多分支

实例

switch _case语句

实例


 流程控制结构


定义 流程控制结构是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块。
 
程序设计中规定的三种流程结构,即:
 
顺序结构
  程序从上到下逐行地执行,中间没有任何判断和跳转。
 分支结构
  根据条件,选择性地执行某段代码。
  有if…else和switch-case两种分支语句。
 循环结构
  根据循环条件,重复性的执行某段代码。
   有for、while、do-while三种循环语句。

顺序结构


int main() {
int x = 1;
int y = 2;
printf("x = %d\n", x);
printf("y = %d\n", y);
//对x、y的值进行修改
x++;
printf("x = %d\n", x);
printf("y = %d\n", y);
return 0;
}

c语言中定义变量时采用合法的前向引用。如:

int main() {
int num1 = 12;
int num2 = num1 + 2;return 0;
}

分支结构


if _ else语句


单分支

  • if(条件表达式){ }

int main() {
//单分支
/* int heartBeats = 50;//心率
if(heartBeats<60 || heartBeats>100){
printf("心率不正常,请再次体检\n");
}
printf("体检结束");*/
}

双分支

  • if(条件表达式){

}else if(条件表达式){ }...

举例:

定义一个整数,判定是偶数还是奇数

int main() {
int a = 10;if (a % 2 == 0) {
printf("%d是偶数\n", a);
} else {
printf("%d是奇数\n", a);
}return 0;
}

多分支

  • if(条件表达式){

     }else if(条件表达式){

     }...else{

     }(若不写{}只控制挨着的一行)

多重分支结构的执行流程
 

  • 先判断关系表达式1,结果非0为真,0为假。 
  • 若为真,执行语句块1后结束当前多分支。
  • 若为假,继续判断条件表达式2 。 
  • 若条件表达式2为真,执行语句块2后结束当前多分支。
  • 若为假,继续判断后续条件表达式。
  • ...n. 若所有关系表达式都为假,执行语句块n + 1后结束当前多分支。

实例

//一周吃什么 一年有四季 12月
int day = 3; //星期几
if(day==1){
printf("吃米饭");
}else if(day==2){
printf("吃面");
}else if(day==3){
printf("吃饺子");
}else if(day==4){
printf("吃麻辣烫");
}else{
printf("您的输入有误");
}

switch _case语句


表达式值可以是

byte、short、int、char、String、枚举

基本语法
       switch语句用于判断条件有多个常量结果的情况。它把多重的else if改成更易用、可读性更好的形式。


形式:
switch(表达式){
case 常量值1:
语句块1;
//break;
case 常量值2:
语句块2;
//break;

........
case 常量值n:
语句块n;
//break;
[default:
语句块n+1;
]
}

实例

//一周吃什么
int day = 2;
switch(day) {
case 1 :
printf( format: "周一吃米饭");
break;
case 2 :
printf( format: "周二吃面条");
break;
case 3 :
printf( format: "周三吃饺子");
break;
default:
printf( format: "输入有误");
}


http://www.ppmy.cn/embedded/168981.html

相关文章

PLC(电力载波通信)网络机制介绍

1. 概述 1.1 什么是PLC 电力载波通讯即PLC&#xff0c;是英文Power line Carrier的简称。 电力载波是电力系统特有的通信方式&#xff0c;电力载波通讯是指利用现有电力线&#xff0c;通过载波方式将模拟或数字信号进行高速传输的技术。最大特点是不需要重新架设网络&#xf…

【HTML】SVG标签的使用方式

SVG&#xff08;Scalable Vector Graphics&#xff09;是一种基于 XML 的矢量图形格式&#xff0c;广泛用于网页和应用程序中。以下是 SVG 标签的详细使用教程&#xff0c;涵盖基本形状、路径、文本、渐变、动画等内容。 1. SVG 基础结构 SVG 图形需要放在 <svg> 标签中…

Google sheet 复制excel内容自动合并单元格问题

解决路径&#xff1a;file-import-upload 这样上传本地的excel源文件&#xff0c;就没有这个问题了

全价值链数字化转型:以美的集团为例,探索开源AI大模型与S2B2C商城小程序源码的融合应用

摘要&#xff1a;在数字经济时代背景下&#xff0c;企业面临着前所未有的竞争压力与市场变革。全价值链的数字化转型&#xff0c;作为提升企业核心竞争力的关键策略&#xff0c;正逐步成为行业共识。美的集团&#xff0c;作为家电行业的领军企业&#xff0c;其基于数字化的全价…

HTML转义和反转义工具类

HTML转义和反转义工具类 package com.common.utils;import cn.hutool.http.HTMLFilter; import org.apache.commons.lang3.StringUtils;/*** 转义和反转义工具类** author lxx*/ public class EscapeUtil {public static final String RE_HTML_MARK "(<[^<]*?>…

给虚拟机配置IP

虚拟机IP这里一共有三个地方要设置&#xff0c;具体说明如下&#xff1a; &#xff08;1&#xff09;配置vm虚拟机网段 如果不进行设置&#xff0c;每次启动机器时都可能是随机的IP&#xff0c;不方便我们后续操作。具体操作是&#xff1a;点击编辑→虚拟网络编辑器 选择VMne…

nginx 动态计算拦截非法访问ip

需求&#xff1a;在Nginx上实现一个动态拦截IP的方法&#xff0c;具体是当某个IP在1分钟内访问超过60次时&#xff0c;将其加入Redis并拦截&#xff0c;拦截时间默认1天。 技术选型&#xff1a;使用NginxLuaRedis的方法。这种方案通过Lua脚本在Nginx处理请求时检查Redis中的黑…

Linux:Linux下基本指令(下)

Linux下基本指令(下) 三.Linux下基本指令 01. ls 指令 (罗列当前路径下的文件名) 语法&#xff1a; ls [选项][目录或文件] 功能&#xff1a;对于目录&#xff0c;该命令列出该目录下的所有子目录与文件。对于文件&#xff0c;将列出文件名以及其他信息。 常用选项&#x…