C语言从哪学起(c语言初学怎么学)

互联网 不建议 2023-08-20 17:52:03 -
C语言学习

很多朋友对于C语言从哪学起和为什么不建议学c c不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!

本文目录

  1. 应该怎样学习c语言
  2. C语言从哪学起
  3. Java难学么
  4. 现在的编程语言越来越多,为什么C和C++ 还没有被现在的时代淘汰呢

应该怎样学习c语言

我给你的一点儿建议:

1.换一本教材,不要用谭浩强的书,书里错误不少,而且会导致很恶劣的代码风格。

2.上来不必把字符在内存中的存储全部搞懂,可以慢慢来。

3.关键字没有几个,无非几个英文缩写。你也可以在以后的代码中使用汉语拼音,不过是个代码可读性的问题。英语很简单,真的很简单。

4.实在没兴趣可以学点别的,例如Python。

我在高中的时候接触编程,当时是为了参加信息学竞赛,我入门的语言是C语言。如果现在再让我选择一次,我可能会告诉初学者:可以选择Python。C语言有些地方对新手不够友好,语法繁琐,++、指针这些会让新手头大。

我入门的教材选择的是谭浩强的《C语言编程》,老先生是国内的元老,然鹅这本书真是错误很多,我在学习这本书的过程中挑出了20几个错误,直接导致我对C语言的好多特性模棱两可,例如指针的指针。后来,我看到了英文原版的C语言教程之后,就很少再翻中文书了。所以,建议英文还可以的朋友直接去看原版,再不济读个翻译版本也是可以的。

教材我推荐一本《CPrimerPlus》,很好但是很厚,另一本书是ZedShaw的《笨办法学C语言》。

重点推荐ZedShaw这一本,有实例并且带有详细的讲解,还有课后练习,既具有启发性又有实用性。这本书刚上来可能会让新手觉得略困难,但是坚持读下去,你会发现作者写的正是一个准程序员的学习之路。学好一门语言往往不止读一本书,所以多读几本。

教材有了,如何进行学习?

把书上的例子全部在机器上敲一遍。

合上你的教科书,根据对程序的理解,把程序“默写”出来,然后去实现你想象中的“酷炫效果”。

把你的练习题换一种思路表达出来。

到网上各大高校的OJ系统去做练习。

同时,各大平台不乏讲解C语言的课程,但我认为初学阶段应该以看书为主,看视频为辅。另外补充一个网站http://www.runoob.com/,在这里你可以找到相关材料。同时,当你在学习的过程中发现了问题,一定要善用搜索引擎,多去逛逛博客园、CSDN这些网站,这样才能有进步。

C语言从哪学起

先问个问题:

你喜欢看书吗?你是否拥有计算机结构、存储、运算原理的扎实基础?

如果以上任何一个都没有,那么劝你还是放弃C语言,去学习门槛相对较低的HTML、PHP、Python、Java。

很多初学者刚学习C语言的时候,觉得困难重重,不是因为智商的差异,归根到底,是因为你是否对计算机系统有一个整体的、科学的基础认识?

所以,你想学习C语言,首先你得懂这些,如果你不懂,那么就买书去看吧,看视频也行。

书籍

《计算机科学导论》基础书籍(必看):

必看书籍,先把“基础的数的进制知识”“基础的计算机结构知识”“数字化原理”搞明白,再去学习C语言,必定事半功倍。

这本书籍比较基础,阅读起来难度不高,能够让你对计算机有一个整体的了解。

【如果你看到这里,决定放弃C语言,那么就不要往下看了,说明C语言这门语言不适合你的性格。

你可以考虑HTML、PHP、Python、Java等,或者去w3cschool上面的免费实战去测试下,你自己喜欢哪门语言,感兴趣才能坚持,更何况是编程学习,更需要兴趣做主导。】

《C语言程序设计》K.R(必看):

对新手来说略难,但是绝对是非常重要的一步,你需要认真阅读。

《cprimerplus》

进阶书籍,写的非常详细,建议阅读。

方法

后面就不再介绍书籍,你先把上面的书看完,你自然而然知道该如何学习C语言,上面介绍三本书都没看完,介绍再多书籍,对你也没有任何帮助。

说到底,C语言:一门以内存为中心的编程语言。

下面是知乎用户“林建入”的一套学习C语言的方法,小伙伴可以参考下。

学习方法:

1.学习基础语法

2.学习简单的少数几个C语言自带的函数

3.学习程序设计的基础知识,比如算法、数据结构

4.学习一些C语言更加强大的函数。

5.学习一些特定领域的基础理论知识,比如操作系统、图像、数据库、网络等。

6.应用上面的知识,进一步学习其他人其他人提供的函数库。

这个阶段最重要的是1到4,然后选择去做5和6,自己做出一些小作品出来,那么就非常赞了!

大概就这些,就这么几百个字,但是你去学习的时候,说实话,会很累,但是希望你能坚持!

最后送上一张图,当年学C语言的过程,共勉之。

Java难学么

说实话,如果没有接触过电脑,Java并不是特别好学。因为在Java学习之初就要涉及到非常多的电脑基础知识应用。比如如何配置环境变量,以及配置Tomcat服务器等等,所以如果没有接触过电脑学Java是非常吃力的。

