重生之我在异世界学编程之C语言:选择结构与循环结构篇

大家好,这里是小编的博客频道
小编的博客:就爱学编程

很高兴在CSDN这个大家庭与大家相识,希望能在这里与大家共同进步,共同收获更好的自己!!!

本文目录

  • 引言
  • 正文
        • 一、选择结构
          • 1. if语句
          • 2. else if语句
          • 3. switch语句
        • 二、循环结构
          • 1. for循环
          • 2. while循环
          • 3. do-while循环
        • 三、总结
  • 快乐的时光总是短暂,咱们下篇博文再见啦!!!不要忘了,给小编点点赞和收藏支持一下,在此非常感谢!!!

引言

在C语言中,选择和循环是控制程序流程的基本结构。它们允许程序根据条件执行不同的代码块或重复执行某段代码。本文将详细介绍C语言中的选择结构和循环结构。一起跟着小编来看看吧

在这里插入图片描述


那接下来就让我们开始遨游在知识的海洋!

正文


选择结构用于根据条件判断来决定程序的执行路径。C语言提供了两种主要的选择结构:if语句和switch语句。

一、选择结构

我们就先从选择结构开始了解!!

1. if语句

if语句是最基本的条件判断语句,其语法如下:

if (condition) {// 当condition为真时执行的代码
} else {// 当condition为假时执行的代码(可选)
}

示例:

#include <stdio.h>int main() {int num = 10;if (num > 5) {printf("Number is greater than 5
");} else {printf("Number is less than or equal to 5
");}return 0;
}

此外,if语句还可以嵌套使用,形成更复杂的条件判断逻辑。


2. else if语句

当需要判断多个条件时,可以使用else if语句:

if (condition1) {// 当condition1为真时执行的代码
} else if (condition2) {// 当condition2为真且condition1为假时执行的代码
} else {// 当所有条件都为假时执行的代码(可选)
}

示例:

#include <stdio.h>int main() {int grade = 85;if (grade >= 90) {printf("Grade: A
");} else if (grade >= 80) {printf("Grade: B
");} else if (grade >= 70) {printf("Grade: C
");} else if (grade >= 60) {printf("Grade: D
");} else {printf("Grade: F
");}return 0;
}

3. switch语句

switch语句用于基于一个变量的值进行多分支选择,其语法如下:

switch (expression) {case constant1:// 当expression等于constant1时执行的代码break; // 可选,但通常建议加上以避免“贯穿”case constant2:// 当expression等于constant2时执行的代码break;// 可以有多个casedefault:// 当expression不匹配任何case时执行的代码(可选)
}

示例:

#include <stdio.h>int main() {char grade = 'B';switch (grade) {case 'A':printf("Excellent!
");break;case 'B':case 'C':printf("Well done.
");break;case 'D':printf("You passed.
");break;case 'F':printf("Better try again.
");break;default:printf("Invalid grade.
");}return 0;
}

注意:每个case块的末尾通常有一个break语句来防止“贯穿”(即继续执行下一个case块的代码)。如果没有break,则程序会继续执行后续的case块,直到遇到breakswitch语句的末尾。


循环结构用于重复执行一段代码,直到满足某个条件为止。C语言提供了三种主要的循环结构:for循环、while循环和do-while循环。

二、循环结构

我们就从最常见的for语句开始学习!!

1. for循环

for循环用于已知循环次数的场景,其语法如下:

for (initialization; condition; increment) {// 循环体
}

示例:

#include <stdio.h>int main() {for (int i = 0; i < 5; i++) {printf("i = %d
", i);}return 0;
}

在这个例子中,初始化部分int i = 0声明并初始化了一个变量i;条件部分i < 5决定了循环何时停止;增量部分i++每次循环后更新i的值。


2. while循环

while循环用于在条件为真时重复执行代码块,其语法如下:

while (condition) {// 循环体
}

示例:

#include <stdio.h>int main() {int i = 0;while (i < 5) {printf("i = %d
", i);i++;}return 0;
}

在这个例子中,只要i < 5为真,循环就会继续执行。


3. do-while循环

do-while循环与while循环类似,但它至少会执行一次,因为条件检查是在循环体的末尾进行的,其语法如下:

do {// 循环体
} while (condition);

示例:

#include <stdio.h>int main() {int i = 0;do {printf("i = %d
", i);i++;} while (i < 5);return 0;
}

