C语言初阶

switch语句

whlie语句

break在whlie语句中的作用是终止整个循环,continue在while语句中一旦被执行,会跳过continue后面的代码,直接判断要不要继续执行while循环。

一开始输入缓冲区中什么也没有,当你输入a时,进入缓冲区的是a、\n,getchar()每次读取一个字符,打印完a后,继续读入\n。

break:在C语言中,break语句通常用于循环语句(如forwhiledo-while)和switch语句中,用来跳出当前的循环或switch语句。

continue:在for循环中会遇到continue会跳过其后面的代码到调整部分,在while循环中一旦被执行,会跳过continue后面的代码,直接判断要不要继续执行while循环。

for语句

for循环判断部分省略,意味着判断很成立。

do...while语句

在C语言中,可以使用字符串来初始化字符数组。

在C语言中,使用sizeof计算数组大小时,会包括空字符\0。strlen函数用于计算字符串的长度,它会计算到空字符\0为止,但不包括空字符\0在内。

函数:

当实参传递给形参的时候,形参是实参的一份临时拷贝,对形参的修改不会影响实参。

无论实参是何种类型的量,在进行函数调用时它们都必须有确定的值,以便把这些值传送给形参。

形式参数只有在函数被调用时才分配内存单元,当函数调用完之后就自动销毁。

注意:1.assert用于在程序中进行断言检查。2.void*表示一个指向未知类型的指针。它可以用来指向任何数据类型的对象,但不能直接解引用(即不能直接访问它指向的数据)。3.memcpy用于从一个内存地址复制指定数量的字节到另一个内存地址。memcpy函数不用来处理重叠内存之间的数据拷贝。通常情况下,我们使用memmove处理重叠内存之间的数据拷贝。4.memcmp的用途是在字节级别上比较内存区域。5.memset是以字节为单位来初始化内容的,通常用于初始化数组或结构体的内容。

位移运算符:

二进制中的原码、反码、补码:

有符号数:对于有符号的数而言,符号的正负是机器无法识别的。我们用0表示正,1表示负,这样符号就被数字化了,并且规定将它放在有效数字的前面。所以,在二进制中使用最高位(第一位)来表示符号,最高位是0,表示正数,最高位是1,表示负数。

无符号数是针对二进制来讲的,没有符号位,第一位的0或1不表示正负。

有符号数的性质:

1.二进制的最高位是符号位,0表示正,1表示负。

2.正数的原码、反码、补码是一样的。

3.负数的反码=它的原码符号位不变,其他位取反(0->1,1->0)

4.负数的补码=它的反码+1.

5.0的反码、补码都是0.

6.在计算机运算的时候,都是以补码的方式来运算的。

左移运算符<<:当左移的位数大于等于32位,先用位数求余再左移余数即32%32 = 0.

右移运算符>>:1.正数:与无符号右移一致。2.负数:根据原码写出补码,在高位补上1,保留符号位,然后按位取反,然后+1,即为所求数的原码。

无符号右移运算符>>>:1.正数:与右移运算符一致。2.根据原码求出补码后直接右移,在高位上补0.

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值