当前位置: 首页 > news >正文

C语言的控制语句

C的控制语句

控制语句是C语言中用于控制程序执行流程的结构。通过控制语句,可以根据条件执行不同的代码块,或者重复执行某些操作,从而实现复杂的逻辑和功能。掌握控制语句是编写有效和高效C程序的关键。


1 条件控制

条件控制语句用于根据某些条件来决定程序的执行路径。C语言提供了多种条件控制结构,包括if语句、else if语句和switch语句。

1.1 if语句

if语句用于在条件为真时执行特定的代码块。它是最基本的条件控制语句。

语法

if (条件) {// 条件为真时执行的代码
}

示例与详细说明

#include <stdio.h>int main() {int num = 10;// 使用if语句判断num是否为正数if (num > 0) {printf("num 是一个正数。\n");}return 0;
}

输出

num 是一个正数。

详细解释

  • 条件表达式num > 0,如果num大于0,条件为真(1),则执行if块中的代码。

  • 执行流程

    1. 计算条件num > 0
    2. 如果条件为真,执行大括号 {} 内的代码。
    3. 如果条件为假,跳过if块中的代码。

更多示例

#include <stdio.h>int main() {int age = 18;// 判断是否成年if (age >= 18) {printf("你已成年,可以投票。\n");}return 0;
}

输出

你已成年,可以投票。
1.2 else if语句

else if语句用于在第一个if条件不满足时,提供多个条件判断的可能性。它允许在多个条件之间进行选择。

语法

if (条件1) {// 条件1为真时执行的代码
} else if (条件2) {// 条件2为真时执行的代码
} else {// 所有条件都不满足时执行的代码
}

示例与详细说明

#include <stdio.h>int main() {int score = 85;// 使用if-else if-else结构判断成绩等级if (score >= 90) {printf("成绩等级:A\n");} else if (score >= 80) {printf("成绩等级:B\n");} else if (score >= 70) {printf("成绩等级:C\n");} else if (score >= 60) {printf("成绩等级:D\n");} else {printf("成绩等级:F\n");}return 0;
}

输出

成绩等级:B

详细解释

  • 条件判断顺序
    1. 判断score >= 90,如果为真,输出A并跳过后续条件。
    2. 如果上一个条件为假,判断score >= 80,如果为真,输出B
    3. 依此类推,直到最后的else块。
  • 执行流程
    1. 依次检查每个ifelse if的条件。
    2. 当某个条件为真时,执行对应的代码块,并跳过剩余的条件检查。
    3. 如果所有条件都不满足,执行else块中的代码。

更多示例

#include <stdio.h>int main() {int temperature = 30;// 判断天气情况if (temperature > 30) {printf("天气非常热,适合游泳。\n");} else if (temperature > 20) {printf("天气温暖,适合户外活动。\n");} else if (temperature > 10) {printf("天气稍凉,适合散步。\n");} else {printf("天气寒冷,建议在室内活动。\n");}return 0;
}

输出

天气温暖,适合户外活动。
1.3 switch语句

switch语句用于基于一个变量的不同值来执行不同的代码块。它通常用于替代多个if-else if条件判断,使代码更加简洁和易读。

语法

switch (表达式) {case1:// 当表达式等于值1时执行的代码break;case2:// 当表达式等于值2时执行的代码break;
http://www.dtcms.com/a/315346.html

相关文章:

  • 16day-人工智学习-机器学习-特征工程
  • 【世纪龙科技】虚拟技术助力职教汽车自动变速器拆装虚拟实训软件
  • RFID技术在汽车倍速链中的应用:驱动智能制造的隐形引擎
  • Windows/Linux入侵排查
  • CPP学习之多态
  • Python高频元素分析技术:高效找出序列中出现次数最多的元素
  • 【Unity3D实例-功能-镜头】第三人称视觉
  • FeiQ飞秋安装教程:FeiQ.1060559168 详细安装步骤(附注意事项)​
  • 【QT】常⽤控件详解(三)常用按钮控件PushButton RadioButton CheckButton Tool Button
  • 茗鹤工业低代码可视化技术开发平台
  • 网络相关命令
  • 全国计算机二级C语言二级考试通关笔记
  • 风光储并网协同运行simulink仿真模型实现
  • [找出字符串中第一个匹配项的下标]
  • MiDSS复现
  • Codeforces Round 1010 (Div. 2, Unrated)
  • 8.4IO进程线程——进程
  • MySQL 基本操作入门指南
  • 代码随想录day55图论5
  • 通往L4之路:构建自我进化的智能驾驶决策大脑
  • Dubbo 3.x源码(32)—Dubbo Provider处理服务调用请求源码
  • CSS 安卓应用卸载碎片化动画效果
  • pyqt5-tools/pyqt6-tools 安装失败,解决办法
  • 【秋招笔试】2025.08.03虾皮秋招笔试-第三题
  • 7.2 I/O接口 (答案见原书 P305)
  • 大模型部署、nvidia-smi、token数
  • Java项目:基于SSM框架实现的商铺租赁管理系统【ssm+B/S架构+源码+数据库+毕业论文+开题报告+任务书+远程部署】
  • pytorch 学习笔记3-利用框架内网络训练糖尿病数据集
  • Linux 使用 firewalld :开放端口与常用操作指南
  • Endpoint(端点)详解