条件语句与循环结构

引言

条件语句和循环结构是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语言中的条件语句和循环结构,为后续的编程学习打下坚实的基础。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

IDEA快速入门03-代码头统一配置

三、代码规范配置 3.1 文件头和作者信息 配置入口&#xff1a;依次打开 File -> Settings -> Editor -> File and Code Templates。 Class /*** Copyright (C) 2020-${YEAR}, Glodon Digital Supplier & Purchaser BU.* * All Rights Reserved.*/ #if (${PACKA…

专业是软件工程,现在好迷茫,感觉什么都没有学到,该怎么办?

学习软件工程可能会遇到迷茫和困惑的时期&#xff0c;这很正常&#xff0c;尤其是在学习初期。这里有一些建议&#xff0c;或许可以帮助你找到方向&#xff1a; 明确目标&#xff1a;思考你学习软件工程的目的是什么&#xff0c;是为了将来从事软件开发工作&#xff0c;还是对编…

MyBatis 的多级缓存机制是怎么样运作的?

引言&#xff1a;上周三&#xff0c;小 X 去面试一家中厂&#xff0c;其中面试官问到 MyBatis 的多级缓存机制是怎么样运行的&#xff1f;这个问题可以好好准备一下&#xff0c;很多人可能只会用 MyBatisPlus&#xff0c;简单的多表联查 SQL 语句可能都写不出来&#xff0c;更别…

神经网络 torch.nn---nn.LSTM()

torch.nn - PyTorch中文文档 (pytorch-cn.readthedocs.io) LSTM — PyTorch 2.3 documentation LSTM层的作用 LSTM层:长短时记忆网络层&#xff0c;它的主要作用是对输入序列进行处理&#xff0c;对序列中的每个元素进行编码并保存它们的状态&#xff0c;以便后续的处理。 …

python-求分数序列和

[题目描述]&#xff1a; 输入&#xff1a; 输入一行一个正整数n(n≤30)。输出&#xff1a; 输出一行一个浮点数&#xff0c;表示分数序列前n 项的和&#xff0c;精确到小数点后4位。样例输入1 2 样例输出1 3.5000 来源/分类&#xff08;难度系数&#xff1a;一星&#xff09;…

Android集成高德天气API 天气预报

1.新建工程项目WeatherForecast。 2.在AndroidManifest文件中添加网络访问相关权限。 <uses-permission android:name"android.permission.INTERNET"/> 3.设计页面布局activity_main.xml&#xff0c;界面效果如图所示。 4.注册高德开放平台&#xff0c;查阅…

【AI实践】Ollama本地安装大模型服务

Ollama安装运行 安装与配置 Download Ollama 安装默认在C盘&#xff0c;成功后&#xff0c;window任务栏图标会有Ollama Logo 为了不占用C盘更大的空间&#xff0c;修改模型下载路径&#xff0c;修改环境变量 下载模型 由于我电脑是第六代Intel&#xff0c;集显&#xff0c;…

页面置换算法的模拟实现

一. 实验内容 1. 假设某一个进程&#xff0c;在运行过程中需要访问的内容依次在320个地址中。为了模拟产生320个地址的值。首先实现在main函数中调用下面的函数随机产生320个地址的地址序列。 #include<unistd.h> void randarray(int a[],int k) { int i; float s;…

2024年大数据领域的主流分布式计算框架有哪些

Apache Spark 适用场景 以批处理闻名&#xff0c;有专门用于机器学习的相关类库进行复杂的计算&#xff0c;有SparkSQL可以进行简单的交互式查询&#xff0c;也可以使用DataSet&#xff0c;RDD&#xff0c;DataFrame进行复杂的ETL操作。 关键词 处理数据量大批计算微批计算…

[Qt的学习日常]--常用控件1

前言 作者&#xff1a;小蜗牛向前冲 名言&#xff1a;我可以接受失败&#xff0c;但我不能接受放弃 如果觉的博主的文章还不错的话&#xff0c;还请点赞&#xff0c;收藏&#xff0c;关注&#x1f440;支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 目录 一、什么是控…

