条件语句与循环结构

news2024/11/25 16:40:44

引言

条件语句和循环结构是C语言中构建程序逻辑的基本工具。它们允许程序根据条件执行不同的代码块和重复执行某些操作。本篇文章将详细介绍C语言中的条件语句和循环结构,包括if、else、switch语句,以及for、while、do-while循环的使用,帮助读者全面理解条件控制和循环的相关知识。

一、条件语句概述

条件语句用于根据程序运行时的条件执行不同的代码块,主要包括if语句和switch语句。

1. if语句

if语句根据条件的真假来决定是否执行相关代码块。在C语言中,if语句的一般形式如下:

if (条件) {
    // 当条件为真时执行
}

示例代码:

#include <stdio.h>

int main() {
    int x = 10;
    if (x > 0) {
        printf("x is positive\n");
    }
    return 0;
}

2. if-else 语句

if-else语句允许在条件为假时执行另一代码块。其一般形式如下:

if (条件) {
    // 当条件为真时执行
} else {
    // 当条件为假时执行
}

示例代码:

#include <stdio.h>

int main() {
    int x = -5;
    if (x > 0) {
        printf("x is positive\n");
    } else {
        printf("x is not positive\n");
    }
    return 0;
}

3. if-else if-else 语句

当有多个条件需要判断时,可以使用if-else if-else结构。其一般形式如下:

if (条件1) {
    // 当条件1为真时执行
} else if (条件2) {
    // 当条件1为假,条件2为真时执行
} else {
    // 当上述所有条件都为假时执行
}

示例代码:

#include <stdio.h>

int main() {
    int x = 0;
    if (x > 0) {
        printf("x is positive\n");
    } else if (x < 0) {
        printf("x is negative\n");
    } else {
        printf("x is zero\n");
    }
    return 0;
}

4. switch语句

switch语句用于根据一个变量的值执行不同的代码块。其一般形式如下:

switch (变量) {
    case 值1:
        // 当变量的值为值1时执行
        break;
    case 值2:
        // 当变量的值为值2时执行
        break;
    // 其他case
    default:
        // 当变量的值不匹配任何case时执行
}

示例代码:

#include <stdio.h>

int main() {
    int day = 3;
    switch (day) {
        case 1:
            printf("Monday\n");
            break;
        case 2:
            printf("Tuesday\n");
            break;
        case 3:
            printf("Wednesday\n");
            break;
        default:
            printf("Another day\n");
            break;
    }
    return 0;
}

二、循环结构概述

循环结构用于重复执行某些操作,直到符合特定条件。主要包括for循环、while循环和do-while循环。

1. for循环

for循环用于执行已知次数的循环操作。其一般形式如下:

for (初始化; 条件; 更新) {
    // 循环体
}

示例代码:

#include <stdio.h>

int main() {
    for (int i = 0; i < 5; i++) {
        printf("i = %d\n", i);
    }
    return 0;
}

2. while循环

while循环用于在条件成立的情况下重复执行操作。其一般形式如下:

while (条件) {
    // 循环体
}

示例代码:

#include <stdio.h>

int main() {
    int i = 0;
    while (i < 5) {
        printf("i = %d\n", i);
        i++;
    }
    return 0;
}

3. do-while循环

do-while循环类似于while循环,但它是在循环体执行后才判断条件。其一般形式如下:

do {
    // 循环体
} while (条件);

示例代码:

#include <stdio.h>

int main() {
    int i = 0;
    do {
        printf("i = %d\n", i);
        i++;
    } while (i < 5);
    return 0;
}

三、break和continue语句

在循环结构中,break语句用于立即退出循环,而continue语句用于终止当前迭代,并立即开始下一次迭代。

break语句示例:

#include <stdio.h>

int main() {
    for (int i = 0; i < 10; i++) {
        if (i == 5) {
            break; // 跳出循环
        }
        printf("i = %d\n", i);
    }
    return 0;
}

continue语句示例:

#include <stdio.h>

int main() {
    for (int i = 0; i < 10; i++) {
        if (i == 5) {
            continue; // 跳过当前迭代
        }
        printf("i = %d\n", i);
    }
    return 0;
}

表格总结

条件语句

语句语法描述
if语句if (条件) { ... }根据条件执行代码块
if-else语句if (条件) { ... } else { ... }根据条件选择执行不同代码块
if-else if-else语句if (条件1) { ... } else if (条件2) { ... } else { ... }检查多个条件并执行相应代码块
switch语句switch (变量) { case 值: ... break; ... default: ... }通过变量值执行相应代码块

