目录
目录
一、关键字介绍
C语言中有一批保留的名字的符号,如:if、int、return这些符号称为保留字或关键字。
· 有特殊意义,给C语言保留使用
· 在创建标识符时不能与关键字重复
· 关键字不能自己创建
有关关键字的介绍可以在这个官网了解一下https://zh.cppreference.com/w/c/keyword
#include <stdio.h>
int main()
{
int return;//这个写法是错误的,return作为关键字,不能作为标识符
return 0;
}
二、字符和ASCII编码
在键盘上,我们可以敲出各种字符,如:q、 \、@、#等,这些符号统称为字符
我们知道计算机是以二进制存储数据的,那既然这样,字符应该怎么储存呢?所以就给每个字符编一个二进制序列,叫作编码。例如 00001——a、00010——b、00100——c(这里只是简单举例一下)。如果每个人给字符定义一个二进制序列,不方便程序员之间交流,容易混乱,美国国家标准学会(ANSI)出台一个标准的ASCII编码。https://zh.cppreference.com/w/cpp/language/ascii
有一些人看了之后,就赶紧把表内的编码值埋头猛猛的背了一遍,可千万别这样做,我们只需要记住一些常用的编码值就够用了。
字符A~Z ASCII码值从 65~90
字符a~z ASCII码值从97~122
字符0~9 ASCII码值从 48~97
换行\n ASCII码值 10
ASCII码值从0~31这32个字符是不可打印字符,无法打印在屏幕上观察
总结一下:由于字符不能在内存中存储,所以定义该数字表示符号(用来存储运算),形成ASCII编码 —— 相当于英汉字典用来查询
#include <stdio.h>
int main()
{
printf("%d\n",a);//运行结果为97
return 0;
}
#include <stdio.h>
int main()
{
printf("%c\n",97);//运行结果为a
return 0;
}
三、字符串和\0
双引号括起来的一串字符称为字符串 “abc”
补充:单引号括起来的是字符 ‘a’
特殊知识:字符串的结尾隐藏一个\0字符,这个字符是字符串结束的标志。所以在使用库函数printf()和strlen()遇\0就结束运行。
#include <stdio.h>
int main()
{
char arr1[] = {"abcde"}//arr1中含有\0
char arr2[] = {'a','b','c','d','e'}//arr2中没有\0
printf("%d\n",strlen(arr))://结果为 abcde
printf("%d\n",arr1);//结果为 abcde烫烫烫烫烫烫烫烫烫烫烫包?V
return 0;
}
//arr2没有\0,所以只有当检索到\0才会停止
strlen是一个函数——求字符串的长度,统计的是\0前字符串的个数。
strlen返回值是size_t类型,应使用%zd,使用时包含头文件<string.h>
关于该函数后期会出一个该函数的详细介绍
四、转义字符
在上面代码中我们经常可以看到有\n、\0字符,这类普通字符通过结合转变为特殊字符称转义字符。
转义字符有许多种,但我们只需要记住常见的即可
/?:连续多个问号使用,防止解析为三字母词,在新的编译器已经无法验证了
在支持三字母编译器上
printf(“(are you ok??)")//结果为(are you ok]
//三字母编译器上支持 ??) ——>] ??( ——>[
\a :警告字符,蜂鸣
\b :退格键,光标回退一个字符,但不删除字符
printf("a\bcde")//结果为cde,a被b覆盖,后面继续打印
printf(”abcde\b“)//结果为abcde,后面没有字符,光标回退后打印结束
\f :换页,光标移到下一页,在现代系统已经反映不出来了,行为类似为\V
\r :回车符,光标移到同一行的开头
\t :制表符,光标移到下一处水平制表符,通常是4或8的倍数
printf(”a\tab\tabc\tab")//a ab abc ab
//打印一个a空7个字符
//再打印ab空6个字符
//再打印abc空5个字符
//最后打印ab
//按八个字符对齐,不足的空格补上
字符8或16进制表示形式
\ddd :d d d表示1~3个八进制数字 如\130表示字符X
\xdd : d d表示2个十六进制数字 如\x36表示字符0
将\后8进制数字转换为10进制的数字,这个数字作为ASCII码值表示的字符
\0 : null字符,代表没有字符,\0是\ddd转义字符的一种,用于表示字符串结束标志,其ASCII码值是0
转义字符参考:https://zh.cppreference.com/w/c/language/escape
下期内容更精彩,尽请期待下一集🥷