C语言 知识点扫盲

1. printf 占位与对齐 (左/右对齐、居中显示)

在 C 语言中的 printf 函数中对齐列 | D栈 - Delft Stack

  • 占位

即 printf("%d") 中的参数 d 前的数字来调整宽度 

  • 左对齐 

方式 1:printf 默认左对齐   

printf("%d\n",19940525);

方式 2 :在数字宽度前面添加 -

假设'space'代表空格

printf("%-10d\n",19940525);

输出情况:19940525spacespace

  • 解释 :当前数字宽度为 10,如果要打印的位数小于10 ,则在打印完数字后补充空格;否则 ,将会打印所有的数字
  • 当前打印的数字位数为 8 ,在右边打印两个空格
  • 右对齐

方法1:在%和d之间加上数字宽度即可实现右对齐。

假设'space'代表空格

printf("%10d",19940525);  // 如果要打印的位数小于10,则需要补足空格

输出情况:spacespace19940525

  • 解释 :
    • 当前数字宽度为10 ,如果要打印的位数小于10 ,那么左边补充空格;
    • 当前打印的数字位数为 8 ,在左边打印两个空格

方法2:*表示宽度 是由一个额外的参数来指定

假设'space'代表空格

printf("%*.2f\n", 8, 622.1329);  //表示宽度为8

输出结果为:spacespace662.13

  • 解释 :
    • 当前数字宽度为8,如果要打印的位数小于8 ,那么左边补充空格;
    • 即%8.2f表示整个浮点数包括小数点和两位小数)将被放在一个宽度为8的字段中。四舍五入后得到622.14,它的长度是6。即需要在左边补充2个空格,

 

2. 头文件路径 #include

相对路径:首先在windows环境下:

.\ ”表示当前目录

..\ ”表示当前目录的上1级目录

..\ ..\ ”表示当前目录的上2级目录

可用于包含头文件路径,例如:#include "..\..\Drivers\BSP\ST7789\Inc\lcd_spi_169.h"

3.

1字节(byte)=8位(bit)
在16位系统中,1字(word)=2字节(byte)=16位(bit)
在32位系统中,1字(word)=4字节(byte)=32位(bit)
在64位系统中,1字(word)=8字节(byte)=64位(bit)

字 word
字节 byte
位 bit,来自英文bit,音译为“比特”,表示二进制位。
字长是指字的长度

1字=2字节(1 word = 2 byte)
1字节=8位(1 byte = 8bit)
 
一个字的字长为16
一个字节的字长是8

bps 是 bits per second 的简称。一般数据机及网络通讯的传输速率都是以「bps」为单位。如56Kbps、100.0Mbps 等等。
Bps即是Byte per second 的简称。而电脑一般都以Bps 显示速度,如1Mbps 大约等同 128 KBps。
bit 电脑记忆体中最小的单位,在二进位电脑系统中,每一bit 可以代表0 或 1 的数位讯号。
Byte一个Byte由8 bits 所组成,可代表一个字元(A~Z)、数字(0~9)、或符号(,.?!%&+-*/),是记忆体储存资料的基本单位,至於每个中文字则须要两Bytes。当记忆体容量过大时,位元组这个单位就不够用,因此就有千位元组的单位KB出现,以下乃个记忆体计算单位之间的相关性:

1 Byte = 8 Bits

1 KB = 1024 Bytes

1 MB = 1024 KB

1 GB = 1024 MB

usb2.0标准接口传输速率。许多人都将“480mbps”误解为480兆/秒。其实,这是错误的,事实上“480mbps”应为“480兆比特/秒”或“480兆位/秒”,它等于“60兆字节/秒”,大家看到差距了吧。

这要从bit和byte说起:bit和byte同译为"比特",都是数据量度单位,bit=“比特”或“位”。
byte=字节即1byte=8bits,两者换算是1:8的关系。
mbps=mega bits per second(兆位/秒)是速率单位,所以正确的说法应该是说usb2.0的传输速度是480兆位/秒,即480mbps。
mb=mega bytes(兆比、兆字节)是量单位,1mb/s(兆字节/秒)=8mbps(兆位/秒)。

我们所说的硬盘容量是40gb、80gb、100gb,这里的b指是的byte也就是“字节”。
1 kb = 1024 bytes =2^10 bytes
1 mb = 1024 kb = 2^20 bytes
1 gb = 1024 mb = 2^30 bytes

比如以前所谓的56kb的modem换算过来56kbps除以8也就是7kbyte,所以真正从网上下载文件存在硬盘上的速度也就是每秒7kbyte。
也就是说与传输速度有关的b一般指的是bit。
与容量有关的b一般指的是byte。

最后再说一点: usb2.0 480mbps=60mb/s的传输速率还只是理论值,它还要受到系统环境的制约(cpu、硬盘和内存等),其实际读、取写入硬盘的速度约在11~16mb/s。但这也比usb1.1的12mbps(1.5m/s)快了近10倍。

扩展阅读
字节的来由
最开始计算机只是处理数据运算,也就是0-9,加上运算符号,4bit足够了。举个例子(实际不是这样):用0000表示0,0001表示1,0010表示2,依次类推。 
后来加入了字母,程序符号等,8bit也足够了,而这时诞生了ASCII编码的标准,大家就说把8bit表示出来的值叫做字节(byte)吧,于是就有了字节这个单位。 
所以1byte等于8bit是计算机发展中的一个约定出来的规则。

汉字:
1 汉字 = 2 byte = 16 bit (这里不是很准确,当编码不同的时候,1个汉字所占的字节数也会有所不同,有些编码是占 2个字节,有些则不是,可能是 3个或者 4个)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值