传奇辅助网站怎么做,深圳it外包服务公司,网片生产厂家,黄骅市属于沧州市吗C语言是一门面向过程的编译型语言#xff0c;它的运行速度极快#xff0c;仅次于汇编语言。C语言是计算机产业的核心语言#xff0c;操作系统、硬件驱动、关键组件、数据库等都离不开C语言#xff1b;不学习C语言#xff0c;就不能了解计算机底层。
这套「C语言入门教程」…
C语言是一门面向过程的编译型语言它的运行速度极快仅次于汇编语言。C语言是计算机产业的核心语言操作系统、硬件驱动、关键组件、数据库等都离不开C语言不学习C语言就不能了解计算机底层。
这套「C语言入门教程」由站长亲自执笔将多年的编程经验灌输其中典型的实践派。这部教程已经发布了 5 年经历了 5 次大改版既适合初学者入门学习语法也适合程序员进阶学习底层。
学习C语言除了要学习语法还要学习内存、字符编码、调试技巧以及编程思维这些知识点本教程都做了详细讲解。 红色为高级教程能够让读者认识到C语言的本质并掌握一些“黑科技”。 第一部分编程基础
本章是正式进入C语言学习的一道「开胃小菜」并没有涉及具体的语法目的是让读者对编程的基本知识有所了解并且告诉读者如何少走弯路。 大家在阅读本章教程的时候请放松心情不用死记硬背理解即可。
一、通俗地理解什么是编程语言
学习编程语言之前首先要搞清楚「编程语言」这个概念。 很小的时候父母就教我们开口说话也教我们如何理解别人讲话的意思。经过长时间的熏陶和自我学习我们竟然在不知不觉中学会了说话同时也能听懂其他小朋友说话的意思了我们开始向父母要零花钱买零食和玩具、被欺负了向父母倾诉…… 我们说的是汉语是“中国语言”只要把我们的需求告诉父母父母就会满足我们用“中国语言”来控制父母让父母做我们喜欢的事情。 “中国语言”有固定的格式每个汉字代表的意思不同我们必须正确的表达父母才能理解我们的意思。例如让父母给我们10元零花钱我们会说“妈妈给我10块钱吧我要买小汽车”。如果我们说“10元给我汽车小零花钱妈妈”或者“妈妈给我10亿人民币我要买F-22”妈妈就会觉得奇怪听不懂我们的意思或者理解错误责备我们。 我们通过有固定格式和固定词汇的“语言”来控制他人让他人为我们做事情。语言有很多种包括汉语、英语、法语、韩语等虽然他们的词汇和格式都不一样但是可以达到同样的目的我们可以选择任意一种语言去控制他人。同样我们也可以通过”语言“来控制计算机让计算机为我们做事情这样的语言就叫做编程语言Programming Language。 编程语言也有固定的格式和词汇我们必须经过学习才会使用才能控制计算机。 编程语言有很多种常用的有C语言、C、Java、C#、Python、PHP、JavaScript、Go语言、Objective-C、Swift、汇编语言等每种语言都有自己擅长的方面例如
编程语言主要用途C/CC 是在C语言的基础上发展起来的C 包含了C语言的所有内容C语言是C的一个部分它们往往混合在一起使用所以统称为 C/C。C/C主要用于PC软件开发、Linux开发、游戏开发、单片机和嵌入式系统。JavaJava 是一门通用型的语言可以用于网站后台开发、Android 开发、PC软件开发近年来又涉足了大数据领域归功于 Hadoop 框架的流行。C#C# 是微软开发的用来对抗 Java 的一门语言实现机制和 Java 类似不过 C# 显然失败了目前主要用于 Windows 平台的软件开发以及少量的网站后台开发。PythonPython 也是一门通用型的语言主要用于系统运维、网站后台开发、数据分析、人工智能、云计算等领域近年来势头强劲增长非常快。PHPPHP 是一门专用型的语言主要用来开发网站后台程序。JavaScriptJavaScript 最初只能用于网站前端开发而且是前端开发的唯一语言没有可替代性。近年来由于 Node.js 的流行JavaScript 在网站后台开发中也占有了一席之地并且在迅速增长。Go语言Go语言是 2009 年由 Google 发布的一款编程语言成长非常迅速在国内外已经有大量的应用。Go 语言主要用于服务器端的编程对 C/C、Java 都形成了不小的挑战。Objective-C SwiftObjective-C 和 Swift 都只能用于苹果产品的开发包括 Mac、MacBook、iPhone、iPad、iWatch 等。汇编语言汇编语言是计算机发展初期的一门语言它的执行效率非常高但是开发效率非常低所以在常见的应用程序开发中不会使用汇编语言只有在对效率和实时性要求极高的关键模块才会考虑汇编语言例如操作系统内核、驱动、仪器仪表、工业控制等。
可以将不同的编程语言比喻成各国语言为了表达同一个意思可能使用不同的语句。例如表达“世界你好”的意思
汉语世界你好英语Hello World法语Bonjour tout le monde
在编程语言中同样的操作也可能使用不同的语句。例如在屏幕上显示“C语言中文网”
C语言puts(C语言中文网);PHPecho C语言中文网;JavaSystem.out.println(C语言中文网);
编程语言类似于人类语言由直观的词汇组成我们很容易就能理解它的意思例如在C语言中我们使用 puts 这个词让计算机在屏幕上显示出文字puts 是 output string输出字符串的缩写。 使用 puts 在屏幕上显示“C语言中文网” puts(C语言中文网); 我们把要显示的内容放在(和)之间并且在最后要有;。你必须要这样写这是固定的格式。 总结编程语言是用来控制计算机的一系列指令Instruction它有固定的格式和词汇不同编程语言的格式和词汇不一样必须遵守否则就会出错达不到我们的目的。 C语言C Language是编程语言的一种学习C语言主要是学习它的格式和词汇。下面是一个C语言的完整例子它会让计算机在屏幕上显示”C语言中文网“。 这个例子主要演示C语言的一些固有格式和词汇看不懂的读者不必深究也不必问为什么是这样后续我们会逐步给大家讲解。 #include stdio.h int main(){ puts(C语言中文网); return 0; } 这些具有特定含义的词汇、语句按照特定的格式组织在一起就构成了源代码Source Code也称源码或代码Code。 那么C语言肯定规定了源代码中每个词汇、语句的含义也规定了它们该如何组织在一起这就是语法Syntax。它与我们学习英语时所说的“语法”类似都规定了如何将特定的词汇和句子组织成能听懂的语言。 编写源代码的过程就叫做编程Program。从事编程工作的人叫程序员Programmer。程序员也很幽默喜欢自嘲经常说自己的工作辛苦地位低像农民一样所以称自己是”码农“就是写代码的农民。也有人自嘲称是”程序猿“。 二、C语言究竟是一门怎样的语言
对于大部分程序员C语言是学习编程的第一门语言很少有不了解C的程序员。 C语言除了能让你了解编程的相关概念带你走进编程的大门还能让你明白程序的运行原理比如计算机的各个部件是如何交互的程序在内存中是一种怎样的状态操作系统和用户程序之间有着怎样的“爱恨情仇”这些底层知识决定了你的发展高度也决定了你的职业生涯。 如果你希望成为出类拔萃的人才而不仅仅是码农这么这些知识就是不可逾越的。也只有学习C语言才能更好地了解它们。有了足够的基础以后学习其他语言会触类旁通很快上手7 天了解一门新语言不是神话。C语言概念少词汇少包含了基本的编程元素后来的很多语言C、Java等都参考了C语言说C语言是现代编程语言的开山鼻祖毫不夸张它改变了编程世界。 正是由于C语言的简单对初学者来说学习成本小时间短结合本教程能够快速掌握编程技术。 在世界编程语言排行榜中C语言、Java 和 C 长期霸占着前三名加上近几年爆火的 Python四门语言的市场占用率之和接近 50%拥有绝对优势如下表所示
2020年07月榜单排名语言占有率1C16.45%2Java15.10%3Python 9.09%4C 6.21%5C# 5.25%6Visual Basic 5.23%7JavaScript 2.48%8R 2.41%9PHP 1.90%10Swift 1.43%2021年07月榜单排名语言占有率1C11.62%2Java11.17%3Python10.95%4C 8.01%5C# 4.83%6Visual Basic 4.50%7JavaScript 2.71%8PHP 2.58%9汇编语言 2.40%10SQL 1.53%2022年07月榜单排名语言占有率1Python13.44%2C13.13%3Java11.59%4C10.00%5C# 5.65%6Visual Basic 4.97%7JavaScript 1.78%8汇编语言 1.65%9SQL 1.64%10Swift 1.27%
在 2017 和 2019 年由于小型软件设备的蓬勃发展以及汽车行业底层软件的增加C语言还拿下了「年度编程语言」的桂冠成为全球增长最快的编程语言。下表列出了最近 10 年的“年度编程语言”
年份优胜者2021 Python 2020 Python 2019 C 2018 Python 2017 C 2016 Go 2015 Java 2014 JavaScript 2013 Transact-SQL 2012 Objective-C
C语言诞生于20世纪70年代年龄比我们都要大我们将在《C语言的三套标准C89、C99和C11》一节中讲解更多关于C语言的历史。 当然C语言也不是没有缺点毕竟是70后老人有点落后时代开发效率较低后来人们又在C语言的基础上增加了面向对象的机制形成了一门新的语言称为C我们将在《C语言和C到底有什么关系》中讲解。
1、C语言难吗
和 Java、C、Python、C#、JavaScript 等高级编程语言相比C语言涉及到的编程概念少附带的标准库小所以整体比较简洁容易学习非常适合初学者入门。 编程语言的发展大概经历了以下几个阶段 汇编语言 -- 面向过程编程 -- 面向对象编程 汇编语言是编程语言的拓荒年代它非常底层直接和计算机硬件打交道开发效率低学习成本高C语言是面向过程的编程语言已经脱离了计算机硬件可以设计中等规模的程序了Java、C、Python、C#、PHP 等是面向对象的编程语言它们在面向过程的基础上又增加了很多概念。
C语言出现的时候已经度过了编程语言的拓荒年代具备了现代编程语言的特性但是这个时候还没有出现“软件危机”人们没有动力去开发更加高级的语言所以也没有太复杂的编程思想。也就是说C语言虽然是现代编程语言但是它涉及到的概念少词汇少思想也简单。C语言学习成本小初学者能够在短时间内掌握编程技能非常适合入门。
2、C语言是计算机产业的核心语言
也许是机缘巧合C语言出现后不久计算机产业开始爆发计算机硬件越来越小型化越来越便宜逐渐进入政府机构进入普通家庭C语言成了编程的主力军获得了前所未有的成功操作系统、常用软件、硬件驱动、底层组件、核心算法、数据库、小游戏等都使用C语言开发。 雷军说过站在风口上猪都能飞起来C语言就是那头猪不管它好不好反正它飞起来了。 C语言在计算机产业大爆发阶段被万人膜拜无疑会成为整个软件产业的基础拥有核心地位。 软件行业的很多细分学科都是基于C语言的学习数据结构、算法、操作系统、编译原理等都离不开C语言所以大学将C语言作为一门公共课程计算机相关专业的同学都要学习。 C语言被誉为“上帝语言”它不但奠定了软件产业的基础还创造了很多其它语言例如
PHP、Python 等都是用C语言开发出来的虽然平时做项目的时候看不到C语言的影子但是如果想深入学习 PHP 和 Python那就要有C语言基础了。C 和 Objective-C 干脆在C语言的基础上直接进行扩展增加一些新功能后变成了新的语言所以学习 C 和 Objective-C 之前也要先学习C语言。
C语言是有史以来最为重要的编程语言要进入编程行业高手级别必学C语言要挣大钱必学C语言要做黑客、红客必学C语言要面试名企、外企、高薪职位必学C语言。 三、C语言是菜鸟和大神的分水岭
作为一门古老的编程语言C语言已经坚挺了好几十年了初学者从C语言入门大学将C语言视为基础课程。不管别人如何抨击如何唱衰C语言就是屹立不倒Java、C#、Python、PHP、Perl 等都有替代方案它们都可以倒下唯独C语言不行。 程序是在内存中运行的我们将在《载入内存让程序运行起来》一节中详细说明一名合格的程序员必须了解内存学习C语言是了解内存布局的最简单、最直接、最有效的途径C语言简直是为内存而生的它比任何一门编程语言都贴近内存。
所谓内存就是我们常说的内存条就是下图这个玩意相信你肯定见过。 图内存条
所有的程序都在拼尽全力节省内存都在不遗余力提高内存使用效率计算机的整个发展过程都在围绕内存打转不断地优化内存布局以保证可以同时运行多个程序。 不了解内存就学不会进程和线程就没有资格玩中大型项目没有资格开发底层组件没有资格架构一个系统命中注定你就是一个菜鸟成不了什么气候。 以上这点我有深刻的体会工作期间我曾专注于网站开发虽然能够设计出界面漂亮、体验良好的网页但是对内存泄漏、多线程、共享内存等底层概念一窍不通感觉和周围同事的差距很大这让我非常郁闷不知道如何突破。我曾多次尝试学习内存和线程也找了很多资料但是无论如何都啃不懂到头来还是一头雾水。 离职后我全职运营C语言中文网于是决定再次系统、深入、全面地学习C语言并结合C语言去了解一些内存知识这个时候我才发现原来C语言就是为内存而生的C语言的设计和内存的布局是严密贴合的我因为学习C语言而吃透了内存了解了计算机内存是如何分布和组织的。
C语言无时无刻不在谈内存内存简直就是如影随形你不得不去研究它。 至关重要的一点是我能够把内存和具体的编程知识以及程序的运行过程结合起来真正做到了学以致用让概念落地而不是空谈这才是最难得的。 另外一个惊喜是攻克内存后我竟然也能够理解进程和线程了原来进程和线程也是围绕内存打转的从一定程度上讲它们的存在也是为了更加高效地利用内存。从C语言到内存从内存到进程和线程环环相扣不学C语言就吃不透内存不学内存就吃不透进程和线程。 我感觉自己瞬间升华了达到了一个新的高度之前的很多谜团都解开了和大神交流也没有障碍了。 「内存 进程 线程」这几个最基本的计算机概念是菜鸟和大神的分水岭也只有学习C语言才能透彻地理解它们。Java、C#、PHP、Python、IavaScript程序员工作几年后会遇到瓶颈有很多人会回来学习C语言重拾底层概念让自己再次突破。 四、学编程难吗多久能入门
这篇文章主要是解答初学者的疑惑没有信心的读者看了会吃一颗定心丸浮躁的读者看了会被泼一盆冷水。
1、学编程难吗
编程是一门技术我也不知道它难不难我只知道只要你想学肯定能学会。每个人的逻辑思维能力不同兴趣点不同总有一部分人觉得容易一部分人觉得吃力。 在我看来技术就是一层窗户纸是有道理可以遵循的最起码要比搞抽象的艺术容易很多。 但是隔行如隔山学好编程也不是一朝一夕的事想“吃快餐”的读者可以退出编程界了浮躁的人搞不了技术。在技术领域编程的入门门槛很低互联网的资料很多只要你有一台计算机一根网线具备初中学历就可以学习投资在 5000RMB 左右。 不管是技术还是非技术要想有所造诣都必须潜心钻研没有几年功夫不会鹤立鸡群。所以请先问问你自己你想学编程吗你喜欢吗如果你觉得自己对编程很感兴趣想了解软件或网站是怎么做的那么就不要再问这个问题了尽管去学就好了。
2、多久能学会编程
这是一个没有答案的问题。每个人投入的时间、学习效率和基础都不一样。如果你每天都拿出大把的时间来学习那么两三个月就可以学会C/C不到半年时间就可以编写出一些软件。 但是有一点可以肯定几个月从小白成长为大神是绝对不可能的。要想出类拔萃没有几年功夫是不行的。学习编程不是看几本书就能搞定的需要你不断的练习编写代码积累零散的知识点代码量跟你的编程水平直接相关没有几万行代码没有拿得出手的作品怎能称得上“大神”。 每个人程序员都是这样过来的开始都是一头雾水连输出九九乘法表都很吃力只有通过不断练习才能熟悉这是一个强化思维方式的过程。 知识点可以在短时间内了解但是思维方式和编程经验需要不断实践才能强化这就是为什么很多初学者已经了解了C语言的基本概念但是仍然不会编写代码的原因。 程序员被戏称为”码农“意思是写代码的农民要想成为一个合格的农民必须要脚踏实地辛苦耕耘。 也不要压力太大一切编程语言都是纸老虎一层窗户纸只要开窍了就容易了。
3、“浸泡”理论
这是我自己独创的一个理论意思是说一个人要想在某一方面有所成就就必须有半年以上的时间每天花 10 个小时“浸泡”在这件事情上最终一定会有所收获。 很多领域都是「一年打基础两年见成效三年有突破」但是很多人在不到一年的时间里就放弃了总觉得这个行业太难不太适合自己。 轻言放弃是很可怕的你要知道第一次放弃只是浪费了时间第二次放弃会打击你的信心第三次放弃会摧毁你的意志你就再也没有尝试的勇气了“蹉跎人生”就是这么来的。 你也不要羡慕那些富二代官二代你以为人生就是一次百米短跑你赢了就是赢了其实人生是一场接力赛你的父辈祖辈都得赢那些富二代官二代从好几十年以前就开始积累了。 所以沉下一颗心来从现在开始积累吧有执念的人最可怕。 五、英语和数学不好能学编程吗
很多初学者认为编程语言是由英文组成的而且会涉及很多算法自己的英语和数学功底不好到底能不能学会编程呢
1、英语基础不好可以学会编程吗
首先学习编程需要你有英语基础但是要求并不高初中水平完全可以胜任。 编程语言起源于美国是由英文构成的其中包括几十个英文的关键字以及几百个英文的函数除非需要对文本进行处理否则一般不会出现中文。但是它们都是孤立的单词不构成任何语句不涉及任何语法。 几十个关键字不多用得多了自然会记住相信大家也不会担心。下面是C语言中的 32 个关键字
intfloatdoublecharshortlongsignedunsignedifelseswitchcasedefaultforwhiledobreakcontinuereturnvoidconstsizeofstructtypedefstaticexternautoregisterenumgotounionvolatile
几百个函数就没人能记住了包括我也不用记住查询文档即可每种编程语言都会提供配套的文档。常用到的函数也就几十个记住它们就足够应付日常开发了生僻的函数查询文档即可。 此外我推荐大家安装有道词典它的划词取词功能非常棒选中一个单词或者句子能够及时翻译这对大家记忆和理解代码非常有帮助。
1对于英文资料
如果你希望达到很高的造诣希望被人称为“大神”那么肯定要阅读英文的技术资料不是所有资料都被翻译成了中文初中水平就有点吃力了。 不过长期阅读英文会提高你的英文水平只要你坚持一段时间即使只有初中水平我相信借助有道词典也会提高很快。
2、数学基础不好可以学编程吗
谈到数学那真是多虑了它根本不构成障碍会加减乘除就能学编程。 编程语言确实涉及到很多算法有一些还需要高等数学知识但是这些算法都已经被封装好了你直接拿来用就可以根本不用你重复造轮子。 另外这些算法都是在很深的底层为我们默默的工作初级程序员根本不会涉及到算法即使是别人已经封装好的算法一般也没有机会使用所以你就别瞎操心了。我学编程八年了至今都没有设计过什么算法也没有使用过别人的算法。 六、初中毕业能学会编程吗
首先初中毕业能学会编程但是一般达不到太高的造诣。 编程是知识密集型的行业需要很强的学习能力。初中就毕业了肯定学习不好。大家的智商都差不多成绩不好一般都是学习能力差。什么是学习能力呢这包括专注能力、理解能力、自律能力等。
1、专注能力
有很多人不能专注于一件事情容易走神人虽然在心已经飞了根本钻研不进去。
2、理解能力
也可以说是逻辑思维能力。 同一道题目有些人一看就知道思路就知道如何切入也有些人绞尽脑汁都想不到方案不知道从哪里下手。 同一个现象有些人觉得就应该这样这是理所当然的就像公理一样不需要理由也有些人觉得很费解为什么是这样呢理由是什么呢
3、自律能力
学习是一件枯燥的事情有些人能坚持下来有些人就熬不住。 我也不知道为什么人的学习能力有差异难道是与生俱来的有没有心理学家给科普一下让我涨涨姿势。 拥有良好的学习能力是一件幸事你将终生受益这个社会越来越奖励知识分子。 七、C语言和C到底有什么关系
C 读作”C加加“是”C Plus Plus“的简称。顾名思义C是在C的基础上增加新特性玩出了新花样所以叫”C Plus Plus“就像 iPhone 6S 和 iPhone 6、Win10 和 Win7 的关系。 C语言是1972年由美国贝尔实验室研制成功的在当时算是高级语言它的很多新特性都让汇编程序员羡慕不已就像今天的Go语言刚出生就受到追捧。C语言也是”时髦“的语言后来的很多软件都用C语言开发包括 Windows、Linux 等。 但是随着计算机性能的飞速提高硬件配置与几十年前已有天壤之别软件规模也不断增大很多软件的体积都超过 1G例如 PhotoShop、Visual Studio 等用C语言开发这些软件就显得非常吃力了这时候C就应运而生了。 C 主要在C语言的基础上增加了面向对象和泛型的机制提高了开发效率以适用于大中型软件的编写。
1、C和C的血缘关系
早期并没有”C“这个名字而是叫做”带类的C“。”带类的C“是作为C语言的一个扩展和补充出现的目的是提高开发效率如果你有Java Web开发经验那么你可以将它们的关系与 Java 和 JSP 的关系类比。 这个时期的C非常粗糙仅支持简单的面向对象编程也没有自己的编译器而是通过一个预处理程序名字叫 cfront先将C代码”翻译“为C语言代码再通过C语言编译器合成最终的程序。 随着C的流行它的语法也越来越强大已经能够很完善的支持面向对象编程和泛型编程。但是一直也没有诞生出新的C编译器而是对原来C编译器不断扩展让它支持C的新特性所以我们通常称为C/C编译器因为它同时支持C和C例如 Windows 下的微软编译器(cl.exe)Linux 下的 GCC 编译器。也就是说你写的C、C代码都会通过一个编译器来编译很难说C是一门独立的语言还是对C的扩展。 图1C语言和C的关系
2、关于C的学习
从“学院派”的角度来说C支持面向过程编程、面向对象编程和泛型编程而C语言仅支持面向过程编程。就面向过程编程而言C和C几乎是一样的所以学习了C语言也就学习了C的一半不需要从头再来。 C语言中文网的教程也是这样安排的
先讲解C语言不希望学习C的读者可以就此止步。再讲解C主要包括C和C的一些差别以及面向对象编程和泛型编程。
没有任何编程基础的读者建议先从C语言学起不要贪多嚼不烂。等你熟悉了C语言能编写出上百行的代码就对编程有些概念了这个时候再去了解C究竟在C语言基础上增加了什么你就站在了一定的高度。有编程基础的读者相信你自己能做出正确的判断。 八、学了C语言到底能做什么能从事什么工作
在计算机高速发展的最近几十年中出现了上百种编程语言有的编程语言是针对某个领域专门设计的例如
PHP 专门用来开发网站后台JavaScript 最初只能用于网站前端开发实现一些网页特效后来有“好事的”程序员将它移植到服务器上才赋予 JavaScript 网站后台开发的能力Objective-C 和 Swift 只能用于苹果产品的开发包括 iPhone、iPad、Mac、MacBook 等Visual BasicVB专门用来在 Windows 平台下进行软件开发。
而大部分的编程语言不是针对某个特定领域设计的它们能做很多事情比较通用化。但是在长期的实践过程中这些编程语言也找到了适合自己的位置例如
Java 可以用于网站后台开发、Android 开发、PC软件开发在大数据领域也分得一杯羹Python 主要用于系统运维、网站后台开发、数据分析、人工智能、云计算等领域Go语言除了用于服务器、通讯等较底层的开发还能用于网站后台开发。
C语言也是一门通用性的语言并没有针对某个领域进行优化就目前而言C语言主要用于较底层的开发例如
Windows、Linux、Unix 等操作系统的内核90%以上都使用C语言开发开发硬件驱动让硬件和操作系统连接起来这样用户才能使用硬件、程序员才能控制硬件单片机和嵌入式属于软硬件的结合有很多使用C语言的地方开发系统组件或服务用于支撑上层应用编写PHP扩展增强PHP的功能如果对软件某个模块例如算法和搜索部分的效率要求较高也可以使用C语言来开发。
当然C语言也能用于PC软件开发做出类似 QQ、迅雷、Chrome 等带界面的程序但是由于C语言开发效率低第三方库较少实际项目中已经没有程序员这么做了大家已经转向了 C。
1、初学者的疑问
既然C语言能做这么多事情为什么很多初学者学完C语言以后仍然非常迷茫只能编写没有界面的控制台程序呢这是因为C语言仅仅是一个工具它的标准库也很简单只提供了最基本的功能如果希望开发出实用的程序往往还需要学习其他方面的知识。例如
开发硬件驱动要学习数字电路了解 Windows 或 Linux 内核阅读硬件厂商的接口说明书从事嵌入式开发要学习数字电路、模拟电路、ARM、Linux、Qt等开发PC软件要学习Windows编程了解 GTK。
可以这么说如果只会C语言基本上是找不到工作的读者要选定一个方向继续学习其他知识。后面你会发现C语言不过是冰山一角是一项基本技能而已程序员要学习的东西还很多。 《C和C到底有什么关系》一节中讲到C是C语言的拓展和升级极大提高了程序员的开发效率。和C语言类似C也是一门通用性的语言主要用于PC软件开发、服务器底层开发、游戏开发等。 C和C语言之间有着非常模糊的界限很少有只会C语言的程序员往往还需要掌握C以提高开发效率。 另外学习C语言并不一定要从事与C语言有关的开发工作。C语言是一门简单、底层、较早的编程语言后来的很多语言在语法上都和C语言类似称为“类C语言”例如 Java、C、C#、PHP、JavaScript 等学完C语言再学这些语言都很容易上手。 并且C语言能够让你更加深刻的认识内存和编译原理了解程序的每一个细节夯实基本功站得“低”才能望的远所以优秀的程序员都会学习C语言。