配置环境只是最初的阶段,关键是后期还有非常多的编程知识需要学习。这里面也涉及到了非常多的电脑基础相关知识。比如说内存,二进制。这都和电脑基础密不可分。再往后还有很多的web应用需要学习。

在这些学习过程里又很多的知识点,对于没有接触过电脑的人而言,是很难转过弯的。如果真的有毅力去学,当然没有问题,但是这要付出比常人多10倍甚至百倍的精力。

如果真的想学一门编程语言,建议可以从前端学起。当然前端也不是非常的容易。只是入门相对简单一点。先获取一些基本的电脑知识后,再学习后端语言可能效果相对好一点。对于后端语言,如果要配置环境等等,简单一点的话,其实倒是建议学c#,语法和Java几乎一样,但是入门配置更简单。

c#由于是微软开发的,和windows系统结合非常的好。免去了很多不必要的配置,上手就能开发。在最新的版本中。也实现了跨平台开发,能够同时开发桌面应用程序、手机应用、网站和各类服务。同时也是一款全开源的编程语言。

如果您在接触Java之后感觉入手不是很方便,那可以尝试尝试从c#/.net入手。

现在的编程语言越来越多,为什么C和C++ 还没有被现在的时代淘汰呢

如果我们把编程语言分为三类,可以这样分:第一、汇编;第二、C/C++;第三、其他语言。可以看出C/C++与汇编的不可替代性。

基本上几乎所有的软件系统,其底层都是C/C++(有时还包含汇编,为方便叙述,以下不再强调汇编)。C/C++具有基础作用。所谓基础不牢,地动山摇。

首先操作系统,基本上内核都是主要用C写出来的。主流的操作系统,数都数得过来。一些非主流操作系统,也是以linux、unix为基础。

应用软件都是要运行在操作系统上的,只要涉及和底层打交道,就很难绕开C/C++,因为操作系统开放的接口就是C接口。这个还好说,多数人或许一辈子也涉及不到,比如网页前端程序员。

但是硬件开发商就没有那么幸运了,硬件要和软件打交道,就离不开设备驱动。写驱动,那就是C/C++的主战场,特别是C。这已经是内核级别的编程了。已经“潜入”到虚拟机、解释器、shell(外壳)下面了。像我们熟知的Java、C#等,都是要依赖虚拟机的。内核级别为什么非要用C/C++?依然是那个原因,操作系统开放的内核接口就只有C(暂忽略汇编,下同)。所以只能用与C兼容的语言,包括C++。

编程,除了亲密接触操作系统,还有一些重要的东西,那就是编程语言和编译器、解释器。

刚已经说了,很多编程语言都离不开虚拟机的,有的要用到解释器。很不幸,多数虚拟机都是用C/C++写出来的。以最流行的Java虚拟机来说,它必然有些场景只能用C/C++完成。与操作系统内核相关的部分,那是绕不开的。还有就是一些复杂的高性能算法。最常见的就是压缩、加密,还有图像处理、音频处理、视频处理、3D渲染。如果你不信,请马上去阅读JVM中有关JPG、PNG图片处理的程序,看看是不是用的C?

现在python似乎非常火爆,可以用来做算法、做数据挖掘。其中一个典型就是tensorflow,他也是用C/C++写出来的。我们在写python的时候,以为是用的纯python,实际上不论是库函数还是第三方高性能库,都是C/C++写的。

嵌入式开发,又是另一个应用场景了。它的其中一个特点就是小巧、成本低、功耗小,这时候,C也是主战场。设想,你如何在一块手表上集成很多高性能低功耗的功能?比方说,除了C/C++,你还可以用什么去开发蓝牙功能?或许你会说,技术在进步,硬件性能在提高。但是别忘了,人类的需求也在提高。比如,未来如何在一粒芝麻大的(医疗)机器人上进行开发?你别告诉我:等会,我先装个几百兆的虚拟机再说……

说了这么多,总结一下,C/C++之所以常青,与操作系统关系密不可分。操作系统是基础的基础,它们既然已经选择了C,我们又很难去发明一个更好的不是基于C的操作系统内核,那就只好“将错就错”。第二,C/C++确实快,确实消耗资源少。因为它有几个特点:一、不依赖虚拟机和解释器,直接就是本地(native)代码。二、保留指针,可以灵活操作内存。第三、没有GC(垃圾回收)。如果要替代,那至少得满足这三个条件。

满足这些条件的,其实也有,比如rust,最近也比较火。它就是C/C++的竞争者。只不过,因为历史原因,还多基础设施已经用C去构造了。这就好比,我们的铁路轨道已经这么宽了,你不能说改就改,大家就继续沿用吧,要不然火车如何“兼容”?难道全部改底盘?

总之,即使我们用不到C/C++,还有其他领域的人用到:做设备驱动的、做操作系统内核的、做高性能算法内核的、做编程语言的、做嵌入式的。没有这些人跟我们打基础,我们几乎是寸步难行。除非它们永远不更新换代,不再维护。

关于C语言从哪学起和为什么不建议学c c的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

C 学习 C 语言