当前位置: 首页 > news >正文

作为小白,C语言如何从零开始呢

写在前面

毫无疑问,大部分资深程序员的编程生涯都是从C语言开始的。依稀还记得大一时候自学C语言时的情景,当时刚上大一,为了追求心仪的妹子就在完全不懂得C语言是什么的情况下报名参加下学期的计算机二级(C语言)考试。这一行为果断引来了女神关注,效果颇佳。然而在仔细了解了C语言之后,才发现比想象中的困难了一些。再加上大二的学长们各种渲染C语言有多难学,于是心中开始打鼓。

大一的寒假,我从图书馆借来了三本C语言入门的书,开始自学。其中自然有大名鼎鼎的谭浩强老人家的书。记得当时安装Turb C就花了好几天的时间,几近崩溃边缘。后来终于用一个寒假的时间把基础知识都学会了,又做了几套计算机二级的卷子,连蒙带猜的通过了第二学期的考试。从此就算是和编程结了缘。

当年的妹子如今已经杳无音信,而C语言的代码我一写就写了十年。

这十年里,IDE从最简单的Turb C到VC 6.0再到VS2005、2008、2010、2013...开发方向从嵌入式到Windows开发再到Linux服务器开发,当年学习C语言那份热情依然还在。后来又在公司担任了新员工试用期项目培训的工作,每年都要把变量的指针和指针变量这样的东西反复讲。看着他们一个个独立完成了自己的试用期项目,博主成就感爆棚。

最近几年,一直坚持利用业余时间帮助网友解决C语言学习过程中的各种疑难问题。每天至少花费2小时时间回复邮件。随着来信越来越多,越发感到力不从心。况且大部分朋友的问题都是类似的,重复回答实在无趣,于是萌生了在简书做分享的念头。希望更多的朋友与我交流。

下面进入正题

1. 教材选择

不想给大家一长串书名,那样也许就直接抹杀了你学习C语言的兴趣,这里重点推荐三本。

《C程序设计》谭浩强

C程序设计

很多大牛都不推荐谭浩强的《C语言程序设计》,但我不这么认为。这本书虽然讲的不那么到位但作为初学者从它入门还是挺合适的。最重要的是,网上大部分初级网友都是以它为基础进行交流的,有了它更容易融进各种论坛的讨论。

《C程序设计语言》 Brian W.Kernighan | Dennis M.Ritchie

C程序设计语言

这本书是C语言之父Dennis参与编写的,虽然不厚,但有些思想讲得比较到位。建议初学者学习。

《C Primer Plus》

C Primer Plus

这本书是非常经典的教材,每个知识点都介绍的非常到位。可以说这是入门级的选手的终结教材。如果想学好C语言并在后面有更大的发展,这本书必须要看。它能帮你打下坚固的程序设计基础。

学习好这本书之后,学校里的各种考试和小竞赛就不在话下了。接下来,你该开始自己的进阶之路了。

2. IDE选择

如今,Turb C肯定是已经永远地退出历史舞台了,但初学者还是要选择一款合适的IDE才能方便的上手。

GCC + vim

很多学校的实验室都用的Linux系统,建议大家从vim开始编写最初的代码。

编写好后执行下面代码:

$ gcc -c main.c $ gcc -o main main.o $ ./main

Code::Blocks

这是一个轻量级的IDE,对于初学者而言,这是不二选择。

Code::Blocks

可以从这里下载你需要的版本

VS 2013

无疑这是C语言开发最牛X的工具,然而这里不建议初学者使用。由于Microsoft自己制定了很多自己关于开发的规则,初学者会发现课本上的代码原封不动的敲在上面却报出莫名其妙的错误。

VS2013

不过,当你拥有一定C语言基础的时候,VS的学习一定是必不可少的。

3. 实践

编程是一门非常注重实践的学科,如果你不去亲自敲代码的话,那你永远也学不会。而博主也更愿意在邮件中针对具体的编程问题和大家讨论。

这里推荐两个适合初学者编程练习的在线系统。

北京大学 POJ | 杭州电子科技大学 ACM

已经入门的朋友可以前去练习,有什么问题我们一起讨论。

4. C语言知识结构

C语言知识结构f

http://www.rkmt.cn/news/1384236.html

相关文章:

  • Atomic Layout核心概念解析:Composition组件如何实现布局与间距分离的终极指南
  • WTF Auto Layout? 实战:10个常见约束冲突案例解析与解决方案
  • 成都梅雨季来临,房屋漏水抓紧修!2026最新房屋漏水维修公司TOP5调研盘点!卫生间免砸砖防水、楼顶外墙、阳光房+地下室渗漏解决方案解析 - 防水百科
  • Espresso架构解密:MVP模式如何打造流畅的快递追踪体验
  • 终极指南:3步掌握Cargo Rust包管理器,让项目管理效率提升300%
  • 【Android】Todesk手机远控手机、电脑,无会员无广告!!
  • 8-机器学习与大模型开发数学教程-第0章 预备知识-0-8 编程与数值计算基础(浮点数精度、溢出、数值稳定性)
  • SPT-AKI Profile Editor技术架构深度解析:基于MVVM的SPT存档管理系统设计
  • 基于LSTM与集成学习的风机预警预测:从时序数据到主动维护
  • 大模型推理的PD分离:CANN用MC2算子做了什么
  • 从信号处理到游戏开发:sin/cos函数图像背后的实战应用与性能调优指南
  • 基于STM32N6与MoveNet的体感切水果游戏:边缘AI交互实战
  • 技术方案:如何通过WebCatalog将网站应用化解决桌面环境碎片化问题
  • 防城港梅雨季来临,房屋漏水抓紧修!2026最新房屋漏水维修公司TOP5调研盘点!卫生间免砸砖防水、楼顶外墙、阳光房+地下室渗漏解决方案解析 - 防水百科
  • Unity游戏去马赛克终极指南:5款免费插件完整配置教程
  • 别再只调sklearn的SVC了!手把手教你用Python从零实现SVM分类器(附鸢尾花数据集实战)
  • Voyager AI玩Minecraft翻车实录:我遇到的5个坑及修复方案(Win10环境)
  • Filecoin节点运维日记:一次完整的32GiB扇区基准测试与性能调优全记录
  • 告别macOS下载烦恼:res-downloader视频资源下载终极指南
  • 5分钟搭建智能抢票系统:告别手慢无票的烦恼
  • 3分钟完成微信防撤回设置:WeChatIntercept完整使用指南
  • 如何5分钟内将位图转换为无限放大的矢量图:vectorizer深度解析
  • AI Agent Harness Engineering 的版权问题:生成内容的归属权与侵权风险防范
  • Control User Cursor:10个创意交互效果的JavaScript光标控制教程
  • 3步掌握网络资源抓取技巧:从微信视频号到多平台内容下载实战指南
  • 如何用Electron打造终极番茄工作法应用:Pomolectron完整指南 [特殊字符]
  • 2026年AI就业风向标:这6大方向薪资翻倍,选对赢在起跑线!
  • 如何通过3个实战场景解决iOS应用中的Markdown渲染难题
  • 番茄小说下载器:一图看懂三大核心能力与零门槛使用指南
  • java基础-多线程(1)