单片机笔记二:实用基础代码

一、

循环左右移动:
_ crol_ 是左移
_ cror_是右移
可以以最后一个字母区分l->left左边 r->right 右边
crol是character to rotate left的 缩写
直观来看,左移就是所有数字中的特异数字向左移动,其他数字不变。
下面是我对这两个函数的原理的理解,应该是这样的:
比如左移,先将要左移的数与自己进行与运算,看看有没有产生进位,并将进位保存下来
然后将要左移的数左移,之后再判断之前有无进位,如果有就用1与左移后的数进行或运算。

二、

关于几种常见注释
1,直接在代码最前端加///
2,在大段代码前加/*并且在它后面加*/
3,使用函数

3)#if 0  或  #if 1注释:

当屏蔽掉大块代码时,使用"#if 0"比使用"/**/"要好。(因为用"/**/"做大段的注释时,需要防止被注释掉的代码段中有嵌套的"/**/",一旦出现"/**/"嵌套"/**/"的情况,会导致你注释掉的代码区域并不是你想要的区域范围) 

情况一:常见的一中,如有一段不想要的代码,可以直接用"#if 0 ... #endif"形式来注释,效果等同于"/**/"

#if 0
    ...程序段...
#endif

情况二:选择结构的条件编译。(如果常量为真【非0,随便什么数字,只要不是0】,就执行程序段1,否则执行程序段2。)

#if 常量
    ...程序段1...
#else
    ...程序段2...
#endif

情况三:嵌套情况。(如果常量a为真【非0,随便什么数字,只要不是0】,就执行程序段1。当常量a为0且常量b为真时,执行程序段2;当常量a为0且常量b为0时,执行程序段3)

#if 常量a
    ...程序段1...
#else
        #if 常量b
          ...程序段2...
        #else
          ...程序段3...
      #endif
#endif
4,还有一种是直接点击菜单栏的这两个按键进行注释和注释取消

三、取到数字的每一位

设一个数为n,则在C语言中其个位、十位、百位、千位依次这样计算:n/1%10,n/10%10,n/100%10,n/1000%10

代码如下:

#include<stdio.h>

int main(){

int n = 123456;

int unitPlace = n / 1 % 10;

int tenPlace = n / 10 % 10;

int hundredPlace = n / 100 % 10;

int thousandPlace = n / 1000 % 10;

printf("个位:%d\n十位:%d\n百位:%d\n千位:%d\n", unitPlace, tenPlace, hundredPlace, thousandPlace);

getchar();

return 0;

}

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值