C语言学习笔记3.4章

3.1.2习题解析

BCD:一个字节表示两位数,4个比特位表示一位。例:0x12表示的是十进制的18; 所以18如何变为BCD所表示的数呢:18/16=1;18%16=2,故为 1*10+2=12。

题:输入一个三位数的数,逆序输出该数:

不能直接在printf中%d%d%d,因为这样700输出,就会是007

 

3.2.1做判断:if语句()括号里面的条件成立才会执行大括号里的内容。

 

3.2.2判断的条件:关系运算,做运算的比较符

优先级比:算术运算符>关系运算符>赋值运算符

关系运算符:计算两个值之间的关系:== ;!=;>;>= 等

关系运算的结果:符合预期:1,否则:0;

相等与否的优先级比大小的低,连续的关系运算从左往右进行。

3.2.3找零计算机:判断 注释 流程图

//:注释符 多行注释:/*开始 */结束

3.2.4否则的话:如果条件不成立呢

 

3.2.5if语句再探:

if,else不用大括号,而是用;;结束的位置之前的语句与if()共同构成if语句,else同理。但有多个语句,还是需要大括号

 

 

3.3.1嵌套的if else语句

else跟最近的if匹配:用大括号将第二个if语句括起,else与第一个if匹配,若无大括号,else则与第二个,也就是最近的那个if语句匹配

 

3.3.2级联的if-else语句

级联if-else:对齐else,省略{if},直接else if

 

3.3.4多路分支:Switch-case语句

 default做扫尾工作,都不满足的情况。可以弥补if else的冗杂 不用每一个都判断一下。case:后只能是常量和常量表达式如果没有break,则会执行下去。type=1代表调到case1,执行后面的语句;case是路牌

4.1.1循环

当级联if-else时:为else时,后不能加条件like(x>99)?会不会是只能if后加(),else不能,不管是普通:经过验证,else后不能加条件。

 

 

 这种结果会覆盖,因为每一个if都会看,符合则n改变

 

4.1.2while循环

循环体内要有可以改变的条件,不然会陷入循环

while:当条件满足时,我们要进入循环。所以while的语句有可能一次都没有执行

 

4.2.2猜数游戏(2023.8.27)

rand:系统函数,每次召唤rand就得到一个随机数;

x%n的结果是0--n-1的一个整数:

 

 猜数代码:

 

4.2.3算平均数

(1)do while 回车后无法继续输入

 

 (2)if:结果都为输入的第一个数

 

4.2.4整数求逆

整数的分解:a%10:得个位数;a/10:去掉个位数;

( a/10)%10:得十位数

 

posted @   沐风大榕  阅读(28)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示