这个学期不知道怎么的,发了一本 c 语言的书,这本书是谭浩强写的。之前在网上看到过别人说他写的书,评论说这本书有些炫技的成份。我昨天看了下这本书的内容,对于自己看书学习的新手还是有些不大友好的,但是这本是教科书,可以有些内容是要老师来教授的吧。
现在来解释一些为什么我前面说到的那句话“这个学期不知道怎么的,发了本c语言的书”,我为什么会说这句话呢。那是因为,本来吧,我也是一名大专生,大专本来就是来学习技能知识的。我们已经在这个学校以后三个学期了,这个学期是第四个学期,过完这个学期就开始进入职场实习了。我们是学大数据专业的,我们本来是要学会Linux系统的,因为大数据所用到的组件都是在Linux上面跑的,但是我们也只是潦草的上了一个礼拜的Linux。后来就再也没有学习过Linux了。在大数据中所用的编程语言也应该是java,但是现在比较流行的是用Scala语言来编写程序。
但是队友这两门语言,我们也是在大二的时候学过一些,也只是老师匆忙带过,把我们带到面向对象。然后Scala也是最后为了应付考试的时候带我们了解了一下。看来大专老师教授的知识还是挺少的。目前我们就简单的学过一些简单的Hadoop,还有web的简单前端知识。
比较幸运的是,我之前参加了技能大赛,我学到的东西就会比班上的同学多一些。
现在来说一下这个为啥说这本 c语言的书有炫技的成分,对新手也不太友好。
我看到了一个简单的程序,求两个整数之和,书中代码如下:
# include <stdio.h>
int main()
{
int a,b,sum;
a=123;
b=456;
sum = a + b;
printf("sum is %d", sum)
return 0;
}
在这个段代码中,他所用给变量赋值的方法,看起来就很难一下就理解了,刚开始接触编程的人,一下子看到这样的代码就会很难理解每个变量的类型和所赋予给他的变量值是什么。虽然说这样子写是没有错的,但是这样会让新手难以琢磨,是她早早的退出程序圈。写代码讲究的应该是简介易懂,让别人来看我们写的代码的时候可以一下就看明白我们写的是什么意思,我们每行代码所表示的意思。
# include <stdio.h>
int main()
{
int a = 123;
int b = 345;
int sum = a + b;
printf("sum is %d", sum)
return 0;
}
如果换成这样来写,是不是就显得更容易看懂,很快就可以看明白这段代码要表示的意思了。
为什么又会说这本书对于新手不是很友好呢?
如果你编辑好这段代码之后,你又该怎么运行他呢?
在书中并没有告诉我们如何运行这一代码,也没有告诉我们应该怎么可以让她运行起来。
所以想要运行这段代码我们需要编译他,既然要编译这段代码就需要用到编译器。所以我们先从网上下载c语言的编译器。
https://sourceforge.net/projects/mingw-w64/files/
在这个链接中,我们就可以下载到我们编译c程序所用到的编译器
Windows下载 posix-seh 的文件,下载下来解压然后将他的bin目录添加到环境变量中就可以了。这样我们就可以在dos命令中编译c文件了。
我们学习一门新的编程语言的时候,一开始都会用这个语言来写第一个程序,helloworld,我之前学过一些 java 和 Python 。我对c还不是很理解,也是刚学,c 的程序和 java 的还是有很多不同的。在 c 语言中好像没有类。据说 c 是没有面向对象这个东西的。
# include <stdio.h>
int main()
{
printf("hello, world!");
return 0;
}
这个就是 c 中的 hello world。在java中的 main 方法是一个无放回值的方法,而在 c 中是一个返回 int 值的方法,所以我们在程序结束的时候需要放回一个 int 值。c 相比于 java 来说,看起来还是更为的简洁的。
现在感觉这些编程语言都是差不多的,会了其中一个之后,别的很快就会学会了,主要就是在于语法上面的不相同,对于其编程的思想都是一样的。