从零开始的C语言学习:第2节 C语言的常见概念 2

📅 发布时间:2026/8/16 6:53:53
从零开始的C语言学习:第2节 C语言的常见概念 2 目录1.关键字介绍2.字符与ASCII编码3.字符串免责声明1.关键字介绍在编写C语言程序的过程中我们往往会用到很多的变量所以也会给变量取各种各样的名字聪明的你肯定会想到C语言中好像有一些规定着其特定作用的词语比如int 、if 、return 等如果我们在创建标识符时和这些词语重复了怎么办C语言的发明者自然也想到了这个问题所以便有了关键字。关键字也叫保留字是C语言中一批保留了名字的符号。需要注意的是以下几点关键字是C语言自带的我们无法自己创建关键字。每个关键字都有其特殊的意义是保留给C语言来使用的。我们在创建标识符时是不能和关键字重复的。我们常见的关键字如下所示auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while除了以上这些关键字外还有很多关键字我们可以从下面的网址来进行了解https://zh.cppreference.com/w/c/keyword2.字符与ASCII编码我们可以通过键盘敲出的如 aB 等符号就被称为字符在C语言中字符是用单引号括起来的如 a 、B 、 等众所周知计算机中的数据都是以二进制储存的也就是一串0和1的组合但我们实际看到的却不是0和1而是一个个字符聪明的你很快就想到了我们只需要让一个二进制的序列对应一个字符到需要用数据的时候直接让计算机按照对应关系输出字符不就可以了但是显然如果每个人都有自己的一套对应规则那么提取出的数据肯定也不是正确的数据为了方便大家相互通信不造成混乱来美国国家标准学会ANSI便出台了⼀个标准 ASCII 编码C语言中的字符就遵循ASCII编码的方式。在ASCII码表中编码为0-31的32个字符为不可打印字符无法打印在屏幕中。当我们需要打印单个的字符时可以使用%c来指定格式如#includestdio.h int main() { printf(%c\n, $); printf(%c\n, 81); return 0; }结果为$ Q值得注意的是虽然日常生活中我们可以在忘记对应编码时上网查询ASCII编码但在比赛中或者其他一些无法查询的场合记住部分常用编码就显得尤为重要了比如字符A~Z的ASCII码值从65~90字符a~z的ASClI码值从97~122大小写对应差值为32数字字符0~9的ASCII码值从48~57换行 \n 的ASCll码值是:10当然在可以编写C语言代码时也有一个查询部分ASCII码值的邪修办法直接让计算机把码值为32~127对应的字符输出#includestdio.h int main() { int i 0; for (i 32; i 128 ; i) { printf(%c , i); } return 0; }输出结果! # $ % ( ) * , - . / 0 1 2 3 4 5 6 7 8 9 : ; ? A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~3.字符串字符串顾名思义就是字符连成串一般来讲在C语言中用双引号括起来的一串字符就被称为字符串如abcdefg 、你好世界。字符串可以直接打印也可以用 %s 来指定示例如下#includestdio.h int main() { printf(abcdefg\n); printf(%s, abcdefg); return 0; }结果abcdefg abcdefg值得注意的是在字符串的末尾隐藏放着一个 \0 字符这个 \0 字符是字符串结束的标志。通过监视我们就可以看到字符串 “abcdefg” 的末尾多出了一个 \0它是隐藏的正常情况我们是无法看见的。我们还可以通过下面的程序验证一下#includestdio.h int main() { char a1[] { a , b , c }; //a1数组中存放三个字符 char a2[] abc; //a2数组中存放一个字符串 printf(%s\n, a1); //均输出字符串类型 printf(%s\n, a2); return 0; }结果abc烫烫烫烫烫烫烫烫烫烫烫烫烫烫蘟bc abc我们可以发现第一次输出后面出现了一堆乱码这是因为第一次输出时由于没有 \0 来表示字符串的结束程序自动将内存中存放第一部分的后面的内容也读取了出来但后面的部分本身不属于这里强行拿过来就成了乱码。而第二次输出由于有 \0 作为结束的标识输出完后自动停止所以输出正常。免责声明本人写这些教程本意是为了总结自己在C语言学习过程中的一些感悟本人也正处于学习阶段有些地方可能写的不是很好或者有些问题欢迎在评论区或者留言指正有不懂的地方也可以评论或留言前期排版可能也不是很好会努力改进的感谢支持。