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

逻辑控制详解 C语言

if语法

例题:输入一个整数,判断是否为奇数

注意这里scanf内格式和你执行时输入的格式要一样,比如手动输入\n

语法形式1

if(表达式)
{
语句;
}

如果表达式为真,则执行语句。

如果if后不写花括号,则只执行if(表达式)后的一条指令

语法形式2:

if(表达式)
{
语句1;
}
else
{
语句2;
}

如果表达式为真则执行语句1,否则执行语句2。

例题:输入一个年龄,>= 18岁就输出“成年”,否则就输出“未成年”

语法形式3:

if(表达式1)
{
语句1;
}
else if(表达式2)
{
语句2;
}
else
{
语句3;
}

如果表达式1为真则执行语句1,如果表达式2为真则执行语句2,否则执行语句3。

逻辑运算符

  • !:逻辑取反运算符(改变单个表达式的真假)。
  • &&:逻辑与运算符,就是“且”的意思(两侧的表达式都为真,则为真,否则为假)。
  • ||:逻辑或运算符,就是“或者”的意思(两侧至少有一个表达式为真,则为真,否则为假)。

注:C语言中,非0表示真,0表示假。

1. 逻辑取反运算符 !

逻辑取反:如果是真,经过逻辑取反结果就是假。如果是假,经过逻辑取反结果就是真。

a!a
非00
01

2.逻辑与运算符&&

只有两个表达式都为真的时候,整个表达式为真;只要有一个表达式为假,整个表达式为假。

例题:输入一个月份,如果是在3月到5月之间则输出春季

&&短路的时候,如果左边操作数为假,则右边不再计算

3. 逻辑或运算符 ||

|| 两边的表达式只要有一个是真,整个表达式就是真,两边的表达式都为假的时候,才为假。

||短路的时候,如果左边操作数为真,则右边不再计算

switch语句

多分支选择

switch语句是一种特殊形式的 if...else 结构,用于判断条件有多个确定结果的情况。它把多重的else if改成更易用、可读性更好的形式。

switch语法格式:

switch (整型表达式)
{
case 整型常量1: 语句;
case 整型常量2: 语句;
...
default: 语句;
}

swich()是一个入口,break是一个出口,没有break则进入对应case后会接着执行下一个case

输出hellothird

注意:
  • switch后的expression必须是整型表达式。
  • case 后的值,必须是整型常量表达式。

while语法格式:

while (循环条件)
{
// 循环条件为真则执行代码
}

练习:在屏幕上打印 1~10 的值

练习:输入一个正的整数,逆序打印这个整数的每一位

(改进一下)

(改进一下)

练习:求5的阶乘

break 和 continue

循环控制语句

break 和 continue 是两个用于在循环内部精确控制循环流程的关键字。

  • break:立即终止并跳出当前所在的循环。
  • continue:跳过本次循环中尚未执行的语句,直接开始下一次循环的判断和执行
练习:找到1-100之间第一个能被3整除的数字。要求使用break

练习:找到1-100之间所有能被3整除的数字。要求使用continue

http://www.jsqmd.com/news/1198175/

相关文章:

  • 资源聚合搜索工具:一站式解决网盘磁力搜索与文档转换需求
  • 厦门爱彼回收价格查询及各大回收平台实测排行(2026年7月最新) - 尊奢回收二奢平台
  • 鸿蒙7新特性实战⑧:商用Kiosk锁定应用完整开发流程(API26 自助终端/门店一体机)
  • 仿人型手腕6R机械臂:基于改进D-H参数与高斯-牛顿迭代的实时逆解算法
  • Open3D-GUI入门:C++三维可视化界面开发之Label与Button控件详解
  • 开关电源防炸机实战:限流保护与安全上电指南
  • PCB甩铜现象解析与全流程防控方案
  • VTK C++交互式3D部件开发:从拾取到拖拽的完整实现
  • C++算法精解:树状数组与映射优化排队模拟题P11396
  • 鸿蒙应用开发实战【19】— 统计卡片组件:数字展示、颜色语义与点击导航
  • Creo 11.0深度解析:意图驱动设计与中文工作流重构
  • Python JWT实战:从原理到安全实现用户认证与API保护
  • 深圳百达翡丽回收价格查询与各大回收平台实测排行(2026年7月最新数据) - 诚收名表回收平台
  • Unity-MCP框架:AI助手深度集成Unity编辑器的开发范式革新
  • HarmonyOS NEXT 鸿蒙应用低功耗蓝牙(BLE)使用心得
  • ShaderGraph Remap节点:数据范围映射的核心原理与实战应用
  • C++26模块化编程:从编译加速到架构升级的工程实践
  • 运算放大器基础与应用:从电路设计到实战技巧
  • 现代C++项目实战学习指南:从特性到工程实践
  • C++暴力枚举算法实战:从数字消除游戏到状态空间搜索
  • C++性能优化实战:深入缓存原理与数据结构设计提升程序效率
  • LLM桌面自动化实战:Playwright+MCP Atlas构建可验证Computer Use能力
  • Dify K8s生产部署:从底座验证到运行时压测的全链路落地指南
  • Java学习笔记--面向对象高级(多态)
  • 【2027最新】基于SpringBoot+Vue的家教管理系统管理系统源码+MyBatis+MySQL
  • C++图像预处理实战:窗口分割技术提升处理效率与性能优化
  • 巧用ADC分压网络:单线实现多按键检测的硬件设计精要
  • 豆包推广实战:从0到日均50+用户的四步增长法
  • Claude Code本地化开发:Mac上离线运行Claude 3.5的VS Code深度集成方案
  • C++常量、指针与内存管理:核心概念详解与实践指南