c语言------------------分支结构

#语句

##  空语句

        c语言中最简单的语句就是空语句,其本身只包含一个分号。空语句本身不执行任何任务,但是有时也是有用的

##   表达式语句

        c语言中的语句本质上就是程序员的某些操作意图的体现。C语言中的单句是以分号结尾,

如:

        a=10;

 复合语句:
         { } 语句块,代码块。代码块是指位于一对花括号之内的可选的声明和语句列表。其语法非常简单:

        {

                //c语言语句

        }

        代码块允许只出现一条语句的地方使用过多条语句

   ps: c语言主体是由函数组成,函数内部都是由c语言语句构成。

# c程序设计结构

        c程序设计结构有:顺序结构,分支结构(if),循环结构 (for).

## 分支结构

### i f 语句

        多用在需要进行条件选择的时侯,if语句有三种基本形式:

1、if的使用方法

    if(条件表达式)

        语句表达式

    如果条件满足或者成立,则执行语句

        条件表达式:

            所有合法的C表达式都可以,因为只要合法的表达式,它就一定会有一个值!

                条件成立的时候,

    表达式的值 非0

                条件不成立的时候

                    表达式的值 0

        语句表达式:

            单语句:只有一个;的语句

            复合语句:

                {},if / switch / for / do while / while

2、if 语句当中嵌套

”条件里面再分条件“ ---- 在if语句中又包含了一个或者多个if语句,我们称之为if的嵌套

eg:

    if(xxxx)

    {

        if(xxxx)

        {

    }

        else

        {

    }

    }

    else

    {

    }

    if()

    {

    }

    else

    {

    }

  最关键的点:

        else 匹配问题

        else 总是和它上面的,最近的,同级的,未匹配的if语句相匹配

    if()

    {

        if()

            xxx

        else

            xxx

    }

    else

        if

            xxx

    if

        xxxx

    else

        xxxx

### switch语句

switch 是用来列举所有的情况

    语法形式:

        swtich(表达式)

        {

            case 常量表达式1:

                语句1;

            case 常量表达式2:

                语句2;

    .......

            default:

    语句n;

        }

    switch 是用来列举 表达式的所有值的情况

switch 语句:让 ”表达式“ 和 case 后面的 常量表达式 作匹配 。 一旦匹配成功(值相等),则从那个case后面开始执行,

    直到遇到break或者switch结束,假设所有的case都没有匹配成功,则匹配default;

    关于swtich:
        (1)、switch 后面的”表达式“必须是一个可以列举的值,表达式的类型必须是一个整数值:整型,枚举,字符型
        (2)、switch 后面的“常量表达式”也必须是一个可以列举的值,而且是一个常量,并且每个case后面的常量表达式的值必须不同
        (3)、各个的case 和 default 出现的次序都不影响匹配结果,一旦匹配成功之后,就要从此往下执行。

eg:

    switch(a)

    {

        default :   //default 永远是一个备胎,当所有的匹配结果都不符合的时候,才会去匹配default

                    //匹配的情况更default的次序无关

                语句0;

        case 1:

            语句1;

    case 2:

            语句2;

    }

    (4)、"语句"是可以省略的,意思就是多个case可以公用一组语句,如:

        eg:

            switch(a)

            {

                case 1:

                case 2:

                    语句1;

                case 3:

                case 4:

                    语句2;

                default

                    .....

            }

        (5)、switch 中 break 是用来跳出所谓的switch语句  如:

            eg:

            switch(a)

            {

                case 1:

                case 2:

                    语句1;

                case 3:

                case 4:

                    语句2;

                    break;

                default:

                    .....

            }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/41794.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

日期选取限制日期范围antdesign vue

