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.5if语句再探:
default做扫尾工作,都不满足的情况。可以弥补if else的冗杂 不用每一个都判断一下。case:后只能是常量和常量表达式如果没有break,则会执行下去。type=1代表调到case1,执行后面的语句;case是路牌
当级联if-else时:为else时,后不能加条件like(x>99)?会不会是只能if后加(),else不能,不管是普通:经过验证,else后不能加条件。
这种结果会覆盖,因为每一个if都会看,符合则n改变
循环体内要有可以改变的条件,不然会陷入循环
while:当条件满足时,我们要进入循环。所以while的语句有可能一次都没有执行
4.2.2猜数游戏(2023.8.27)
rand:系统函数,每次召唤rand就得到一个随机数;
x%n的结果是0--n-1的一个整数:
猜数代码:
(1)do while 回车后无法继续输入
(2)if:结果都为输入的第一个数