1.字符串
C语言中有字符(char)类型,但是没有字符串类型;那么在C语言在如何表示字符串呢
1.1 字符串的表示
"hello world\n"
像这样,用" "引起来的一串字符称为字符串;字符串的结束标志是一个'\0'的转义字符。
字符串其实就是一串字符,字符串是可以存放到字符数组里边的。
#include 'stdio.h' int main(){ char arr1[] = "abc";//直接用" "引起来 char arr2[] = { 'a','b','c' };//字符用{}括起来,中间用逗号隔开 char arr3[] = { 'a','b','c','\0' }; return 0; }
1.2 字符串的结束标志
在每个字符串的末尾都隐藏了一个'\0',利用VS2019中的监视(调试---窗口---监视)功能可以看出
当一个字符串真正遇到'\0'的时候,才认为这个字符串结束了;如下段代码的显示效果
#define _CRT_SECURE_NO_WARNINGS 1 #include "stdio.h" int main() { char arr1[] = "abc";//直接用" "引起来 char arr2[] = { 'a','b','c' };//字符用{}括起来,中间用逗号隔开 char arr3[] = { 'a','b','c','\0' }; printf("%s\n", arr1);//打印字符串用%s printf("%s\n", arr2); printf("%s\n", arr3); return 0; }
1.3 字符串的长度
注意:在计算字符串长度的时候'\0'是结束标志,不算作字符串的内容。
strlen( )函数是一个库函数,用来求字符串长度,统计的是字符串中'\0'之前的字符个数
我们可以利用strlen( )函数计算字符串的长度;如下段代码效果
'\0'之前的字符个数就是该字符串的长度,而arr2[ ]没有'\0',所以他的长度是随机的
注意:使用strlen( )函数的时候,需要头文件 #include "string.h"
2.转义字符
2.1 常用转义字符
这里我们解释一下'\\',他的效果是在屏幕上输出一个 "\";如下图代码效果
这里我们很明显能感受到,需要打印出"\",就得使用'\\'转义字符
2.2 特殊转义字符
\xhh:
\x后面跟两位十六进制数,该两位十六进制数的值即为对应字符的十六进制ASCII码值。
\ddd:
斜杠后面跟三位八进制数,该三位八进制数的值即为对应的八进制ASCII码值。
2.3 转义字符的大小
一个转义字符就算作一个字符,因此一个转义字符的长度为1
3.注释
3.1 什么是注释
为了方便看懂代码,给代码的一段说明性文字;在编写C语言源代码时,应该多使用注释,这样有助于对代码的理解。在C语言中有两种注释方式:
- 一种是以
/*
开始、以*/
结束的块注释(block comment); - 另一种是以
//
开始、以换行符结束的单行注释(line comment)。
3.2 注释原则
- 项目开发中,尽量保持代码注释规范和统一。
- 注释方便了代码的阅读和维护。
- 边写代码边注释,修改代码时要相应修改注释,保证注释和代码的一致性。
- 注释要简洁明确,不要出现形容词。
- 通过注释可以快速知道所写函数的功能,返回值,参数的使用。
4.ASCII表
4.1 ASCII值
4.1.1产生原因
在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示1和0),例如,像a、b、c、d这样的52个字母(包括大写)以及0、1等数字还有一些常用的符号(例如*、#、@等)在计算机中存储时也要使用二进制数来表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则,于是美国有关的标准化组织就出台了ASCII编码
4.1.2表达方式
ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。标准ASCII 码也叫基础ASCII码,使用7 位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0 到9、标点符号,以及在美式英语中使用的特殊控制字符
- 0~31及127(共33个)是控制字符或通信专用字符(即不可打印字符)(其余为可显示字符)
- 32~126(共95个)是字符(32是空格),其中48~57为0到9十个阿拉伯数字
- 65~90为26个大写英文字母
- 97~122号为26个小写英文字母
- 其余为一些标点符号、运算符号等
- 后128个称为扩展ASCII码。许多基于x86的系统都支持使用扩展(或“高”)ASCII。扩展ASCII 码允许将每个字符的第8 位用于确定附加的128 个特殊符号字符、外来语字母和图形符号
有人将 ASCII 编码分成两部分:
- 前 128 个字符称为基本 ASCII,包含常见字符;
- 后 128 个字符称为扩展 ASCII,包含一些特殊字符。
4.2 特殊的ASCII值
ASCII表中可以记下部分特殊的值(字母从A到Z,从a到z,ASCII值依次递增)
‘A’:65
‘a’:97
‘0’(字符0):48
0(数字0):0
4.3 大小写转换小妙招
由于ASCII表中的大小写字母对应的ASCII值相差32,所以我们在编写大小写转换程序的时候,就非常便捷
大写转小写:ASCII值+32
小写转大写:ASCII值-32