宝宝作为非计算机专业的学渣,第一次接触C语言是在大一,那时的辅导员忽悠我们这群懵懂骚年,不通过计算机二级就没法拿毕业证,当时的我们还没被堕落的大学生活所腐化,依然满怀改变世界的斗志与激情,于是信誓旦旦地上了这条“贼船”,后面的故事就是我再也没下来过了
按理说,计算机二级里有那么多可选项,除了C以外,还包括 C++、Java、Visual Basic、Access、MySQL、MS Office ,相对于C其它都更简单,如果只是为了获取证书,一个更难通过的科目并不是一个明智的选择。
那为什么会选择C呢,这就涉及到我个人的偏执了,我觉得既然花掉了时间,那我就希望从中有更大的收益,如果只为了应付,就是一种对自己时间价值的稀释。经过一顿饭,与一个华科计算机教授的长谈,我知道C语言是当前绝大部分计算机系统的基础,学好它对理解计算机的运作方式有极大的帮助,就像武功秘籍中的《乾坤大挪移》,再学习其它计算机相关的技术都会变得非常容易,计算机专业的学生都是要求掌握这门语言的,很多优秀的黑客也都精通这门语言,对于非计算机专业的学生来讲会有一点点难,但是即便学艺不精只了解到几个概念,至少也可以在谈论程序算法时显得更专业。
反正我对上面的几项一个都不懂,天知道学完后会是怎样的感觉,这个“显得更专业” 对我胃口,像我这种非专业人士,臭屁时也得需要资本呀,即便学艺不精,但能 “显得更专业” 也可以满足我的某种虚荣心呀。
所以我主动选择了一条更为陡峭的路,准备硬着头皮去啃骨头,而实际的学习过程中,我却逐渐喜欢上了这门语言,现在看来,也许我并不是喜欢这门语言本身,我喜欢的是这种充满逻辑的确定,绝对忠实的听命,即刻的反馈,与不留情面的打脸,在短时间的交互中对它的特性有了飞速的了解,时光在这个过程中快速的流转,这种充实感别的东西给不了,所以二级C语言通过后,紧接着我又分别自学通过了三级PC(汇编语言),四级网络,针对非专业人士的考证也就到头了,而这些我只是凭借的兴趣。
不能说我对C语言掌握得有多好,不谦虚的说我真的只是略懂皮毛,只是一个刚刚了解C语言基础的入门学生,事实上二级之后我就再也没碰过C语言,后来的工作中慢慢接触的也是bash、perl、ruby等一类的脚本语言,但当初的确是它在我的旅程中打开了一扇门,让我对一个新的领域产生了直观的感受和浓厚的兴趣,并且甘愿踏上了一条成为IT狗的不归路
现在重拾C不是别的原因,是由于我对嵌入式特别感兴趣,而C是嵌入式的基础,所以得进行一下温故与强化,其实我非常懒,如果不是这个原因,在我的世界里C依旧会静静地躺在那个角落
在这个系列里分享一下C语言学习过程中的一些心得
Tip: 在此不准备针对完全没语言基础的同学,特别是没有C语言基础的,关于语言基础知识的系统性构建市面上有很多好书,我就不去添乱了,这里只是拿一系列的小案例来快速回顾C语言基础,这样可以高效且有针对性地进行C语言基础串烧
有一种学习方法是问题驱动的倒逼法,直接上手解决一个个问题,从解决问题的过程中找到知识薄弱点来进行针对性地强化和巩固,这种方法比较高效和省时,可以在极短时间里获得显著的能力提升
接下来就是用这种方法进行C语言基础知识的回顾和巩固
将100以内的奇数相加求和
#include <stdio.h> // #include 是一个文件包含操作,作用就是将后面指定的文件内容粘贴到命令所在的位置,成为源文件的一部分;stdio.h 里包含了基础的输入输出函数定义,一般都要把它引入进来
main () // 不论它的位置在哪里,系统都是从main函数开始执行,C语言必须包含main函数
{ // 函数由{} 进行包裹,代表自己的边界
int i,sum=0; //定义两个整型变量,并且给sum赋初值0
for (i=0;i<101;i++) // 给i赋初值0,在[0,100]的范围内,i会逐1自增
if (i%2 == 1) sum+=i; //将i对2取余,如果结果为1,就意味着i是奇数,将这样的数值累加到sum的总和中来,sum+=i 相当于 sum = sum +i ,判断是否相等要用 == 而不是 = ,= 是赋值
printf("%d\n",sum); // 将sum的结果进行格式输出,printf 是系统提供的基础函数,用来在标准输出stdout中进行输出,"%d\n" 代表以十进制的方式进行输出,然后输出一个换行符,进行换行
}
思路还是相对简单
逐一遍历[0,100],将其中的奇数进行甄别,并且将值累加
原文地址
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。