很多人大一就开始学习C语言,你真的学到了吗?

好多人大一就学了C语言,但你有没有感觉学的不深,不扎实。或者说越学越迷茫,不知道它能做什么

我相信,这可能是很多朋友的问题,其实,这是很多初学者都会踩到的一个坑!C语言本身是一门很简单的语言,提供的实用功能不多,大部分要借助操作系统、第三方库、单片机来完成。也就是说,只学C语言基本什么也做不了,也基本找不到工作。

但是如果你非要跳过C语言,从其他语言开始,比如 Java、Python、PHP、JavaScript、C# 等,也不是不可以;但是,在学习的过程中你会有一种雾里看花、空中楼阁的感觉,很多东西只会用,却理解不了,深入不了,原因就是没有计算机基础,没学会走就想跑了,这个时候,还得老老实实回来学习C语言。

下面是我给大家的一些建议:

我鼓励你想要去学C语言的想法和精神,很多人都觉得C语言好学,其实并不然。(你可以看看《C语言的迷题》)现在的这个社会更多地去关注那些时髦的技术,而忽略了这个流行了40 年的C语言。一门技术如果能够流行40多年,这才是你需要去关注和学习的技术,而不是那些刚出来的技术(过度炒作的技术,Windows编程史)。这才是踏踏实实的精神。

不要找借口。这一条路走下来并不容易,不要给自己找借口。


我认为,学好编程有四个方面:语言、算法和数据结构、系统调用和设计。

一,语言

我可以告诉你C语言有两大主题你要好好学,一个是内存管理,一个是指针!这个世界上90%以上的C/C ++ 出的严重性错误全是和这两个有关。不要看谭浩强的那本书,那本是本烂书。推荐这本书给你《C程序设计语言(第2版·新版)》

二,算法和数据结构

我认为,用C语言实现算法和数据结构莫过于最爽的事情。推荐你看这本书——算法:C语言实现(第1~4部分)基础知识、数据结构、排序及搜索(原书第3版),还有那本经典的《算法导论》

三,系统编程

Windows下推荐两本书——《Windows 程序设计 》和《Windows核心编程》,Unix/Linux下推荐两本书——《Unix高级环境编程》和《Unix网络编程卷1,套接字》《Unix网络编程卷2,进程间通信》尤其是《Unix网络编程》这本书,一通百通,无论Windows还是Unix/Linux,都是一样的。

四,系统设计

关于设计方面,我全力推荐《Unix编程艺术》,看完以后,你就明白什么是真正的编程文化了。然后,当你看到Windows的Fans的某些言论时,你就知道什么叫一笑了之了。

如果你能在2-3年内精读完这些书,并全部融会贯通,那么你就明白什么是一览众山小的感觉了!我足足花了5年时间才算是真正全部读完这些书的。最后,祝你好运!努力!

这篇文章主要想告诉大家这么几件事:

编程编到一定时候,你就需要了解底层系统的机制,否则,知其然不知所以然。

我没有否定非C的程序员的逻辑,真正的逻辑是——如果你想要了解底层机制,请学习C语言和操作系统。

40多年的Unix/C影响深远。包括影响了Windows。如果你想一通百通,一定要了解Unix。那是计算机文化真正的根。

不要肤浅地去思考问题。比如,不要以为一个DBA就不会考虑数据库引擎的内存页面的问题。也不要以为Web程序员就不需要了解后台的服务器和脚本的运行性能以及TCP/IP的问题。

高手往往都是有很强的系统的基础知识的,表面的东西永远是肤浅的。

学习编程其实并不难,

喜欢C语言或者想学C语言的小伙伴可以加一下我自己的C语言交流群815393895,谢谢大家的支持

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/531160.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言发展历史,C语言特点,C语言利于弊,入门须知三招

C语言是面向过程的,而C++是面向对象的 这些是C/C能做的 服务器开发工程师、人工智能、云计算工程师、信息安全(黑客反黑客)、大数据 、数据平台、嵌入式工程师、流媒体服务器、数据控解、图像处理、音频视频开发工程…

程序员怎么看待C语言?最伟大?最落后?

一,前言 对我来说,C语言应该可以算得上是世界上最伟大的编程语言。全中国口气最大的程序员,业界称之为“垠神”,曾经发过文章吐槽过业界各种主流的编程语言(对Java,的Python稍微宽容一些)&…

如何学习C语言?就是这么简单粗暴!

C语言是面向过程的,而C++是面向对象的。 C和C的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理…

