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语言
    +关注

    关注

    183

    文章

    7642

    浏览量

    144638
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    GPS设计全攻略

    电子发烧友网站提供《GPS设计全攻略.pdf》资料免费下载
    发表于 12-01 17:10 0次下载

    为什么单片机还在用C语言编程?

    说起单片机我们就会想到C语言,单片机为什么还在用C语言编程?现在有很多很好用的高级语言,如VC、PYTHON、PHP等等,为什么这些
    发表于 11-28 07:37

    C语言特性

    ,开发者们可以在这些社区中分享经验、交流技术、解决问题。在社区中,开发者们可以找到大量的开源项目、代码示例、技术文章等资源,为学习和使用 C 语言提供了有力的支持。当遇到技术难题时,在社区中提问往往能得到其他开发者的热心帮助,快
    发表于 11-24 07:01

    C语言和单片机C语言有什么差异

    单片机c语言相对于普通C语言增加了一些基本的指令,还有变量的赋值是16进制,当然单片机c语言只牵
    发表于 11-14 07:55

    MiniVC6(C语言快速部署)资料

    MiniVC6(C语言快速部署)软件,无需安装。
    发表于 09-04 16:59 0次下载

    C语言精彩编程百例-364页

    内容提要 C是一种通用的程序设计语言,它包含了紧凑的表达式、丰富的运算符集合、现代控制流以及数据结构等四个部分。C语言功能丰富,衣达能力强,使用起来灵活方便:它应用面广,可移植性强,网
    发表于 06-13 17:28

    程序设计与数据结构

    《程序设计与数据结构》重点阐述了三大方向内容: 1. C语言学习中的痛点:针对当前工程师在C语言学习中的痛点,如指针函数与函数指针,如何灵活应用结构体等。从变量的三要素(变量的类型,
    发表于 05-13 16:45

    深入理解C语言C语言循环控制

    C语言编程中,循环结构是至关重要的,它可以让程序重复执行特定的代码块,从而提高编程效率。然而,为了避免程序进入无限循环,C语言提供了多种循环控制语句,如break、continue和
    的头像 发表于 04-29 18:49 1740次阅读
    深入理解<b class='flag-5'>C</b><b class='flag-5'>语言</b>:<b class='flag-5'>C</b><b class='flag-5'>语言</b>循环控制

    新概念51单片机C语言教程入门、提高、开发、拓展全攻略

    资料介绍 从实际应用入手,以实验过程和实验现象为主导,循序渐进地讲述51单片机C语言编程方法以及51单片机的硬件结构和功能应用。全书共分5篇,分别为入门篇、内外部资源操作篇、提高篇、实战篇和拓展篇
    发表于 04-15 13:57

    C语言的历史及程序介绍

    电子发烧友网站提供《C语言的历史及程序介绍.pdf》资料免费下载
    发表于 04-09 16:10 0次下载

    如何在 树莓派 上编写和运行 C 语言程序?

    在本教程中,我将讨论C编程语言是什么,C编程的用途,以及如何在RaspberryPi上编写和运行C程序。本文的目的是为您介绍在RaspberryPi上进行
    的头像 发表于 03-25 09:28 943次阅读
    如何在 树莓派 上编写和运行 <b class='flag-5'>C</b> <b class='flag-5'>语言</b>程序?

    51单片机C语言学习笔记

    c51语言快速入门
    发表于 03-24 14:04 3次下载

    为什么学了C语言,却写不出像样的项目?

    学习编程的路上,C语言几乎是每个程序员的“必修课”。不管你是打算从事嵌入式开发、系统编程,还是想要深入理解操作系统的底层原理,C语言都是一
    的头像 发表于 03-14 17:37 686次阅读
    为什么学了<b class='flag-5'>C</b><b class='flag-5'>语言</b>,却写不出像样的项目?

    精密空调日常巡检攻略

    精密空调日常巡检攻略
    的头像 发表于 02-10 14:43 840次阅读
    精密空调日常巡检<b class='flag-5'>攻略</b>

    Triton编译器支持的编程语言

    编写和优化深度学习代码。Python是一种广泛使用的高级编程语言,具有简洁易读、易于上手、库丰富等特点,非常适合用于深度学习应用的开发。 二、领域特定语言(DSL) Triton也提供
    的头像 发表于 12-24 17:33 1477次阅读