当前位置: 首页 > 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.cnnetsun.cn/news/2563835.html

相关文章:

  • 5分钟上手Vueify:Browserify+Vue开发环境快速搭建
  • 如何用Python脚本榨干百度网盘带宽:pan-baidu-download终极指南
  • 真正的人工智能理论:你的心,是如何理解世界的?——从内心的那把尺子说起(三)
  • 什么是Agent?一篇讲清楚
  • 【Nginx】深入理解 Nginx try_files:SPA 路由回退、静态资源兜底与零拷贝优化原理
  • 16个分片+2副本:pg_shard的master_create_worker_shards最佳实践
  • 从Arduino功率扩展板到CE/FCC认证产品:硬件创业全流程实战复盘
  • AI Agent 面试题 958:LangChain框架的核心架构和设计理念详解
  • Pearcleaner:macOS深度清理终极指南,彻底释放磁盘空间
  • 智能办公助手套件,支持Office、WPS各版本!内置大模型可智能对话!文档表格自动处理,文案提炼总结、内容校对、语句润色、文章续写生成、翻译、排版、PPT生成
  • ARM SME2 FMAX指令:浮点向量运算优化指南
  • 航空发动机叶片三维扫描-诺斯顿
  • 从CTF实战到日常开发:手把手教你用Python复现Rabbit算法加解密(附完整代码)
  • 私有化视频会议系统EasyDSS一个平台,搞定直播、点播、作业、统计—学校终于不用买多套系统了
  • 你越是爽快借钱给同事,同事就越不把你当回事
  • AI编程底层原理:上下文注入与专业角色切换,Skills让AI从“指令机器”变“思考专家”!
  • Scroll Reverser终极指南:彻底解决macOS滚动方向混乱问题
  • 风控系统如何全维度识别爬虫:IP、账号与行为的协同决策机制
  • 万字收藏!2026版从Function Calling到MCP再到Skills:AI工具调用的三次进化
  • 特定任务需求场景下的过约束并联机构构型设计与控制方法【附代码】
  • Upload-Labs-Linux
  • 告别书签混乱:3个步骤让你的浏览器收藏夹重获新生
  • 如何快速突破原神60帧限制:面向PC玩家的完整帧率解锁指南
  • DIY四路自动音频源切换器:从信号检测到继电器隔离的完整设计
  • Adobe-GenP 3.0:轻松激活Adobe全家桶的完整指南
  • 端到端AI编程的核心原理
  • 如何评估AI应用的商业价值
  • 别再手动测模型了!用Simulink Test Manager实现自动化测试(附Excel表格配置详解)
  • D2DX:让《暗黑破坏神2》在现代PC上重获新生的终极改造方案
  • 如何快速实现智能硬件AI化:3步完成小爱音箱终极改造指南