昨晚下班以后,闲来无事,继续学习。由于是初识课,老师对于C语言所有的知识点都会带过一遍,并不会深入研究与探讨,正因如此,所给予的信息量也是极大。今晚不能再看课了,代码必须敲起来,也需要消化一下前两天所学。戒急戒躁,切记,切记!
现将知识点进行如下复盘:
1.在继续昨天所讲课之前,老师提及了git----分布式的版本管理工具。以我的理解是用于记录代码是否被修改,方便于管理代码。其功能非常强大,但老师主要说了pull, push,以及delete的功能,他着重强调了功能强大,有必要熟悉并学会使用该工具。
2.常量。简单介绍了几种常见的常量:
A.字面常量,就如其字面意思,输入是什么那就是什么;
B.const修饰的常变量。若令int a = 10;即获得一个变量。加之以const int a = 10;则此变量a获得不可修改属性和常属性,不得再令 int a = 12等其他数。但注意,其本质依然是一个变量,具体证明过程已记不清,需回看课程;
C.#define定义的标识符常量。对于这个常量,我的理解是与const修饰的常变量有共通之处,但并非完全相同。如令#define TXL 100 则TXL所代表的为常量100,后续输出TXL,或先令m = TXL,所输出结果都为100,与const修饰的常变量是有着本质区别的,const所修饰的始终是一个变量;
D.枚举常量,枚举即一一列举。生活中很多量都是确定的,如血型,性别,三原色什么的。将其以enum列举,其中包含的量即为枚举常量。
3.字符串。由双引号所引起的一串字符就叫字符串。但要注意一个细节,每个字符串的末尾都会有一个隐藏的\0,这个极为重要,是隐藏的结束标志。若没有此标志,程序会持续进行下去直到遇到某一个\0,换句话说,这个输出结果是完完全全随机的。若令char a = “abc”再进行输出打印,结果为abc,因为字符串最后都会自带一个结束程序\0。但如果令char a = {‘a’, ‘b’, ‘c’}再进行输出打印,则结果会出现abc后一串其他的东西,这是随机的,不同的电脑结果也不同,直到遇到内存中的某个\0,结束。
4.转义字符。即将某个字符加上斜杠,转换其意义。如最常见的\n,为换行。重点说一下两个转义字符。一个是\ddd, 标识1-3个八进制数字。那么问题来了\130是表示一个八进制的数字是130,如果是\139,则很明显13是八进制数,一位数也是如此以此类推。但是如果我只想表示一个两位数的八进制数,但后面那一位小于八呢?如\123,我需要的是12这个八进制数可系统会识别为123这个三位八进制数,这种情况该如何处理?需请教老师。另一个\xdd则没有这个问题,因为其仅仅表示2个十六进制的数字。
5.ASCII表,列举了一系列字符的ASCII值。因为电脑是二进制,只能识别二进制数,所以部分字符都会有一个对应的ASCII码值。
6.注释。对所写代码进行注解已方便他人理解。当然,在上课时老师想使某个代码无效,也是在其前加入注释符号,这可作为一个实际用法,不一定死板的只用于注释。很多时候代码都是一个嵌套的过程,一套代码极其复杂。哪怕自己写的代码,过一段时间,想要完全理明白都是及其复杂的,所以有必要进行注释。
7.选择语句与循环语句。这没什么可说的,倒不是因为其简单,这二者实际操作的复杂程度原比与其他要复杂。我虽能读懂相关代码,但凭空写出脑里确是一片空白,说白了,代码敲少了。
8.函数。函数的特点就是简化代码,使代码复用。老师在上课是简单介绍了Add的使用,并将Add的代码编写了一遍。在做一些简单的编程时看不出函数的优势,当代码达到一定数量,函数的简便性就体现出来了,所以必须熟练掌握并使用。
9.数组。一组相同类型元素的集合。如int arr【10】 = {1,2,3,4,5,6,7,8,9,10}。这其中需要注意的点是,其中方括号中的10代表的是容量,即这个数组包含了十个元素。当然也可以将方括号空着,这样写下来的话有几个元素那么容量就默认的是几。同时每个数组包含了下标,下标是从0开始的,即arr【1】实际上代表ID是数组中的2。
大概能回忆起来的就只有这么一点了。其实还有一点操作符的内容,但由于课时关系只讲了一点,这里就并在下次一起复盘。
此次课程的问题:
1.上文所提及的\ddd的问题。我想要的是一个24的八进制数,但是代码中是\245的话就会被系统默认成一个三位数的八进制。如何避免这种情况?
2.关于数组,老师在课上提及不能写出int arr【】= { }的代码,至于为什么,他的解释我并没有听明白。
3.有一个关于数组的代码我不知道他的运行逻辑,需要自己敲一下验证。
上次所遗留的问题已经解决:
1.变量的设定是随自己意愿的,并非一定需要0 或者某个数,看自己喜好而定。
2.库函数其实就是后来的人把一些函数写成代码,打包丢到一个仓库里供别人所使用的。助记符则是早期的用于简便编程的工具,一个所包含的是一段编程代码,一个所包含的是诸如001001这只的二进制程序。
-------------------最后编辑于2023.2.8下午三点左右