怎样学好C语言-C语言学习路线与思维导图,经典书籍推荐

本科学历的我拿到了腾讯的Offer、给大家推荐零基础初学小白C++学习路线,走过路过不要错,动动小手看看吧!!! 前言:楼主本身在腾讯做C++后台开发,大学也是以LinuxC++开发路线为主,还算有一定学习经验,下面分享一下我从零基础到进入大厂C++该怎么学,大家一起来看看吧!!! 一、学习建议 对于技术岗,C++基础知识可以说是个人的硬实力,是你能通过面试的一个大前提。而说到C++基础的学习,对于很多还没有基础的同学可能会有点懵逼,C++基础知识这么杂,技术书籍这么多,该从何看起呢?这是我总结的C语言基础知识总结(详细完整版),大家可以仔细的看看。 先不用慌,当初的我也和你们有一样的困惑,之后一步步挖坑填坑,才构. 阅读详情

根据个人经验,学好C语言须经历以下几个阶段,由于Linux 90%都是C编写的,而且应用广泛,这里主要强调在linux下学习为好,一方面,了解Linux操作系统,一方面学习C语言;


1. 初级阶段:
   (1)达到的水平:

   这个阶段,要求学习者系统地学会C语言本身。
   掌握C的所有语法,将随便一本C语言教材里的知识点学习透彻,能够将书中的知识点都列出来,尤其是下面这些:
       数据的存储属性和作用域,static,const;
       数组,指针,字符串以及他们之间的关系;
       函数及其与指针的关系:函数指针,指针函数......
       内存操作函数,如malloc等的熟练理解与运用;
       会操作文件.
   考虑到Linux的重要性,会简单使用gcc,gdb进行调试,对C编译过程有初步了解;
   会熟练使用书中后面附录列出来的函数;
   遇到问题,知道这部分的知识点是在书中的什么地方能够找到;
   能够进行小程序的模块化设计和编程,达到2级水平以上;

