C语言知识点补充

一、

%s表示的是打印字符串;

%5s表示变量的值保持长度5位,不足5位的在前面以空格补齐;超过5位的则截止到第五位,以字符串的方式打印出来;-----如果字符串是abc,%5s会显示结果为--abc;前面补齐两个空格凑齐5位;

%-5s同样也是表示变量的值保持长度5位,不足5位的在后面以空格补齐;超过5位的则截止到第5位;以字符串的形式打印出来;-----如果字符串是abc,%-5s会显示结果为abc--;在abc的后面补齐两个空格凑齐5位;

%.5s:字符串的长度如果小于等于5,则不变,直接以字符串的形式打印出来即可;如果超过5位,则5位之后的直接舍掉;和保留小数点后5位的意思差不多(只不过小于等于5位时不用加0);

%3d:表示读取三个字符;比如123456\n;代表6个字符----如果用%3d去读取,则读取结果为123;

二、

const修饰常变量----就是说我原本定义变量num,如果前面加上const,则num不能在进行变化;换句话说就是说---我定义const num=12; 下面写代码时就不能再定义 num新的值,例如在const num=12;下面再定义num=20---就会报错;

#define MAX 1000;------define定义标识符常量;用define定义的,下面只要使用MAX就是1000;是不可以被改变的;

enum:枚举常量---类似于定义一个函数,只是如果要使用,范围必须在定义的枚举常量里;

关键字:default(默认)---extern(声明外部符号)---static(静态的)

register(寄存器关键字,用register创建的关键字存到寄存器里面)----计算机里存储位置有网盘2T、硬盘500G、内存8-16G、高速缓存几十mb、寄存器-很小很小;但寄存器的传输速度是最快的,为了追求效率,我们通常把数据存储到寄存器里面;

三、

结构体是一些值的集合,这些值统称为结构体变量,不同于数组的是,结构体变量可以是不同的类型,而数组中的元素必须是相同的类型;

struct 结构体关键字,stu结构体标签,struct stu统称结构体类型,结构体变量不需要进行初始化,只需要定义一下他们的类型即可;特别需要注意:成员变量 {} 后面的分号一定不能省略;结构体变量是{}后面定义的元素;

结构体的访问可以通过   点--- . ;->; 指针    三种类型进行 ;

四、

切记:无论是左移操作符、右移操作符、按位与、按位或这些操作符,都是对内存中的补码进行计算的,存进内存里的是补码,但是如果想要打印出来,则需要把补码转化成原码进行打印;

符号位对于原码、反码、补码都是一样的,我们通常是通过原码进行判断符号位的;

注意:运算是建立在补码的基础之上进行的运算,最终如果需要打印出来,是需要转化成原码进行打印的;也就是说:我们拿到一个数,拿到的是他的原码,需要经过原码-反码-补码-反码-原码;最终打印出来的是原码;而进行的运算是在补码的基础之上进行运算的;

在移位操作符中:算术右移-逻辑右移;

算术右移是指右边丢弃,左边补原符号位,原符号位指的是原码最左边的数字;正数补0,负数补1;

逻辑右移是指右边丢弃,左边统一补0;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值