OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6087|回复: 19

关于C语言学习,怎样深入学习?大家讨论一下给个建议吧

[复制链接]

52

主题

334

帖子

0

精华

高级会员

Rank: 4

积分
560
金钱
560
注册时间
2016-4-12
在线时间
230 小时
发表于 2018-2-9 17:23:31 | 显示全部楼层 |阅读模式
如题,C语言有一定的基础,但是感觉又不是特别的深,就是那种看别人的代码好像也没什么问题,遇到不会的百度一下或者慢慢琢磨也可以解决的那种水平,想深入的学习一下C语言,但是又不想看那些入门的书籍,感觉入门的书籍有点浪费时间,请教大家有什么好的书推荐,可以让自己的编程思想更上一层,或者有什么好的建议?
因为好多基础知识,平时经常用的都没什么问题,但是有些不经常用的,就得查一下,然后再用,感觉基础还是很差,有必要买一本基础的书在学习一遍吗?感觉看了一遍即使当时会了,过段时间又会忘记?怎么破?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

52

主题

334

帖子

0

精华

高级会员

Rank: 4

积分
560
金钱
560
注册时间
2016-4-12
在线时间
230 小时
 楼主| 发表于 2018-2-9 17:30:24 | 显示全部楼层
我主要是单片机软件编程的,想着以后朝着嵌入式领域发展,就是大家说的ARM+LINUX,所以觉着有必要把基础巩固好,顺便提升自我的编程思维,我是机械出身的,研究生半路出家搞单片机了,感觉自己的思维很顽固,一点不灵活,我感觉应该有很多人会处于我这样的状态吧,吧里的大神们给点建议吧
回复 支持 反对

使用道具 举报

6

主题

462

帖子

0

精华

高级会员

Rank: 4

积分
906
金钱
906
注册时间
2017-12-15
在线时间
111 小时
发表于 2018-2-9 17:33:06 | 显示全部楼层
wangmingwei093 发表于 2018-2-9 17:30
我主要是单片机软件编程的,想着以后朝着嵌入式领域发展,就是大家说的ARM+LINUX,所以觉着有必要把基础巩 ...

先看完C primer plus 再说。
回复 支持 反对

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
12025
金钱
12025
注册时间
2013-3-8
在线时间
1280 小时
发表于 2018-2-9 17:33:12 | 显示全部楼层
有一本参考书就行了,C语言有很多关键字,我们常用的也就十几二十几个。做项目时遇到不会的,翻翻书就行,只有经常用到的关键字才记的牢。过一段时间不用就又忘了。我现在会C,C++,VHDL,verilog,以前还会vfp,常用的还能记住,不常用的用到就只能翻书了。
回复 支持 反对

使用道具 举报

8

主题

89

帖子

0

精华

高级会员

Rank: 4

积分
686
金钱
686
注册时间
2017-8-8
在线时间
494 小时
发表于 2018-2-10 09:36:57 | 显示全部楼层
C和指针.pdf
回复 支持 反对

使用道具 举报

8

主题

569

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2363
金钱
2363
注册时间
2015-5-8
在线时间
320 小时
发表于 2018-2-10 10:01:10 | 显示全部楼层
多做项目,光看书不行
回复 支持 反对

使用道具 举报

52

主题

334

帖子

0

精华

高级会员

Rank: 4

积分
560
金钱
560
注册时间
2016-4-12
在线时间
230 小时
 楼主| 发表于 2018-2-26 12:57:13 | 显示全部楼层
a496298685 发表于 2018-2-9 17:33
先看完C primer plus 再说。

嗯 买本看看吧
回复 支持 反对

使用道具 举报

52

主题

334

帖子

0

精华

高级会员

Rank: 4

积分
560
金钱
560
注册时间
2016-4-12
在线时间
230 小时
 楼主| 发表于 2018-2-26 12:57:40 | 显示全部楼层
augustedward 发表于 2018-2-9 17:33
有一本参考书就行了,C语言有很多关键字,我们常用的也就十几二十几个。做项目时遇到不会的,翻翻书就行, ...

嗯,感觉光记住那些常用的也不行呀
回复 支持 反对

使用道具 举报

52

主题

334

帖子

0

精华

高级会员

Rank: 4

积分
560
金钱
560
注册时间
2016-4-12
在线时间
230 小时
 楼主| 发表于 2018-2-26 12:58:07 | 显示全部楼层

嗯,网上看到都推荐这本书了
回复 支持 反对

使用道具 举报

52

主题

334

帖子

0

精华

高级会员

Rank: 4

积分
560
金钱
560
注册时间
2016-4-12
在线时间
230 小时
 楼主| 发表于 2018-2-26 12:58:20 | 显示全部楼层
炫色康康 发表于 2018-2-10 10:01
多做项目,光看书不行

一直在跟项目
回复 支持 反对

使用道具 举报

0

主题

9

帖子

0

精华

新手上路

