换行字符
回忆上次内容
-
数制可以转化
-
bin(n)可以把数字转化为 2进制
-
hex(n)可以把数字转化为 16进制
-
int(n)可以把数字转化为 10进制
-
编码和解码可以转化
-
ASCII 码表范围
-
0x41-0x5A 这个范围是 大 写字母
-
0x61-0x7A 这个范围是 小 写字母
-
0x30-0x39 这个范围是 数字
-
0x20-0x7F之间有各种符号
-
0x00-0x1F之间的东西是什么?????
文件编码
-
编写一个文件
-
写下 abcd
-
用 :%!xxd
-
:%!xxd -r 变回来
-
可以看到文件是用 2进制 方式存储的
-
0x61 - a
-
0x62 - b
-
0x63 - c
-
0x64 - d
-
后面的那个 0a 是什么
-
我们还得回到最初
回到最初
-
我们回到开始的时候
-
前面介绍的 c 语言的第一个程序
-
注意到hello world后面的\n了么?
-
注意到hello world后面的\n了么?
-
特别注意斜杠的方向
-
这个方向\叫反斜杠
-
在回车上面
-
那\n到底是什么??????
输出"\n"
#输出\n
print("\n")
#直接print
print()
#查看序号
ord("\n")
#查看十六进制的序号
hex(ord("\n"))
-
我们直接把他输出看看
-
好像换了 两 行
-
如果没\n的话,只换 一 行
-
\n整体作为一个字符的话
-
序号是(10)10进制
-
也就是(0x0A)16进制
找到位置
-
10 就是十六进制的 0x0A
-
这个数值在 ascii 码表中意思是 LF
-
啥意思?
搜索
-
搜索\n得到的结果是这样的
-
那我真的可以用这个\n换行嘛?
#输出字符串中带有\n
print("Hello\nWorld")
多来几个
#输出字符串中带有\n
print("He\nllo\nWor\nld")
-
显然这个 \n 就是一个换行
-
字符串里面有个 \n 就意味着需要换 1 行
-
他的英文是 Line Feed
-
意思就是 新换1行
-
这个东西其实比 ascii 的历史还要悠久
-
从打字机的时代就有了
-
最最开始的时候分段落都是靠输出空格然后换行
-
自从有了这个
-
一个键就有了新的一行了
-
所以LineFeed 很提高效率
反向操作
#输出ascii值为10的字符
chr(10)
#把这个字符放在print里面输出
print("hello"+chr(10)+"world")
追溯历史
-
最早c语言 中的 \n 来自于什么呢?
-
来自于 B语言
-
B语言 是里奇和汤普逊最早开发 unix 的语言
-
他运行在bell实验室 的 PDP-8 上
-
1969 年最初用的是 B语言
-
1971 年开始对于 B语言 进行改造
-
在新买的 PDP-11 上用 B 给 B 写扩展,称之为 NewB
-
1973 年基本主体完成,改名叫 c语言
-
他们用手头的编译器和语言给 PDP-11 重写了一个 Unix Kernel
-
机器语言和汇编语言本来不具有移植性
-
c语言 程序则可以使用在 任意架构 的处理器上
-
只要那种架构的处理器具有对应的 c语言编译器和库
-
那就能实现跨平台编译
-
也就是今天所说的交叉编译
-
这就是 c语言 在当时能够发展的原因
Basic Combined Programming Language(BCPL)
BCPL的换行符
总结
-
\n 就是换行
-
他对应着 ascii 字符的代码是(10)10进制
-
他的英文是 LF,意思是Line Feed
-
这样我就可以自由的控制哪里换行了!
-
可以做下面这个框架标题吗?????
-
我们下次再说!????
阅读(588) | 评论(0) | 转发(0) |