限制选取的日期范围 效果图 <a-date-pickerv-model"dateTime"format"YYYY-MM-DD":disabled-date"disabledDate"valueFormat"YYYY-MM-DD"placeholder"请选择日期"allowClear />methods:{//回放日期选取范围限制&…

网安小贴士(4)哈希函数

一、前言 哈希函数是密码学中的基础工具&#xff0c;哈希函数在密码学中扮演着至关重要的角色&#xff0c;广泛应用于确保数据的安全性和完整性。随着技术的发展&#xff0c;新的哈希算法和应用场景也在不断出现。 二、定义 哈希函数是一种数学函数&#xff0c;它接受一个输…

Intellj idea无法启动

个人电脑上安装的是2024.01版本的intellj idea作为开发工具&#xff0c;引入了javaagent作为工具包 但是在一次invaliad cache操作后&#xff0c;intellj idea就无法启动了&#xff0c;双击无响应。 重装了idea后也无效&#xff08;这个是有原因的&#xff0c;下面会讲&#…

C#——类及其方法和属性成员关键字权限

类及其方法和属性关键字权限 1.关键字static&#xff08;静态的&#xff09; 它可以修饰类、方法、属性、字段 静态类&#xff1a;不能实例化&#xff0c;直接调用&#xff0c;它的内部成员必须是静态的&#xff0c;不能包含实例构造函数&#xff0c;调用方式是&#xff08;…

springboot服务启动读取不到application.yml中的nacos.config信息

我的版本&#xff1a; 可以添加bootstrap.yml文件&#xff0c;在里面添加nacos.config的配置信息 也可以添加VM参数 -Dspring.cloud.nacos.discovery.server-addr -Dspring.cloud.nacos.config.server-addr -Dspring.cloud.nacos.config.namespace -Dspring.cloud.nacos.discov…

Apache tika 实现各种文档内容解析

Apache tika 实现各种文档内容解析 1、依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation=&…

代码随想录——划分字母区间(Leetcode763)

题目链接 贪心 class Solution {public List<Integer> partitionLabels(String s) {int[] count new int[27];Arrays.fill(count,0);// 统计元素最后一次出现的位置for(int i 0; i < s.length(); i){count[s.charAt(i) - a] i;}List<Integer> res new Ar…

【基于R语言群体遗传学】-4-统计建模与算法(statistical tests and algorithm)

之前的三篇博客&#xff0c;我们对于哈代温伯格遗传比例有了一个全面的认识&#xff0c;没有看的朋友可以先看一下前面的博客&#xff1a; 群体遗传学_tRNA做科研的博客-CSDN博客 1.一些新名词 &#xff08;1&#xff09;Algorithm: A series of operations executed in a s…

QDataStream 详解

QDataStream是Qt框架中的一个重要类&#xff0c;它提供了方便的方式来读取和写入二进制数据流。以下是对QDataStream的详细解释&#xff1a; 一、基本概念 QDataStream&#xff1a;是Qt中用于序列化和反序列化数据的类。它可以将复杂的数据类型以二进制形式写入到文件、套接字…

【MySQL】锁(黑马课程)

【MySQL】锁 0. 锁的考察点1. 概述1. 锁的分类1.1 属性分类1.2 粒度分类 2. 全局锁2.1 全局锁操作2.2.1 备份问题 3. 表级锁3.1 附录 0. 锁的考察点 1. 概述 锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中&#xff0c;除传统的计算资源(CPU、RAM、I/O)的争…

MatLab三维图形绘制基础

三维图形绘制 三维曲线 plot3 螺旋图绘制 % %三维图像:螺旋图绘制 clear; clc; t [0:0.1:10*pi];% 向量 x sin(t) t.*cos(t);%t是向量&#xff0c;用点乘 y cos(t) - t.*sin(t); z t; plot3(x,y,z); grid on;plot3 绘制同型矩阵 %% % plot3绘制同型矩阵 t [0:0.1:10*…

OceanBase v4.2 特性解析:对Json与Xml的扩展支持

1. 背景 OceanBase的Oracle模式当前已实现对XMLType类型的支持&#xff0c;不仅包含了基本的构造、查询、更新以及格式转换功能&#xff0c;还支持使用Xpath查询从XML数据中提取特定值。在V 4.2.2 版本中&#xff0c;我们进一步扩展了Oracle模式下对XMLType的支持&#xff0c;…

Python统计实战:时间序列分析之二阶曲线预测和三阶曲线预测

为了解决特定问题而进行的学习是提高效率的最佳途径。这种方法能够使我们专注于最相关的知识和技能&#xff0c;从而更快地掌握解决问题所需的能力。 &#xff08;以下练习题来源于《统计学—基于Python》。请在Q群455547227下载原始数据。&#xff09; 练习题 下表是某只股票…

每周算法:无向图的双连通分量

题目链接 冗余路径, Redundant Paths G 题目描述 为了从 F F F 个草场中的一个走到另一个&#xff0c;奶牛们有时不得不路过一些她们讨厌的可怕的树。 奶牛们已经厌倦了被迫走某一条路&#xff0c;所以她们想建一些新路&#xff0c;使每一对草场之间都会至少有两条相互分离…

Matplotlib 中文显示

Matplotlib 中文显示 Matplotlib 是一个强大的 Python 绘图库&#xff0c;广泛应用于数据可视化领域。然而&#xff0c;对于中文用户来说&#xff0c;Matplotlib 的默认设置可能不支持中文显示&#xff0c;这给使用带来了一定的不便。本文将详细介绍如何在 Matplotlib 中正确显…

Isaac Sim 利用Python实现虚拟现实仿真,并输出语义数据全流程

没写完呢&#xff1a;( 拽走开会去了 在 Isaac Sim 中&#xff0c;使用 Python 实现虚拟现实的仿真&#xff0c;并输出语义分割等数据&#xff0c;可以应用于ai模型训练等场景。注&#xff1a;我打算将传感器发布Ros话题的部分放到小车中。控制一个物体&#xff0c;对这个物体…

vue3 + 百度地图 实现多坐标生成轨迹的两种种方式

本次依然是关于百度地图中常见的一个问题&#xff0c;此次共使用了两种方式并做了一些分析及处理&#xff0c;希望有所帮助。如有问题可以评论或私信。 一、便捷方式 优点&#xff1a;便捷&#xff0c;所用的api方法是根据坐标进行计算后绘制路线&#xff0c;所以路线相对准确…

马尔可夫决策过程

马尔可夫决策过程&#xff08;Markov Decision Process&#xff0c;MDP&#xff09;是一种数学框架&#xff0c;用于建模决策者在不确定环境中的序列决策问题。MDP 的核心思想是基于马尔可夫性质&#xff0c;即未来的状态只依赖于当前状态和所采取的行动&#xff0c;而与过去的…

面试题006-Java-JVM(下)

面试题006-Java-JVM(下) 目录 面试题006-Java-JVM(下)题目自测题目答案1. 为什么需要GC&#xff1f;2. 有哪些常见的GC&#xff1f;3. Minor GC 和 Full GC有什么区别&#xff1f;4. 如何判断一个对象是否死亡&#xff1f;5. 讲一下可达性分析算法的流程&#xff1f;6. 如何判断…

CentOS修复OpenSSH漏洞升级到openssh 9.7 RPM更新包

在做政府和学校单位网站时&#xff0c;经常需要服务器扫描检测&#xff0c;经常被OpenSSH Server远程代码执行漏洞&#xff08;CVE-2024-6387&#xff09;安全风险通告&#xff0c;出了报告需要升级OpenSSH。 使用yum update openssh是无法更新到最新的&#xff0c;因为系统里的…