C语言复习总结篇(一)

本文总结了C语言中易出错的运算符,包括预增量/后增量、逻辑运算符短路特性、按位运算以及左移运算。还介绍了进制转换的方法,如十进制、八进制、十六进制之间的转换。此外,讨论了do-while与while循环的区别,并讲解了数组名取地址加1的用途和如何计算数组长度。最后提到了变量的生存周期问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、容易出错的运算符
(1)++i/- -i 先加减,在赋值
i++/i– 先赋值,在加减
(2)表达式A && 表达式B (若A为假,则不计算B)
表达式A || 表达式B (若A为真,则不计算B)
(3)按位& 相同位数的两个数都为1,则为1。若有一个为0,则为0。
按位 | 相同位数中有一个为1,则为1。否则为0。
异或^ 相同位上不一样为1,一样为0
(4)<< 左移几位,右边加几个0

右移补符号位,右移相当于除法  (5 = 11/2^1)1011>>1  变成了0101

(5)/ % 不能对0进行运算,%操作数必须为整数
注意:表示分数1/2 4/9时,应写成1.0/2 4.0/9

2、进制转换
(1)%d 十进制输出
%0 八进制输出
%0x 十六进制输出
(2)计算方法
16进制转2进制:把16进制中的每一位转化为2进制,每个数分4位,不足4位者在前面补0
eg: 0X 7 1 5 4 4
0111 0001 0101 0100 0100 二进制数串连起来就是结果
2进制转化为16进制:16进制中的0~15,用2进制数表示为:0000~1111,即4位2进制数为一个16进制数
eg: 0011 1101
3 D 3D即是00111101的16进制转化

     2进制转8进制:把2进制数3位一截,对应转换,然后结果相连,原理同上

    8进制转化2进制:把8进制中的每一位分别转化为2进制,每个数分3位,不足补0,同上

3、do whlie和whlie的区别

这里写图片描述

do(…) while(0)的用法及好处
(1)、辅助定义复杂的宏,避免引用时出错
这里写图片描述
(2)、避免空宏引起的warning
内核中由于不同架构的限制,很多时候会用到空宏,在编译的时候,空宏会给出warning,为了避免这样的warning
这里写图片描述

4、数组名取地址+1的用法
(1)、在定义数组的同一个函数中,数组名表示整个数组
这里写图片描述

(2)、求数组长度
sizeof(arr)/sizeof(arr[0])

5、变量的生存周期
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值