C语言入门:a和b 比大小

判断较大值

输入两个数a,b,判断哪一个较大,将较大的输出。

#include <stdio.h>

int main()
{
int a, b;
printf("请输入两个数:\n");
scanf("%d %d", &a, &b);
if (a > b)
{
printf("较大的数是:%d\n", a);
}
else
{
printf("较大的数是:%d\n", b);
}
return 0;
}

这段代码是一个非常经典的 C 语言入门程序,它的功能是比较两个整数的大小,并输出其中较大的那个数

它展示了 C 语言中最基础也是最重要的三个概念:变量输入条件判断结果输出

🧩 代码结构解析

1. 变量声明

这里声明了两个整型变量 ab
它们就像是两个空的盒子,准备用来存放用户稍后输入的两个数字。

2. 用户交互与输入

printf: 在屏幕上打印提示信息,告诉用户程序正在等待输入。
scanf: 这是 C 语言的标准输入函数。
复制代码
##### `%d %d`: 表示期待读取两个十进制整数,中间用空格隔开。
复制代码
##### `&a, &b`: 这里的 `&` 是取地址符。它的作用是把读取到的两个数字,分别存放到变量 `a` 和 `b` 在内存中的地址里。简单来说,就是把数字放进刚才声明的那两个"盒子"里。

3. 核心逻辑:if-else 条件判断

if (a > b): 程序会先判断括号里的条件是否成立。
复制代码
##### **情况一(条件成立)**:如果 `a` 确实大于 `b`,程序就会执行 `if` 后面花括号 `{}` 里的代码,打印出 `a` 的值。
复制代码
##### **情况二(条件不成立)**:如果 `a` 不大于 `b`(意味着 `a` 小于 `b`,或者 `a` 等于 `b`),程序就会跳过 `if` 的代码块,直接执行 `else` 后面花括号 `{}` 里的代码,打印出 `b` 的值。
逻辑细节
复制代码
##### 当 `a > b` 时,输出 `a`(正确)。
复制代码
##### 当 `a < b` 时,输出 `b`(正确)。
复制代码
##### 当 `a == b` 时,`a > b` 不成立,程序走 `else` 分支输出 `b`。因为两数相等,输出任意一个都是正确的"较大值"(实际上是相等值)。

🚶‍♂️ 执行流程模拟

让我们模拟一下程序的运行过程:

场景一:a 比 b 大
用户输入:10 5(回车)
a 被赋值为 10,b 被赋值为 5。
判断 if (10 > 5)?是的,条件成立。
执行 if 块内的代码,屏幕输出:较大的数是:10
场景二:b 比 a 大
用户输入:3 8(回车)
a 被赋值为 3,b 被赋值为 8。
判断 if (3 > 8)?不是,条件不成立。
程序跳转到 else 块,屏幕输出:较大的数是:8

💡 拓展知识:更简洁的写法(三目运算符)

虽然 if-else 结构非常清晰易懂,

但在 C 语言中,对于这种简单的"二选一"赋值或判断,还有一种更"极客"的写法,叫做条件运算符 (也叫三目运算符 ? :)。

解释(a > b) 是条件,如果条件为真(非0),则表达式的值是 a;如果条件为假(0),则表达式的值是 b

相关推荐
caimouse2 小时前
ReactOS 窗口系统分析(23):键盘 — keyboard.c + kbdlayout.c
c语言·开发语言·计算机外设
小O的算法实验室8 小时前
IEEE TASE,基于MPC的多无人机协同搜索竞争群体优化方法
算法
小飞学编程...8 小时前
【哈希表】
数据结构·哈希算法·散列表
Tbisnic8 小时前
BGE-M3 算法详解:从模型架构到三种检索方式的数学原理
算法·自然语言处理·大模型·bert·transformer·注意力机制
Brilliantwxx9 小时前
【算法从零到千】【55-58】哈希位图+常见数学运算 接口
算法
空堂与归10 小时前
用户分群找不到规律?用K-Means聚类算法自动发现数据模式
算法·机器学习·kmeans·聚类
动词ing10 小时前
【C语言】自定义函数+指针入门
c语言·开发语言·算法
重生之后端学习10 小时前
283. 移动零[简单]✅
开发语言·数据结构·算法·leetcode·职场和发展
一只小小的芙厨11 小时前
基础数论总结
笔记·学习·算法
动词ing11 小时前
【C语言】结构体+文件基础
c语言·开发语言·数据结构