循环结构

语句语法描述
for循环for (初始化; 条件; 更新) { ... }执行已知次数的循环
while循环while (条件) { ... }在条件为真时重复执行
do-while循环do { ... } while (条件);先执行循环体,然后检查条件

控制语句

语句语法描述
breakbreak;立即退出循环或switch语句
continuecontinue;跳过当前迭代,继续下一次循环

总结

条件语句和循环结构是编写C语言程序的基础工具。通过理解和掌握if、else、switch语句,以及for、while、do-while循环,程序员可以实现复杂的控制逻辑和有条件的循环操作。掌握这些基础知识,对于编写高效、健壮的C语言代码至关重要。希望通过本篇文章,读者能够全面理解C语言中的条件语句和循环结构,为后续的编程学习打下坚实的基础。

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

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

相关文章

【猫狗分类】Pytorch VGG16 实现猫狗分类1-数据清洗+制作标签文件

Pytorch 猫狗分类 用Pytorch框架&#xff0c;实现分类问题&#xff0c;好像是学习了一些基础知识后的一个小项目阶段&#xff0c;通过这个分类问题&#xff0c;可以知道整个pytorch的工作流程是什么&#xff0c;会了一个分类&#xff0c;那就可以解决其他的分类问题&#xff0…

JWT令牌、过滤器Filter、拦截器Interceptor