(2)初级阶段思维导图:


  
   (3)学习方法:
   只要按步就班跟上教师的进度,多做一些题目,多多练习,对于以上重要知识点,反复琢磨和理解,用例子加以证明,什么是错误的,发生错误时,又是如何改正的;
   怎么样写又是正确的,为什么?;
   做一些小的项目或者例子,将上面的知识点都有效的运用上。
   推荐:1. 在学习好书本的同时,再仔细调试《Linux C 函数参考手册》(下载地址: http://liranke.download.youkuaiyun.com/user/liranke/all/7 )中的例子
         2. 随便在网上baidu一下"C语言标准100问",将其中的问题都理解和掌握;
         3. 在学习教科书的同时,能够同时学习和理解C语言鼻祖Brian W. Kernighan和Dennis M. Ritchie合编的《C程序设计语言》,权威的著作,并与教科书进行比较。
         4. 读一些C写的开源的原码(例如libc),将更上一层楼;

         5.推荐书籍:

这是C语言的作者编写的,最具权威的书籍。
  
2. 中级阶段:
   (1)达到的水平:

   在这个阶段,主要经历将不再是C的语法,而是更加深层次的理解一些系统调用函数以及编译链接,函数库等。通过这些函数,来掌握诸如进程及进程间的通信,内存管理,文件系统,
   对硬件的操作,甚至是网络编程基础......等等,这个阶段可能很漫长,但是非常有用,甚至是必有可少。也是步入C语言核心编程的重要的一步。
   可以说,这个阶段水平已经相当高了,单就C语言编程来说,已经能够胜任任何场合了。
  

(2)中级阶段思维导图:


   (3)学习方法:
    推荐:将《Unix环境高级编程》以及《Linux编程白皮书》中的例子亲自调试,并将其中的概念基本掌握.能够基本掌握,已经相当历害了呵!
    如果对网络编程感兴趣,还可以看看《Unix网络编程》一书,相信读者会受益非浅;
    再强调一下,《Unix环境高级编程》对内存空间的介绍相当值得仔细理解。


   
3. 高级阶段:
   也是C语言的最高阶段,其实,没有什么可以学习的了,只是再回归到C语言本身,将C标准再能够静下心来,研读(注意是研读,而不是泛泛地读)一番,思考一下,提出这个观点的原因,
   以及这个观点或者要领的适用场合,以及和其它语言进行初步的比较......

高级阶段思维导图:


  
   愚人之见,不吝赐教。
  



   祝读者在C世界中畅游。

怎样学习C语言(献给迷茫的C爱好者) 怎样学习C语言(献给迷茫的C爱好者) 很多人对学习C语言感到无从下手,经常问我同一个问题:究竟怎样学习C语言?我是一个教师,已经开发了很多年的程序,和很多刚刚起步的人一样,学习的第一个计算机语言就是C语言。经过这些年的开发,我深深的体会到C语言对于一个程序设计人员多么的重要,如果不懂C语言,你想写底层程序这几乎听起来很可笑,不懂C语言,你想写出优秀高效的程 立即下载

相关推荐

怎样才能学好C语言

怎样才能学好C语言,C语言入门!初学的应该看看!

如何学好C语言

写这篇文章的主要目的是作为过来人想给初学者一些学习建议。掌握一个好的学习方法,往往可以事半功倍。 想窥探神秘的代码世界?最好的入口无疑就是C语言。 C语言是计算机体系结构的基础,向下可以操作硬件(包括ARM,DSP,单片机等各种微处理器),还可以写驱动,写OS,写编译器。向上可以进一步的学习C++,JAVA等面向对象语言,再学习一些图形用户界面框架,比如Qt,MFC,就可做出类似于计算器、QQ...

码之有道 5万+

c++实现异步线程池并详细分析线程池析构流程

多线程编程是提高程序性能和响应能力的关键技术之一,异步线程池作为多线程编程的一种有效实现方式,能够管理和复用线程资源,避免频繁创建和销毁线程带来的开销。在本文中,我们将深入探讨如何实现一个异步线程池。

2301_76564925的博客 1599

Lesson0:如何学好C语言以及对自己未来的憧憬

首先,以一段代码来开头吧~。return 0;这段代码,也正是我想对计算机说的一段话:“Hello World!

Aspect of Twilight的博客 524

Upload Symbols Failed:The archive did not include a dSYM for the LiveKitWebRTC.framework with the UU

你需要从源码构建 LiveKitWebRTC,而不是使用 CocoaPods 安装的预编译 .xcframework。Step 2: 修改 Podfile 使用本地路径引用(不是从源下载的 xcframework)方法 :强制从源码构建 LiveKitWebRTC.framework(推荐)这样它就会编译 WebRTC 并带上正确 UUID 的 dSYM。替换路径为你 clone 下来的 LiveKit 源码位置。Step 1: 克隆源码仓库。

baidu_40537062的博客 2135

IBM 3560M3 R5 坏盘更换记录

公司一台老旧 3650M3在日常巡查过程中发现硬盘报错

ddriv的博客 3944

如何学好c语言

一.为什么要讲《如何学好c语言》这个主题? 1.很多人想学习c语言,却学不会 2.网上有很多方法资料,但大多纸上谈兵 3.相关知识点比较晦涩难懂,不容易自学 4.根据自身摸索出的学习经验,分享给你们 https://blog.youkuaiyun.com/weixin_60478154/article/details/119929682,这里大家可先看看我之前写过的博客 二.关于选择的问题 工欲善其事必先利其器——好的编译器让我们事半功倍 选择VS2019 *VS2019是集成开发环境,对新手友好,.

clockticks的博客 1190

Nvidia Isaac Sim图形界面 入门教程 2024(3)

在使用Isaac Sim时,最先接触到的应该是它的图形界面,此处将简单介绍图形界面中常用的一些组件:Isaac Sim的界面的常用内容可以分为几个板块。

m0_56661101的博客 4547

【c语言】如何学好c语言?c语言应该怎么去学?

新手必看的学习经验分享干货!~

想要慢慢变得优秀的向阳的博客 2108

基于51单片机的电压表【0-20V,ADC0832,4051,自动量程】(仿真)

自动换挡式数字电压表就是一个基于单片机的能自动切换量程的数字电压表,其作用是在使用低位的AD转换实现高精度电压测量,可以测量0~20V的电压,并且具有0~0.2V(待测电玉低于0.2V时),0~2V(待测电压低于2V时)和0~20V三个量程自动匹配测量,当待测电压值发生变化时,电压表可以根据输入电压情况自动选择合适的量程进行测量,并且把测量结果显示出来。(2)实现电压表精度测试,最高精度要求0.01V;(1)实现0~20V分3档式电压表;

qq_63964231的博客 1498

把对讲门铃(控制底楼铁门)接入米家服务器

今天讲个跟SDR或者无人机无关的东西,技术含量不高,但是方便了我的生活。 现在家门有智能锁,汽车也可以远程解锁发动,NFC门禁也可以用某些手机复制,唯独楼下的铁门,必须用老式对讲门铃控制。 也就是说其它钥匙都可以不带,就剩这个钥匙还必须随身携带。 另外有时候人不在家,不能开楼下铁门,快递员也没法把东西送上楼。 ......

老邵的开源世界 6551

C语言高效学习、提升方法

C语言高效学习、提升方法 C语言怎么学习、提升最快呢?个人觉得还是要从框架上去着手学习,用全局眼光去看、去学,主要是三部分:关键字及基本语法、重点功能点及标准库函数;只要把这三部分基本搞懂了,剩下就就是去刻意练习与项目实践,更熟练也就更精通,也就能写出架构更合理、更精妙的程序~

热土程序园,利他愉己~ 3002

机器学习笔记 - 神经辐射场(NeRF)的简要概述

神经辐射场十分重要。在表示和渲染 3D 场景领域,神经辐射场 (NeRF) 在准确性方面取得了巨大突破。给定底层场景的多个图像,NeRF 可以从任意视点重建该场景的高分辨率、2D 渲染图。与局部光场融合 (LLFF) 和场景表示网络 (SRN) 等现有技术相比,NeRF 更能够捕获场景外观和几何形状的复杂组成部分(例如,依赖于视图的反射和复杂的材料)。NeRF的研究目的是合成同一场景不同视角下的图像。

学以致用 知行合一 1693

保姆级零基础 C 语言学习路线,万字总结!

从大学接触 C 语言编程,工作之后一直从事互联网 C/C++ 后台开发工作,粗略算下来有 10 多年经验了(但是年限也并不能代表什么),只能说对 C 语言学习有一些经验可以分享给初学者,让你少走一些弯路。先说下自身的情况吧,我非计算机科学科班,本科专业学的是电子信息工程,学过模拟电子和数字电子技术,课程与计算机科学专业有点差异,算是半个科班。因此我的计算机体系知识构建,基本都是靠自学,只要掌握正确...

编程与实战的博客 4151

第一章:Profibus DP通信简介

PROFIBUS (Process Fieldbus)的缩写,是一种国际化的、开放的、不依赖于设备生产商的现场总线标准。它广泛应用于制造业自动化、流程工业自动化和楼宇、交通、电力等其他工业自动化领域。串行现场总线主要用来连接数字现场设备或中、低功能的系统,如传感器、执行机构、变送器、可编程序控制器(PLC)、数控装置(NC)、编程设备、本地人机接口等。

qq_22560021的博客 4895

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

【经验分享】零基础如何系统的学好C语言/C++?

首先告诉你的是,零基础学习开始学习C语言/c++肯定难,C语言的专业程度本身就不简单,学习这事本来就是一件非常煎熬的事情,人都不愿意学习,可是没办法,为了生存掌握一个技能,你必须学,如果你不认真的对待,你就找不到高薪水的工作。 提醒大家几点 一:盲目的去学 当初我在对于C语言这个行业什么都不了解的情况下,比如:不知道未来发展趋势,不知道学习C语言应该注意哪些初始问题,不知道具体的学...

C语言学习之家 579

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

学好C语言的建议

新手学习C语言小建议

zm010330的博客 515

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Java程序员必读书籍(进群白piao)

你读书真的读对了嘛,如何避免无用功,进行高效阅读

gp0002222的博客 1645

历史全网最全Python学习路线图+14张思维导图,让python初学者不走弯路

问题在于很多人不知道学Python做什么,所以什么零碎细末、艰难晦涩、长篇大论的都去看,很容易陷入学不下去的困境。必须要有针对性、选择性地学!针对性学习宗旨是按需去学,学以致用。

m0_58477260的博客 313

【转载】一篇文章一张思维导图看懂Android学习最佳路线

一篇文章一张思维导图看懂Android学习最佳路线 一篇文章一张思维导图看懂Android学习最佳路线 先上一张android开发知识点学习路线图思维导图 Android学习路线从4个阶段来对Android的学习过程做一个全面的分析:Android初级、中级、高级以及资深工程师。只针对Android应用开发,不针对Rom开发和逆向工程等。方便起见虚拟...

BaQiShiGuang的博客 478

一篇文章一张思维导图看懂Android学习最佳路线

一篇文章一张思维导图看懂Android学习最佳路线 先上一张android开发知识点学习路线图思维导图 Android学习路线从4个阶段来对Android的学习过程做一个全面的分析:Android初级、中级、高级以及资深工程师。 只针对Android应用开发,不针对Rom开发和逆向工程等。方便起见虚拟“小D”为成长人物进行描述。 初级工程师 小D之前完全没接触过Android开发,对编程...

395

Android 学习最佳路线

一篇文章一张思维导图看懂Android学习最佳路线 先上一张android开发知识点学习路线图思维导图 Android学习路线从4个阶段来对Android的学习过程做一个全面的分析:Android初级、中级、高级以及资深工程师。 只针对Android应用开发,不针对Rom开发和逆向工程等。方便起见虚拟“小D”为成长人物进行描述。 初级工程师 小D之前完全没接触过Android开发,对编程...

油焖茄子 的博客 462

逆袭进大厂:程序员究竟该如何学好前端?

新手程序员究竟该如何学好前端?

KaiSarH 5682

史上最强 Java 学习路线图!

网上看到一首诗:“代码尽头谁为峰,一见秃头道成空。编程修真路破折,一步一劫渡飞升。”感觉还挺有意境的。 第一部分:Java 基础篇 这个阶段就是编程入门,掌握 Java 这门编程语言的基本语法,为后面的修行之路打好基础。 包括的知识点有: 环境搭建——Intellij IDEA 一站式搞定 Java 基础语法 面向对象——封装、继承、多态 数组 字符串 集合框架 IO 反射 注解 网络编程 并发编程 这方面的资源我给大家梳理下: 1)针对 Intellij IDEA,GitHub 上有一份简体中文版教

沉默王二 34万+

【C/C++学习路线】(下):学完了C/C++语法之后该学什么?

在学完了C/C++语法之后,我相信很多朋友都会比较迷茫,到底应该学什么? 其实总结起来无非就是: 1、网络编程; 2、操作系统; 3、数据库; 4、数据结构与基础算法; 上一篇文章中我们讲到了网络编程以及操作系统,那么今天,我们接着给大家分享数据库和数据结构部分! 数据库与中间件 主要是MySQL、MongDB、Redis、Nginx等; 在大学的课程里,一般都会开设一门数据库的课程,不过这门数据库是没有针对某一种数据库语言的(例如 MySQL、SQlite)。不过我这里只讲 MySQ

致力于C语言C++知识分享! 2437
上一篇: Java中final、finally和finalize的区别
下一篇: Linux进程间通讯所使用的系统调用函数
liranke
博客等级 码龄20年 4939粉丝 594原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liranke

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值