积分
23
金钱
23
注册时间
2018-2-27
在线时间
1 小时
发表于 2018-2-27 17:56:18 | 显示全部楼层
没有多少项目是需要执行非常快的代码,至少我是这么认为的
自己写代码,别整乱七八糟自己都不太容易看懂的指针
不用指针,只用简单的if else, for之类的简单代码也能写好程序
等你做多了自己就偏向指针之类的写法了,自然而然的事情
所以不建议看太多书
甚至你要是有一定的基础,都可以不看书,但要常写代码,主要是锻炼逻辑
回复 支持 反对

使用道具 举报

8

主题

569

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2363
金钱
2363
注册时间
2015-5-8
在线时间
320 小时
发表于 2018-2-27 21:41:17 | 显示全部楼层

那就是时间问题了
回复 支持 反对

使用道具 举报

52

主题

334

帖子

0

精华

高级会员

Rank: 4

积分
560
金钱
560
注册时间
2016-4-12
在线时间
230 小时
 楼主| 发表于 2018-2-28 08:43:02 | 显示全部楼层
Addison 发表于 2018-2-27 17:56
没有多少项目是需要执行非常快的代码,至少我是这么认为的
自己写代码,别整乱七八糟自己都不太容易看懂的 ...

我感觉自己写代码很不规范,总感觉有更好的可以替代,可能就是你说的逻辑问题吧,曾经听人说过,如果基础不好,不牢固,很难写出好的代码,所以我认为光记住常用的是不行的,听同事说,他的一个朋友,曾经是一名老师,教C语言,所以基础很好,后来进了大公司,写程序上手很快。所以我感觉,还是把C语言的知识都记在脑子里才好
回复 支持 反对

使用道具 举报

13

主题

145

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
469
金钱
469
注册时间
2015-5-14
在线时间
65 小时
发表于 2018-2-28 10:23:53 | 显示全部楼层
看书是解决不了问题的,实践是检验理论的唯一标准,看书+项目实践才是学习王道。
回复 支持 反对

使用道具 举报

52

主题

334

帖子

0

精华

高级会员

Rank: 4

积分
560
金钱
560
注册时间
2016-4-12
在线时间
230 小时
 楼主| 发表于 2018-3-1 08:32:01 | 显示全部楼层
灵魂的重量 发表于 2018-2-28 10:23
看书是解决不了问题的,实践是检验理论的唯一标准,看书+项目实践才是学习王道。

同意你的说法,确实是这样的,光看不写是不行的
回复 支持 反对

使用道具 举报

32

主题

883

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4036
金钱
4036
注册时间
2015-11-14
在线时间
545 小时
发表于 2018-3-1 10:41:42 | 显示全部楼层
用项目去提升,不会的就去翻书,这样学以致用效果更佳
回复 支持 反对

使用道具 举报

63

主题

238

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1136
金钱
1136
注册时间
2015-11-29
在线时间
146 小时
发表于 2018-3-1 16:24:16 | 显示全部楼层
买本C语言,把课后习题全部敲一遍!
回复 支持 反对

使用道具 举报

52

主题

334

帖子

0

精华

高级会员

Rank: 4

积分
560
金钱
560
注册时间
2016-4-12
在线时间
230 小时
 楼主| 发表于 2018-3-1 16:58:18 | 显示全部楼层
feiyang0725 发表于 2018-3-1 16:24
买本C语言,把课后习题全部敲一遍!

嗯 不错的学习方法,书已经买了,借鉴
回复 支持 反对

使用道具 举报

52

主题

334

帖子

0

精华

高级会员

Rank: 4

积分
560
金钱
560
注册时间
2016-4-12
在线时间
230 小时
 楼主| 发表于 2018-3-1 18:01:23 | 显示全部楼层
Electronic 发表于 2018-3-1 10:41
用项目去提升,不会的就去翻书,这样学以致用效果更佳

嗯,我都是在项目中遇到问题后,直接百度资料,然后拿VC去实验,效果挺好
回复 支持 反对

使用道具 举报

33

主题

984

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8024
金钱
8024
注册时间
2014-8-13
在线时间
1595 小时
发表于 2018-3-2 06:50:34 | 显示全部楼层
我感觉你现在掌握的就够用了。
本身C的标准就在发展,要说完全掌握并精通并不实际。

我觉得你现在的状态就很好,就好像常用汉字就那么几千个,没必要把所有几十万个汉字都掌握。
C语言也一样,关键在理解,会用常用的,碰到生僻的去查字典(度娘或者参考书)就好了。

然后就是跟项目,项目跟的多了,C语言会的也就更多了,就好比汉语的常用字一样,说的多了,自然也就会的多。

同样的方法,可以用来学习单片机(单片机那么多外设,那么多的数据手册都去记住?怎么可能),以及windows开发(只能开发应用层和驱动,内核没办法这样搞,因为内核有太多未公开的东西)、linux开发等等。
当然还是有些限制的,比如用这样的办法没办法搞数电模电(数电模电要有相当的基础才能这样玩)。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-8 17:56

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表