C课堂笔记day6 | 我的日常分享

C课堂笔记day6

文字常量

bool型文字常量

  • 单词turefalsebool型的文字常量
    bool类型是C++提供的 C语言中并没有这个类型,bool类型也是整型,false是0,ture一般是1
1
'ABCD'这样书写是否错误  是正确的 cpu一次执行吞吐量是4字节

当数据的大小大于1字节时,它在内存中是以字节倒叙存储(主机字节序)

转义字符

  • 一部分不可打印的字符、单引号、双引号以及反斜杠要使用转义字符(转义序列以反斜杠开头)

原因:单引号、双引号会跟最近的进行匹配
'单引号
"双引号
\n换行
\r回车键
\反斜杠 当字符串为文件路径时 可偷懒,使用/符号即可

逻辑路径
虚拟路径

  • 一般的转义序列采用如下格式
    \000
    这里的ooo代表三个八进制数字组成的序列

字符’0’与’\0’的区别

  • 另外,字符文字前面可以加”L”例如L’a’
    这称为宽字节文字,类型为wchar_t。宽字符常量用来支持某些语言的字符集合,如汉语、日语 这些语言中的某些字符不能用单个字符来表示
    实际上C语言是没有wchar_t,其实他是unsigned short,wchar_t时我们给他取的别名
    1
    使用 typedef unsigned short wchar_t#define wchar_t unsigned short
    说白了 宽字节实际上是增大了字符表的内容

字符串文字常量

  • 字符串文字常量有另个或多个用双引号括起来的字符组成。不可打印的字符可以用相应的字符串序列来表示,而一串字符串文字可以拓展到多行 在一行最后加上一个反斜杠表示字符串在下一行继续

目的:当代码一行过长的 为了防止内容被屏幕限制 是程序员一眼能看到所有的内容

  • 字符串文字的类型是常量字符数组。他由字符串文字本身以及编译器加上表示结束的空'\0'字符构成

    '\0'是字符串的结尾标志 系统遇到'\0'便结束输出字符串

  • 宽字节字符串 在字符串前面加上L,此时每个字符都占2字节

字符串使用的时候 使用的是字符串首字符的地址 双引号""实际上就是取字符串的地址

  • 他也有一个等价宽空字符作为结束标志

两种字符串不能混用,单字节字符串和双字节字符串不能混用!!!

cpu的吞吐量是四字节
typedef只能C++用?
MSDN文档

板书
图片