在这个例子中,无论条件是否满足,循环体都会先执行一次,然后才会检查条件。如果条件为真,循环将继续;否则,循环结束。


最后我们总结一下上文

三、总结
  • 选择和循环结构是编程中不可或缺的部分,它们使程序能够根据条件和需求灵活地执行不同的操作。通过合理使用这些结构,可以编写出功能强大且高效的C语言程序。

快乐的时光总是短暂,咱们下篇博文再见啦!!!不要忘了,给小编点点赞和收藏支持一下,在此非常感谢!!!

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

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

相关文章

CSS 动画效果实现:图片展示与交互

​&#x1f308;个人主页&#xff1a;前端青山 &#x1f525;系列专栏&#xff1a;Css篇 &#x1f516;人终将被年少不可得之物困其一生 依旧青山,本期给大家带来Css篇专栏内容:CSS 动画效果实现&#xff1a;图片展示与交互 前言 在现代网页设计中&#xff0c;动态效果能够显著…

2024前端框架年度总结报告(二):新生qwik+solid和次新生svelte+Astro对比 -各自盯着前端的哪些个痛点 - 前端的区域发展差异

引言 2024年&#xff0c;前端开发依然是技术领域的热点之一。随着 Web 应用的日益复杂&#xff0c;前端框架的更新换代也加速了。尽管 React、Vue 和 Angular 老牌框架年度总结 等“老牌”框架仍然占据着主流市场&#xff0c;但一些新兴的框架在不断挑战这些“巨头”的地位&am…

在 MacOS 上为 LM Studio 更换镜像源

在 MacOS 之中使用 LM Studio 部署本地 LLM时&#xff0c;用户可能会遇到无法下载模型的问题。 一般的解决方法是在 huggingface.co 或者国内的镜像站 hf-mirror.com 的项目介绍卡页面下载模型后拖入 LM Studio 的模型文件夹。这样无法利用 LM Studio 本身的搜索功能。 本文将…

Linux:基础开发工具

1. 软件包管理器 (1) 什么是软件包 在Linux下安装软件&#xff0c;主要有以下方法 1. 下载到程序的源代码&#xff0c;并进行编译得到可执行程序。 2. 软件包安装-- 获取rpm安装包&#xff0c;用rpm指令安装 3. 包管理器 yum(centos) apt/apt-get(ubuntu) 进行安装。&am…

并发框架disruptor实现生产-消费者模式

Disruptor是LMAX公司开源的高性能内存消息队列&#xff0c;单线程处理能力可达600w订单/秒。本文将使用该框架实现生产-消费者模式。一、框架的maven依赖 <!-- https://mvnrepository.com/artifact/com.lmax/disruptor --><dependency><groupId>com.lmax<…

「Mac玩转仓颉内测版42」小学奥数篇5 - 圆和矩形的面积计算

本篇将通过 Python 和 Cangjie 双语解决简单的几何问题&#xff1a;计算圆的面积和矩形的面积。通过这道题&#xff0c;学生将掌握如何使用公式解决几何问题&#xff0c;并学会用编程实现数学公式。 关键词 小学奥数Python Cangjie几何计算 一、题目描述 编写一个程序&#…

unordered系列容器模拟实现

1.哈希桶 hash.h #pragma once #include<iostream> #include<vector> using namespace std;template<class T> struct HashNode {HashNode(const T& data):_data(data),_next(nullptr){}T _data;HashNode<T>* _next; }; template<class K>…

基于Transformer的编码器-解码器图像描述模型在AMD GPU上的应用

Transformer based Encoder-Decoder models for image-captioning on AMD GPUs — ROCm Blogs 图像描述&#xff0c;即基于生成式人工智能&#xff08;GenAI&#xff09;自动生成简洁的图像文本描述&#xff0c;在现实世界中有着非常重要的应用。例如&#xff0c;图像描述可以为…

Linux命令行解释器的模拟实现

欢迎拜访&#xff1a;羑悻的小杀马特.-CSDN博客 本篇主题&#xff1a;Linux命令行解释器 制作日期&#xff1a;2024.12.04 隶属专栏&#xff1a;linux之旅 本篇简介&#xff1a; 主线带你用ubuntu版系统步步分析实现基础版本的shell&#xff1b;比如支持重定向操作&#xff0…

Language Translation with TorchText

