0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

大牛分享丨C语言学习攻略

信盈达 2021-12-31 15:32 次阅读
今天下午,牛叔应桂林理工大学领导邀请,给自动化和机械电子类专业大一、大二学生,做了一场嵌入式+人工智能技术讲座。讲座结束,一位学生留言说,牛老师,我叫李**,刚上大学,来学校快一个月了,感觉大学和高中完全不同,突然没人管了,也没高考压力了,有点迷茫,无所适从。听了你的讲座,豁然开朗,知道自动化专业要学哪些专业知识了,知道大学应该怎么度过了。你讲学技术,每天具体怎么做的三点建议:1、每天抽2个小时,找一个没人的地方或一个人都不认识的地方(例如自动化专业的学生,到图书馆或其它专业自习室学习);

2、不要带手机、如果带电脑,建议将电脑变成学习机,将电脑里面的小说、视频、娱乐相关全部删除或存入移动硬盘;

3、每天只学习和掌握一个关键知识点。

如果学习C语言,每天只掌握一个C知识点,例如for语句的用法、while语句的用法、函数指针的用法或指针函数的用法等。

如果学习电路,每天只掌握一个电子元器件或一个简单电路的用法,例如电阻电容或电感的用法等。


学技术每天一定要有能写出来的进步。以上建议非常实用、接地气和可执行。听了热血沸腾,想立马行动。决定大一上学期先把C语言搞定,能针对学习C语言,给一些具体建议么,谢谢牛老师,哈。

以下内容,只代表个人观点,不一定对,仅供参考,随便看看。

d9e4fd48-69c1-11ec-8d32-dac502259ad0.gif

为啥要学习C/C++语言

JAVA语言曾长期霸占编程语言金牌榜首。近些年,各种新编程语言层出不穷,一些热门语言,例如go、python等语言迅速火起来,使用者越来越多。

C/C++、JAVA、PYTHON是当前最热门,也是最常用的三大编程语言。

C/C++语言很多人可能认为,已经出现很多年了,已经过时了,实际上并不是这样的,特别是,自2019年以来C/C++语言曾经超越JAVA成为全球编程者用的最多的语言。

牛叔认为,有以下六点原因:

1、嵌入式设备的大规模应用

当今时代,嵌入式系统,嵌入式相关设备的大规模应用,而C语言是嵌入式相关产品开发,用的最多的一种语言。

2、执行效率高

C语言是面向过程的语言,Java是面向对象、编译型语言,Python是解释型语言。

Java的执行效率比Python高,因此大企业里面更多的选择Java,尤其是大型网站。但C语言比JAVA的执行效率更高。

越底层的语言开发越发杂,但是执行效率越高。

例如:完成同一个任务(功能),C要写1000行代码,Java只需写100行,而Python可能只要20行代码;但执行效率方面:如果C运行需要1秒钟,Java程序可能需要2秒,而Python可能就需要10秒钟。

随着生活节奏越来越快,人们对电子产品的响应速度要求越来越苛刻。同等情况下,电子产品用C编程实现,相同功能下,可大幅度提高产品代码效率。

3、C入门相对容易、开发难度较低

C语言相对内容比较少,简单,易学。

例如C语言只有9条基本语句和32个关键字,并且常用的语句一般只有6条,常用的关键字也只有18个左右。具体详见:公众号@牛叔经济学,后期相关技术类文章。

JAVA语言虽然入门也相对比较简单,但想搞精通比较困难。一般使用Java开发项目,都会有一个比较大的团队,java开发比较注重团队协作。但C语言入门更容易,开发难度也很低,大多产品完全一个人或几个人就可以搞定。

4、C/C++语言应用领域非常广泛

4.1 在MCU的裸机编程中,C语言是用的最多的一种语言。例如C51单片机ARM的CORTEX-M0/3/4/7等绝大多数情况下都是用C语言进行编程和产品开发。

4.2 界面开发:

1QT

2)图形处理openGL

3openCV等

4.3 操作系统FREERTOS操作系统和LINUX操作系统的内核是用C语言编写的。

4.4 网络编程:协议编程、SOCKET通信编程