【2024亲测无坑】Oracle--19C在Centos7上的静默安装(rpm版)

一、Oracle 19c Linux安装&#xff08;Centos 7&#xff09; 1.查看磁盘可用空间及配置ip地址 [rootlocalhost /]# df -h 文件系统 容量 已用 可用 已用% 挂载点 devtmpfs 1.4G 0 1.4G 0% /dev tmpfs 1.4G …

进程信号(下)

上文&#xff1a;进程信号&#xff08;上&#xff09;-CSDN博客 在上篇中&#xff0c;我们讲了关于信号的保存&#xff0c;信号集的操作&#xff0c;那么这篇我们就来看看信号的原理。 目录 1. 键盘产生信号的原理 2. 信号是如何被处理的&#xff1f; 2.1 信号处理的原理 …

深度神经网络——深度学习中的 RNN 和 LSTM 是什么?

引言 自然语言处理和人工智能聊天机器人领域许多最令人印象深刻的进步都是由 递归神经网络&#xff08;RNN&#xff09; 和长短期记忆&#xff08;LSTM&#xff09;网络。 RNN 和 LSTM 是特殊的神经网络架构&#xff0c;能够处理顺序数据&#xff0c;即按时间顺序排列的数据。…

实用软件下载:会声会影2023最新安装包及详细安装教程

会声会影2023的智能工具&#xff0c;使用AI面部识别对效果最好的照片和视频片段进行分析&#xff0c;提取&#xff0c;并编译到可以项目中&#xff0c;将我们的精彩时刻、美好回忆和媒体内容转换为影片。 全新的AR贴纸让视频更具感染力和趣味性&#xff0c;AR贴纸功能可以识别并…

python 实现各种数据分析方法

1、相关性分析 1.1、https://zhuanlan.zhihu.com/p/669355778https://zhuanlan.zhihu.com/p/669355778

Jacob环境探索(兼容性、管理员、DLL位置、VS环境,COM权限)

概述&#xff1a; 最近在生产开发实践出现了很多问题&#xff0c;经过了一系列排查&#xff0c;特做如下总结 探索成果&#xff1a; 1. jacob.dll的建议位置 首先jacob的官网&#xff0c;以及官方GitHub&#xff0c;你可以从这里找到DLL文件&#xff0c;以及相关资料然后DLL文…

WordPress——Argon主题美化

文章目录 Argon主题美化插件类类别标签页面更新管理器文章头图URL查询监视器WordPress提供Markdown语法评论区头像设置发信设置隐藏登陆备份设置缓存插件 主题文件编辑器页脚显示在线人数备案信息(包含备案信息网站运行时间)banner下方小箭头滚动效果站点功能概览下方Links功能…

GitHub Copilot 登录账号激活,已经在IntellJ IDEA使用

GitHub Copilot 想必大家都是熟悉的&#xff0c;一款AI代码辅助神器&#xff0c;相信对编程界的诸位并不陌生。 今日特此分享一项便捷的工具&#xff0c;助您轻松激活GitHub Copilot&#xff0c;尽享智能编码之便利&#xff01; GitHub Copilot 是由 GitHub 和 OpenAI 共同开…

38、基于卷积神经网络(CNN)的车牌自动识别系统(matlab)

1、原理及流程 1&#xff09;原理 CNN&#xff08;卷积神经网络&#xff09;是一种深度学习模型&#xff0c;可以用于图像识别和分类任务。车牌自动识别系统的原理基本上就是使用CNN模型对车牌图像进行处理和识别。 首先&#xff1a;系统需要收集大量的含有车牌的图像数据作…

windows系统,家庭自用NAS。本地局域网 Docker安装nextcloud

windows系统&#xff0c;家庭自用NAS。本地局域网 Docker安装nextcloud 1、docker安装 太简单了&#xff0c;直接去搜一搜。 docker-compose 相关命令 docker-compose down docker compose up -d2、还是使用老的 在你需要挂载的目录下&#xff0c;新建一个文件&#xff0c;…