前言&#xff1a; 利用torchtext类来处理一个著名的数据集&#xff0c;包含了一些英文和德文句子。利用该数据处理sequence-to-sequence模型&#xff0c;通过注意力机制&#xff0c;可以将德语翻译成英语。Torchtext&#xff1a;它是 PyTorch 生态系统中的一个库&#xff0c;主…

【Redis篇】 List 列表

在 Redis 中&#xff0c;List 是一种非常常见的数据类型&#xff0c;用于表示一个有序的字符串集合。与传统的链表结构类似&#xff0c;Redis 的 List 支持在两端进行高效的插入和删除操作&#xff0c;因此非常适合实现队列&#xff08;Queue&#xff09;和栈&#xff08;Stack…

11.爬虫

前言&#xff1a; 正则表达式的作用&#xff1a; 作用一&#xff1a;校验字符串是否满足规则 作用二&#xff1a;在一段文本中查找满足要求的内容 一.Pattern类和Matcher类&#xff1a; 1.Pattern类&#xff1a;表示正则表达式 a.因此获取Pattern对象就相当于获取正则表达式…

【Linux篇】权限管理 - 用户与组权限详解

一. 什么是权限&#xff1f; 首先权限是限制人的。人 真实的人 身份角色 权限 角色 事物属性 二. 认识人–用户 Linux下的用户分为超级用户和普通用户 root :超级管理员&#xff0c;几乎不受权限的约束普通用户 :受权限的约束超级用户的命令提示符是#&#xff0c;普通用…

【RDMA】RDMA read和write编程实例(verbs API)

WRITE|READ编程&#xff08;RDMA read and write with IB verbs&#xff09; &#xff08;本文讲解的示例代码在&#xff1a;RDMA read and write with IB verbs | The Geek in the Corner&#xff09; 将 RDMA 与verbs一起使用非常简单&#xff1a;首先注册内存块&#xff0c…

UE5 C++ 不规则按钮识别,复选框不规则识别 UPIrregularWidgets

插件名称&#xff1a;UPIrregularWidgets 插件包含以下功能 你可以点击任何图片&#xff0c;而不仅限于矩形图片。 UPButton、UPCheckbox 基于原始的 Button、Checkbox 扩展。 复选框增加了不规则图像识别功能&#xff0c;复选框增加了悬停事件。 欢迎来到我的博客 记录学习过…

洛谷P2670扫雷游戏(Java)

三.P2670 [NOIP2015 普及组] 扫雷游戏 题目背景 NOIP2015 普及组 T2 题目描述 扫雷游戏是一款十分经典的单机小游戏。在 n 行 m列的雷区中有一些格子含有地雷&#xff08;称之为地雷格&#xff09;&#xff0c;其他格子不含地雷&#xff08;称之为非地雷格&#xff09;。玩…

如何加强游戏安全,防止定制外挂影响游戏公平性

在现如今的游戏环境中&#xff0c;外挂始终是一个困扰玩家和开发者的问题。尤其是定制挂&#xff08;Customized Cheats&#xff09;&#xff0c;它不仅复杂且隐蔽&#xff0c;更能针对性地绕过传统的反作弊系统&#xff0c;对游戏安全带来极大威胁。定制挂通常是根据玩家的需求…

概率论相关知识随记

作为基础知识的补充&#xff0c;随学随记&#xff0c;方便以后查阅。 概率论相关知识随记 期望&#xff08;Expectation&#xff09;期望的定义离散型随机变量的期望示例&#xff1a;掷骰子的期望 连续型随机变量的期望示例&#xff1a;均匀分布的期望 期望的性质线性性质期望的…

DICOM MPPS详细介绍

文章目录 前言一、常规检查业务流程二、MPPS的作用三、MPPS的原理1、MPPS与MWL2、MPPS服务过程 四、MPPS的实现步骤1、创建实例2、传递状态 五、总结 前言 医院中现有的DICOM MWL(Modality Worklist)已开始逐渐得到应用&#xff0c;借助它可以实现病人信息的自动录入&#xff0…

Secured Finance 推出 TVL 激励计划以及基于 FIL 的稳定币

Secured Finance 是新一代 DeFi 2.0 协议&#xff0c;其正在推出基于 FIL 的稳定币、固定收益市场以及具有吸引力的 TVL 激励计划&#xff0c;以助力 Filecoin 构建更强大的去中心化金融生态体系&#xff0c;并为 2025 年初 Secured Finance 协议代币的推出铺平道路。Secure Fi…