4.5 数据库编程

4.6 多线程开发

4.7游戏:C/C++语法,学习游戏引擎,cocos2d,手游,U3D UE4等

4.8 服务器编程

4.9 WINDOWS核心编程:WIN32 MFC等均是由C语言编写的。

5、技术惯性

C语言诞生至今,已接近50年。

C编程语言,一出现就以其简单,明了,功能丰富、灵活方便、应用面广等特点迅速在全世界普及。

几十年来,C语言的程序员越来越多,已有数量庞大的成熟开发者,很多优质的项目、操作系统、系统软件是用C编写的,这已成为人类文明,人类资产的一部分。

另外,很多程序员用C编程已很多年,已经非常熟悉了,能用C语言可以轻松开发产品和赚钱,何必再辛苦去学一个新的编程语言呢?

除非新的语言更容易入门、更容易使用,且能兼容C语言,否则技术惯性,人的惰性原因,很难被替代。

6、C语言完全开源、免费

C语言是完全开源、开放、免费的。

没有任何限制,人人都可以使用,又不用付费,且没有后门、隐患,为啥不用呢?

走编程之路,建议优先学C语言。

da10f498-69c1-11ec-8d32-dac502259ad0.gif如何学习C语言

C语言想学好并灵活应用,需要以下几步:

第一步:选合适的教材、编译软件和实践套件

学习C语言,在了解了C语言的用途和应用领域之后,要做三件事:

1、选一本好的C语言教材:推荐谭浩强编写的C语言教材,或信盈达工程师编写的嵌入式C语言实战教程(京东、当当、天猫等网站均可方便购买)。

2、选适合练习的编译软件:推荐使用Dev-Cpp编译软件或KEILC编译软件。

3、选一个验证C代码的产品实践套件:如果学习嵌入式C语言,建议买套单片机开发板或ARM开发板,在上面编写C语言控制灯的程序,来验证C语言代码的准确性。

第二步:掌握C语言系统化的知识体系

单个知识没有任何价值,只有系统化的知识才有价值。

不管学哪种技术,首先要了解这门技术的具体知识和框架。

C语言学习亦如此。

要学好C语言必须要了解和掌握以下12类关键知识点:

1、C程序须有三部分组成(头文件、主函数、函数)和编程须遵守的两个原则

2、C常用的变量(包含数组、函数、指针、结构体)类型

3、C常用的运算符和关系表达式的用法

4、C常用9条基本语句和32个关键字的用法

5、函数的用法和组成。

用C语言开发产品,为了程序方便修改和升级,函数必须有三部分组成:函数声明、子函数和子函数调用。

6、数组的组成和用法

7、指针的用法和指针四要素

8、结构体的用法

9、链表的用法

10、宏和文件的用法

11、如何模块化编程、掌握程序编写规范和程序优化方法

12、要掌握C语言开发产品编程时常用到的30-60种算法等。

然后循序渐进,一步一个脚印的慢慢逐个学习、掌握。

第三步:动手验证

学技术的目的是为了应用,所以动手验证很重要。

第四步:总结归纳

编写好一个程序,编译通过了,也在硬件套件板子上验证过了之后,还需要总结归纳,最终找到适合自己的编程思路、编程方法。

最后分享一个C语言小知识:

丹尼斯·里奇, C语言之父,UNIX之父。美国计算机科学家,对C语言和其他编程语言、Multics和Unix等操作系统的发展作出了巨大贡献。1978年与布莱恩·科尔尼干(Brian W. Kernighan)一起出版了名著《C程序设计语言》《The C Programming Language》,此书已成为C语言方面最权威的教材之一。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    180

    文章

    7604

    浏览量

    136688
