C语言的相关概念(二)

一.关键字

C语言中有一批保留的名字的符号,比如:int,if,return......这些符号被称为保留字或者关键字

C语言的32个关键字:

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
注:在C99标准中加入了inline,restrict,_Bool,_Complex,_Imaginary等关键字
(C语言不止32个关键字,这些只是使用最多的32个关键字,需了解全部关键字可以去下方网站)
C语⾔关键字的全部介绍: https://zh.cppreference.com/w/c/keyword
重要知识点:
1.关键字都具有特殊意义,是保留给C语言使用的
2.关键字不能自己创建
3.程序员自己在创建标识符的时候不能与关键字重复
二.字符和ASCll编码
1.我们在键盘上可以敲出各种各样的字符,列如:a,b,c,@,%,#......这些符号都被称为 字符,在C语言的使用中,这些字符都需要用 单引号括起来,如:‘a’,‘b’,‘@’。
2.众所周知, 在计算机中,所有的数据都是以二进制的形式进行储存的,那么这些字符在内存中分别以什么样的二进制储存呢?当我们每个人给自己的这些字符中的每个字符都编一个二进制序列,这个就叫做编码。为了方便大家互相通信,避免混乱,美国国家标准学会(ANSI)就出台了一个 标准ASCll编码表,从此往后,C语言中的字符就遵循了ASCll编码的方式。

这个表随便百度都有的,参考链接:https://zh.cppreference.com/w/cpp/language/ascii

我们并不需要记住所有的ASCII码表中的数字,使用时查看就可以,不过我们最好能记住一些常用的数据,和掌握⼏组特殊的数据:
(1)字符A~Z的ASCll码值是65~90

(2)字符a~z的ASCll码值是97~122

(3)对应的大小写字符的ASCll码值的差值是32,如:A为65,a,97

(4)数字字符0~9的ASCll码值是48~57

(6)换行 “ \ n ”的ASCll码值是10

(7)在这些字符中ASCll码值从0~31的这32个字符是不可打印字符,无法打印在屏幕上观察

(8)单个字符的打印可以使用 “ % c ”来指定格式

(9)打印字符和打印ASCll码值同义,列如:‘a’和97,如下图所示

(10)利用循环输入ASCll码值打印出对应字符(这里利用到for循环,后面介绍循环会详讲) 

这里还运用到了“ if ”语句,if语句中的内容,目的是使打印结果每打印16个字符就换行,使得输出结果排版显得更加美观。 (if语句大家不太理解没关系,在后面我们总结循环语句的时候会讲)

三.字符串和“  \ n ”

1.字符串

什么叫做字符串呢?前面提到过,在C语言中,字符的使用需要加单引号( ‘ ’ ),并且,打印字符用的是 % c ;那么字符串就需要加双引号( “ ” ),列如我们所打印的“ Hello World ”,这就表示的是一个字符串,打印字符串我们用的就是 % s

2. \ 0

(1)当我们输入一串字符串,需对其计数的时候,就需要注意到一个很重要的知识点—— \ 0 ,它是作为字符串计数的一个结束标志

(2)计算字符串的长度用 strlen(),当遇到 \ 0 的时候停止计数。若一串字符串的结尾没有 \ 0,则其输出结果为任意数 

(3)下面我们来引入一个新的概念——字符数组来帮助大家理解“ \ 0 ”这个结束标志,在C语言中,我们可以把字符串放入数组当中,从而通过打印数组来实现字符串的打印。如下所示

 

以上演示的字符和字符串通过数组的打印,在数组arr1中,字符的末尾是没有“ \ 0 ”的,所以输出结果就会出现乱码,这是因为arr1中的字符在打印中并没有检测到“  \ 0 ”这个结束标志,它就会一直打印,直到在arr1中的某个地方碰巧有“ \ 0 ”的存在,才会停止。

而在arr2中,字符串的打印,是不需要自己输入“ \ 0 ”作为结束标志的,在字符串中是默认有“ \ 0 ”的,只是是隐藏的,所以arr2的打印是正常的。另外,字符串的打印也不需要外加“  { } ”,当然,加上也没有啥影响。接下来我为大家在演示正确的操作。

在这张图中,arr1数组中添加了结束标志“ \ 0 ”,arr3中的字符串没有添加“ { } ”,并且在字符串dove前有“ \ 0 ”,所以这三个数组的打印都是没有任何问题的。希望通过这两张图和三个数组,能帮着大家更加深刻的理解到“ \ 0 ”在C语言中作为结束标志的运用意义。

OKK,今天的总结就到此为止,希望可以帮助到大家理解C语言的相关概念,C语言的相关概念应该再有一节就会给大家总结完。另外,我也是在一边接触学习一边给大家总结知识点嘛,这样也能让我自己加深理解记忆,所以我也算是一个小白。关于进度,我尽量在3~4天左右就会给大家总结一期,因为我学习了过后我还得自己理解消化嘛,总结的这些知识点也都是通过一些老师的课件笔记和自己的理解写出来的,如果大家在看的时候发现有什么地方不对的,或者有自己独特的理解的,一定要及时地告诉我,我好改正错误,当然啦,大家在看的时候有什么不懂不理解的地方也欢迎大家跟我沟通交流!加油加油,与诸君共勉!!!

另外,还有一个特别重要的点,大家在学习C语言的时候不能光是看书背概念,记知识点,或者去看网课之类的,这些都是辅助啦,重点是实践!实践才是检验真理的唯一标准!!!一定一定一定要自己去下载Visual studio2022,在看知识点和看网课的时候一定要自己亲手去敲一敲代码!

  • 13
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值