可提前看:初识C语言(3)变量,常量,注释

目录

字符和字符串

字符

字符串

转义字符


字符和字符串

许多时候,我们写程序的时候都会有单引号'',和双引号"",许多人不知道其中的区别。

字符

我们先说字符,字符就是一个一个的符号,比如说1,a, (空格),;这些都叫做字符。在C语言中,常用单引号''来表示一个字符。比如'a',表示字符a。'1',表示字符1。

但是我们需要注意了:字符是字符,数字是数字。'1'不等于1。什么意思呢?我们需要明白一个概念,叫做Ascii码表。我们都知道,计算机其实只能识别数字0和1。那么怎么表现出来这么多字符的呢?其实,一开始我们就在计算机中写入了这些字符,然计算机记住这些字符,当我们写一个数字65的时候,计算机就知道是字符A。

举个例子

#include <stdio.h>

int main()
{
	printf("%d\n", '1'); //字符1,查ascii可以知道字符1,是对应49
	printf("%d\n", 1);   //数字1
	printf("%c\n", 65);  //数字65,注意,这里是%c表示打印字符
	printf("%c\n", 'A'); //字符A
	return 0;
}

我们可以看到结果如下,字符'1'打印出来的结果是49,查ascii码表知道,字符1就是49。而数字1,打印出来就是1。接下来我们打印字符,我们发现65和'A'打印结果一样。查表就可以得知,字符'A'对应65。

初识C语言(4)字符串和转义字符_字符串

 知道了这些概念之后,我们其实可以利用字符表示一个比较大的数字,并且进行数学运算。

下面我们将字符'A'减去40,就可以想到于是65-40,最后打印出来25。

#include <stdio.h>

int main()
{
	printf("%d\n", 'A'-40); //25
	return 0;
}

字符串

字符串其实就是多个字符的组合,他用双引号""来表示。不过我们需要注意,每一个字符串最后面都有一个\0。什么意思呢?看代码

#include <stdio.h>
#include<string.h>  //strlen函数所需头文件,strlen可以计算出字符串的字符个数
int main()
{
	printf("%d\n", strlen("abc")); //3
	printf("%d\n", sizeof("abc")); //4
	return 0;
}

为什么一个是3一个是4呢?首先,我们可以知道abc只有3个字符,所以第一个代码可以理解。第二个的话,我们知道,一个字符就是char型数据,而char占一个字节。如果是abc的话,应该是占3个字节才对啊。我上面说了,每一个字符最后面都有一个\0,而\0也是char型的数据,所以一共有4个字节。

转义字符

现在,假设我们想打印出来\n,应该怎么做呢?我们都知道,\n是用来换行的,如果直接打印\n肯定不行,而且计算机中还有许多和\n同样的转义字符。

初识C语言(4)字符串和转义字符_c语言_02

'\'了。

#include <stdio.h>

int main()
{
	printf("\n");  //换行
	printf("\\n"); //打印\n
	return 0;
}