C/C++对编程的重要性!其他编程语言都是弟弟!

C语言是面向过程的,而C++是面向对象的 C和C的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得…

C语言其实不难,只是你没有找对方法!

C语言是面向过程的,而C++是面向对象的 C和C的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得…

想学好C语言?先把基础打好再说吧!

C语言是面向过程的,而C++是面向对象的 C和C的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得…

C语言新手最常见的问题!你在这里跌倒过吗?

C语言是面向过程的,而C++是面向对象的 C和C的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得…

用C语言做出你自己的七夕表白程序!

C语言是面向过程的,而C++是面向对象的 C和C的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得…

C语言/C++编程的起源与能力学习

C语言是面向过程的,而C++是面向对象的 C和C的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得…

Windows下设置自动关机的命令指示符

(请先看置顶博文)https://blog.csdn.net/GenuineMonster/article/details/104495419 Windows定时操作命令:superR,输入:??:??shutdown -s ”??“代表时间…

Win7系统转到Win10系统的装机方法

Windows 10的版本最好是家庭版。 1.进入PC的BIOS。进入方法与PC品牌有关,可根据对应的品牌查寻进入方法。 2.将Boot List Option 选为UEFI。有些电脑在切换UEFI后即可显示列表,因此可跳过第三步,反之则继续第三步的操作。 3.重启PC&#x…

Ubuntu16.04amp;amp;Windows 10双系统安装教程(UEFI模式)

相信来这里的各位,都是想在Windows 10的PC上安装Linux Ubuntu16.04,来达到双系统并用的目的。 那么接下来,我就在默认已安装Windows 10的基础上介绍如何以UEFI的方式安装Ubuntu16.04!我的PC是联想小新潮7000—13。在装双系统之前…

利用软碟通软件制作Ubuntu16.04系统启动盘

以下操作均在Windows系统下进行!Windows系统的启动盘和Linux的启动盘要分开,即需要两个U盘来制作和存储。(似乎无法共存于一个U盘里) (系统盘制作软件会U盘格式化,所以U盘提前做好备份工作) 1…

Linux Ubuntu16.04界面美化

(请先看置顶博文)本博打开方式,请详读_liO_Oil的博客-CSDN博客_怎么把androidstudio卸载干净 很多人在安装系统之后可能对其外观、主题或是桌面壁纸不满意,本文给大家介绍几种美化方法和插件! 1.可以将左侧的“热区”…

Linux16.04和Windows 10双系统下,解决时间不一致问题

装完双系统,你可能会发现某一个系统的时间与现在时间不一致(中国相差八个小 时),那么如何解决这个问题呢? 1.将某一个系统的设置时间更新方式设置为“手动”,而不是“从互联网自动获取”。 2.进入PC的BIO…

Linux Ubuntu 16.04系统下可用的Windows应用

众所周知,Linux系统下的生态环境不是很好,很多可以在Windows 10系统下运行的 软件都不能在Linux下运行,那么接下来为大家推荐部分可以应用的软件: A.Google-Chrome. 最简单的方法是到https://www.google.cn/chrome/下载对应的Lin…

基于Vitual Box建立虚拟机,虚拟机系统为Linux Ubuntu16.04

相比于为PC机安装双系统,安装虚拟机在达到相同目的的时候显得更为方便。 那本文就详细的为大家介绍如何在Windows 10的系统下,安装Vitual Box,进而安装虚拟机。 一、下载Vitual Box虚拟机制作软件及镜像文件 Vitual Box网址为:…

ROS安装过程和配置过程(可能出现的问题及解决方法)

(请先看置顶博文)本博打开方式,请详读_liO_Oil的博客-CSDN博客_怎么把androidstudio卸载干净 准备学习ROS,所以在Linux Ubuntu16.04 的系统下安装ROS (建议初学者,先在虚拟机里进行学习和实践&#xff0c…

闲暇所学“表白对话框”

(请先看置顶博文)本博打开方式,请详读_liO_Oil的博客-CSDN博客_怎么把androidstudio卸载干净 相信大家都在某音上看过一段表白的视频:打开某个文件后,弹出一个个对话框,表达对心里人的情愫,请求…

C语言(CED)编写一个程序,求两个字符之间的加减运算。

(请先看置顶博文)本博打开方式,请详读_liO_Oil的博客-CSDN博客_怎么把androidstudio卸载干净 复习C语言,不同的心境遇到了不同的问题: 问题: 编写一个程序,求两个字符之间的加减运算。连续输…