目录 JWT令牌 简介 JWT生成 解析JWT 登陆后下发令牌 过滤器(Filter) Filter快速入门 Filter拦截路径 过滤器链 登录校验Filter-流程 拦截器(Interceptor) Interceptor 快速入门 拦截路径 登录校验流程 JWT令牌 简介 全称:JSON Web Token(https://iwt.io/) …

可信计算和数字水印技术

可信计算 可信计算可信计算基础概述可信计算关键技术要素可信性认证可信计算优劣 数字水印技术数字版权保护技术 可信计算 可信计算基础概述 可信计算&#xff08;Trusted Computing&#xff0c;TC&#xff09;&#xff1a;在计算和网络通信系统中广泛使用的、基于硬件安全模块…

驱动开发(五):Linux内核定时器

驱动开发系列文章&#xff1a; 驱动开发&#xff08;一&#xff09;&#xff1a;驱动代码的基本框架 驱动开发&#xff08;二&#xff09;&#xff1a;创建字符设备驱动 驱动开发&#xff08;三&#xff09;&#xff1a;内核层控制硬件层 驱动开发&#xff08;四&#xff…

LabVIEW盾构机状态监测

随着城市化的加速&#xff0c;地铁成为了城市交通的重要组成部分。为了保障地铁施工安全和效率&#xff0c;提出了一种基于LabVIEW的地铁施工盾构异常状态监测方法。该方法利用LabVIEW软件进行数据采集和处理&#xff0c;通过异常监测技术实时监控盾构机的运行状态&#xff0c;…

【纯干货级教程】深度学习根据loss曲线进行分析调参

相信很多刚刚接触目标检测系列算法小伙伴跑深度学习算法时会有许多困惑&#xff0c;比如训练得出的loss曲线有什么意义&#xff1f;训练的一些参数要如何设置选择&#xff1f;选择哪个算法模型作为baseline、选择哪个参数量/复杂度/深度的模型进行训练最为合适&#xff1f; 本…

Apache IoTDB进行IoT相关开发实践

当今社会&#xff0c;物联网技术的发展带来了许多繁琐的挑战&#xff0c;尤其是在数据库管理系统领域&#xff0c;比如实时整合海量数据、处理流中的事件以及处理数据的安全性。例如&#xff0c;应用于智能城市的基于物联网的交通传感器可以实时生成大量的交通数据。据估计&…

15. 第十五章 类和对象

15. 类和对象 到现在你已经知道如何使用函数组织代码, 以及如何使用内置类型来组织数据. 下一步将学习面向对象编程, 面向对象编程使用自定义的类型同时组织代码和数据. 面向对象编程是一个很大的话题, 需要好几章来讨论.本章的代码示例可以从↓下载, https://github.com/Alle…

Linux 并发与竞争实验学习

Linux 并发与竞争实验学习 原子操作实验 这里原子操作就是采用原子变量来保护一个程序运行的完整过程&#xff0c;使用atomic 来实现一次只能允许一个应用访问 LED&#xff0c;创建atomic.c文件&#xff0c;其实改动内容就是添加原子变量&#xff0c; 要在设备结构体数据添加…

MEMS:Lecture 19 Wafer bonding package

讲义 Current MEMS Packages Die Level (芯片级) 封装 图片描述&#xff1a;左侧的图显示了Cronos继电器的芯片级封装。这种封装方式是在晶圆切割后&#xff0c;将独立的MEMS芯片组装到单独的陶瓷封装中。特点&#xff1a; Die level release and ceramic package&#xff1a…

数据库管理-第204期 数据库的IO掉速,也许是SSD的锅(20240615)

数据库管理204期 2024-06-15 数据库管理-第204期 数据库的IO掉速&#xff0c;也许是SSD的锅&#xff08;20240615&#xff09;1 SSD物理结构2 SSD颗粒类型3 DRAM & SLC Cache3.1 DRAM3.2 SLC Cache3.3 其他方式 4 缓外降速总结 数据库管理-第204期 数据库的IO掉速&#xff…

C++ Windows下Glog日志库安装使用教程

🙋 介绍:glog是google推出的一款轻量级c++开源日志框架。  环境配置:windows+VS2015+gflags 2.2.2+glog-0.3.5。为避免新版本(glog V0.7.1)踏坑,建议装低版本,这里我选用的是V0.3.5。 1. 下载 在gflags官方中下载gflags代码,官方地址 在Glog官方中下载,githut地址:…

探索开源世界:2024年值得关注的热门开源项目推荐

文章目录 每日一句正能量前言GitCode成立背景如何使用GitCode如何把你现有的项目迁移至 GitCode&#xff1f;热门开源项目推荐actions-poetry - 管理 Python 依赖项的 GitLab CI/CD 工具项目概述技术分析应用场景特点项目地址 Spider - 网络爬虫框架项目简介技术分析应用场景项…

【Mac】Luminar Neo for mac(图像编辑软件)软件介绍及同类型软件比较

Luminar Neo软件介绍 Luminar Neo 是一款由 Skylum 开发的功能强大的照片编辑软件&#xff0c;专为摄影师和摄影爱好者设计。它适用于 Mac 和 Windows 平台&#xff0c;提供了一系列先进的编辑工具和功能&#xff0c;使用户能够轻松提升和优化他们的照片。以下是 Luminar Neo …

C#开发-集合使用和技巧(四)集合中常用的查询方法

集合中常用的查询方法 测试数据准备&#xff1a;查询方法详解**Where**条件查询定义和注释&#xff1a;功能详细说明&#xff1a;应用实例查找所有设备类型为“生产设备”的对象 结果测试&#xff1a;查询所有测试结果大于90的设备多条件查询&#xff1a;类型为生产设备同时测试…

2023年的Top20 AI应用在近一年表现怎么样?

AI应用现在进入寒武纪大爆发时代&#xff0c;百花争艳。如果倒回到2023年初&#xff0c;那时候排名靠前的AI应用在一年多时间&#xff0c;发生了哪些变化&#xff1f;能带给我们什么启示&#xff1f; 在2023年1月&#xff0c;排名靠前20的AI应用是&#xff1a; DeepL&#xff…

datax图形化界面datax-web安装及使用

环境准备&#xff1a;需要先安装git和maven git安装可参考git的安装-CSDN博客 maven只需解压安装包&#xff0c;配置环境变量即可使用 1 源代码下载 直接从Git上面获得datax-web源代码 git clone https://gitee.com/WeiYe-Jing/datax-web.git 2 打包项目 进入项目源码根…

Spring底层架构核心概念解析

BeanDefinition BeanDefinition表示Bean定义,BeanDefinition中存在很多属性用来描述一个Bean的特点.比如: beanClass:表示Bean类型scope:表示Bean作用域,单例/原型等lazyInit:表示Bean是否懒加载initMethodName:表示Bean初始化时要执行的方法destoryMethodName:表示Bean销毁时…

用于每个平台的最佳WordPress LMS主题

你已选择在 WordPress 上构建学习管理系统 (LMS)了。恭喜&#xff01; 你甚至可能已经选择了要使用的 LMS 插件&#xff0c;这已经是成功的一半了。 现在是时候弄清楚哪个 WordPress LMS 主题要与你的插件配对。 我将解释 LMS 主题和插件之间的区别&#xff0c;以便你了解要…

Unity中实现ScrollRect 滚动定位到视口内

Demo链接: https://download.csdn.net/download/qq_41973169/89439428https://download.csdn.net/download/qq_41973169/89439428 一、前言 Unity版本:2020.1.x 如果需要资源请联系我我会分享给你 因为本人也要存储一下Demo所以上传到这里了但是又不能设置不需要积分 在Un…