上一篇日记已经是9.15的啦!真的是断更了好长一段时间啊。
这一个月里发生了很多事,先是生了一场病,后来又有社团、面试、应酬诸如此类,有时想写却又放弃了。不过,从今天开始,我又要继续连更啦!
在断更的这些日子里,我也断断续续地学习了一些C语言的知识,并没有完全摸鱼哈,不过现在回过头来想,才觉得连更确实是一个能提高动力的事。当我学习和更新放在一起时,也更有动力一点。
现在相比一个月前,时间着实是少了许多。课程和社团属实挤满了我的空闲时间,C语言也只好见缝插针啦!
回到学习方面,在与大家分别的这一个月中,我学到了指针和数组。那我就简单记录一下这之间的重点吧!
一、算法的简单排序思路。
这里我学习了选择排序和冒泡排序。选择排序简单(多次遍历)但效率较低,冒牌排序较复杂(循环嵌套)但效率较高。但总体而言都不算很难。
二、算法的简单查找思路。
这里我学习了顺序查找(枚举)和二分查找。
顺序查找和选择排序十分相像,甚至可以说几乎一模一样,区别仅在于次数不同。比较重点的是二分查找,它要以数组有序为前提,但效率很高。
三、字符串
个人认为这是一个难点。当字符串和数组结合的时候,简单的事情却有点让头脑转不过来。这里就写几个重点吧。
比如我们建立了数组str[5],显然,它有5个位置。
这之后我们向其输入“ABC”,数组将会自动把未输入的地方补上“\0”。str现在是这样的:“A” “B” “C” “\0” “\0”
如果我们输了“ABCDE”呢?
根据规律,str现在是这样的:“A” “B” “C” “D” “E”,没有“\0”了。
此时,他就不能称为字符串了。也就是说,字符串必须以“\0”结尾。
那如果str是这样的呢:“A” “B” “\0” “C” “\0”
输出后会得到这样的结果:AB
于是我们又知道了:字符串以第一个“\0”作为结尾。
注:当字符串与二维数组一起运用时,就会有更多玩法。
四、指针。
这块内容可以说是C语言学习的重中之重了,我目前只学到“指针与数组”。
先简单介绍指针:
int xa=1,xb=2;
int *a,*b;
a=&xa;
b=&xb;
此时,a和b就定义成了“指针”,他们保存的是xa和xb的存储地址(而xa,xb保存的是值)。
另外,*a就相当于*&xa,想象为负负得正,*a恰好就等于xa(也就是说,*a就是xa的别名)。
————————————————————————分割线————————————————————————
唔。。。原本是想着继续跟进学习进度的,不过事情越来越多,也逐渐没有时间写日记啦!
今日是11.22,突然心血来潮,觉得无论如何,要给这个系列做一个交代。
在10.16到今天的日子里,我也陆陆续续地学习了C语言,3周前总算是学完啦!也在课堂上考了几次高分。(100、98、98、100)。
总之,这个系列到今天算是完结啦!也算没有腰斩(大概?)以后可能会在遇到有意思的难题的时候,回来补几篇感想吧!
预告:本人加入了校科协,在视觉组试用期(
所以,以后可能会开一个新坑,跟进我C++和Linux的进度。
只是预告哦~时间未定!
我会把这一段时间积累的代码一次性上传至码云。