收藏 人收藏

    评论

    相关推荐

    自然语言处理与机器学习的关系 自然语言处理的基本概念及步骤

    自然语言处理(Natural Language Processing,简称NLP)是人工智能和语言学领域的一个分支,它致力于研究如何让计算机能够理解、解释和生成人类语言。机器学习(Ma
    的头像 发表于 12-05 15:21 451次阅读

    NPU支持的编程语言有哪些

    与NPU一起使用: C/C++ : CC++是性能要求较高的应用的首选语言,尤其是在需要直接与硬件交互的场景中。许多NPU硬件都提供了
    的头像 发表于 11-15 09:21 605次阅读

    自然语言处理与机器学习的区别

    在人工智能的快速发展中,自然语言处理(NLP)和机器学习(ML)成为了两个核心的研究领域。它们都致力于解决复杂的问题,但侧重点和应用场景有所不同。 1. 自然语言处理(NLP) 定义: 自然
    的头像 发表于 11-11 10:35 542次阅读

    使用LLM进行自然语言处理的优缺点

    自然语言处理(NLP)是人工智能和语言学领域的一个分支,它致力于使计算机能够理解、解释和生成人类语言。大型语言模型(LLM)是NLP领域的一项重要技术,它们通过深度
    的头像 发表于 11-08 09:27 412次阅读

    C语言指针学习笔记

    本文从底层内存分析,彻底让读者明白C语言指针的本质。
    的头像 发表于 11-05 17:40 229次阅读
    <b class='flag-5'>C</b><b class='flag-5'>语言</b>指针<b class='flag-5'>学习</b>笔记

    C语言与Java语言的对比

    C语言和Java语言都是当前编程领域中的重要成员,它们各自具有独特的优势和特点,适用于不同的应用场景。以下将从语法特性、内存管理、跨平台性、性能、应用领域等多个方面对C
    的头像 发表于 10-29 17:31 315次阅读

    C语言关键字--typedef

    C语言关键字使用方法学习指南!
    的头像 发表于 10-07 12:44 242次阅读

    仓颉语言书籍申请

    楼主, 您好!我是一名接触开发语言不久,对语言学习充满热情的开发者小白,近期对华为推出的仓颉语言产生了浓厚的兴趣。为了更深入地了解和学习这种语言
    发表于 08-06 08:37

    按照这样学习C语言,成为卷王不是梦!

    在计算机编程领域,C语言被誉为一种强大而灵活的编程语言,掌握好C语言不仅可以让你轻松驾驭各种编程任务,还能够为你的职业生涯打下坚实的基础。但
    的头像 发表于 07-06 08:04 313次阅读
    按照这样<b class='flag-5'>学习</b><b class='flag-5'>C</b><b class='flag-5'>语言</b>,成为卷王不是梦!

    PLC编程语言C语言的区别

    在工业自动化和计算机编程领域中,PLC(可编程逻辑控制器)编程语言C语言各自扮演着重要的角色。尽管两者都是编程语言,但它们在多个方面存在显著的区别。本文将从多个维度深入探讨PLC编程
    的头像 发表于 06-14 17:11 2778次阅读

    如何成为一名嵌入式C语言高手?

    如何成为一名嵌入式C语言高手? 嵌入式系统是当今科技领域的核心,而C语言则是嵌入式系统开发中最常用的编程语言之一。成为一名嵌入式
    发表于 04-07 16:03

    如何成为一名嵌入式C语言高手?

    如何成为一名嵌入式C语言高手? 嵌入式系统是当今科技领域的核心,而C语言则是嵌入式系统开发中最常用的编程语言之一。成为一名嵌入式
    发表于 03-25 14:12

    plc编程语言c语言的联系 c语言和PLC有什么区别

    PLC编程语言C语言的联系 PLC(可编程逻辑控制器)是一种针对自动化控制系统的特殊计算机。PLC编程语言是为了控制和管理自动化生产过程中的各种设备而设计的。与之相比,
    的头像 发表于 02-05 14:21 4090次阅读

    c语言,c++,java,python区别

    操作系统、嵌入式系统等对性能要求较高的场景。C语言的语法相对简单,学习曲线较平缓,也是学习其他高级语言的入门
    的头像 发表于 02-05 14:11 2361次阅读

    vb语言c++语言的区别

    VB语言C++语言是两种不同的编程语言,虽然它们都属于高级编程语言,但在设计和用途上有很多区别。下面将详细比较VB
    的头像 发表于 02-01 10:20 2257次阅读