当前位置:网站首页>编程思想比任何都重要,不是比谁多会用几个函数而是比程序的理解
编程思想比任何都重要,不是比谁多会用几个函数而是比程序的理解
2022-07-03 09:09:00 【枪哥玩转嵌入式】
最近有同学问到,打算自学C,但不会函数,初中毕业,数学一塌糊涂,求推荐教材或者教程?

我给你指一条路,但做好心理准备,这条路很漫长。
我写的最早的程序是在小霸王学习机上用BASIC写的,是抄书上的例子,当时是小学四年级,那时候我也不懂函数,数学成绩虽然在小学算好的但肯定欠缺很多,至于数组什么的东西,更是完全不懂,C语言是啥?没听过。
然后我在小霸王上写程序写了5到6年的时间,一直高中有了电脑以后,才不用小霸王了。具体写了多少我不知道,因为那东西没有保存的功能,每次都要重写,唯一能证明我写过很多东西的就是:小霸王的按键上,所有英文字母按键上的字都磨没了。
用这个东西,我自己学会了排序、函数、递归、树等等内容。
之后我在电脑上写了3年多的VB,大学才开始学C语言,当时可以算是一学就会了。

文章相对比较长,字数比较多,大家可以先打开头像关注我,之后慢慢看,///插播一条:我自己在今年年初录制了一套还比较系统的入门单片机教程,想要的同学找我拿就行了免費的,私信我就可以哦~点我头像左下角黑色字体加我也能领取哦。最近比较闲,带做毕设,带学生参加省级或以上比赛///
那么,参考我的例子,你如果是有很多时间,而不是像我那时候一直都在上学,那么我相信你可以把时间压缩至少一半以上。
于是,很明确了,用时间去积累,用坏两套键盘,那么我相信你就可以出师了,快的话,也许1到2年就够了。
教材,从最基础的开始学,看不懂没关系,从抄代码开始,时间积累可以换来很多东西。不要怕编弱智的代码,不要怕别人嘲笑,我小学的时候不会用映射表,于是自己写了100个if语句,没什么关系,从最笨最慢的代码开始学起,只要你动手做,就会有希望。
写代码的时候,要多思考,不断优化自己的代码的速度或者代码的尺寸,我前面说的100个if,后来优化完就3到5条语句,所以,多思考,多动手,总有一天会明白什么是函数,什么是指针,什么是数组。

代码不理解的时候,拿张纸,拿个笔,在纸上写,把自己模拟成一台电脑,根据程序一条一条执行,写出每步执行完各个变量的结果,多写几次,自然就明白了,我初中一年级学递归的时候就是这样学会的。
编程思想比任何技能都重要,编程不是比谁多会用几个函数,而是比对程序的理解。看现实中的一个事物,你如果能轻松建立起一套数学模型、编程模型,那么学任何语言都不会太困难。
对单片机感兴趣的朋友可以找我,我录制了一些关于单片机的入门教程,有需要的童鞋找我拿就行,免费的,私信我“林老师”就可以拿~点击打开我的头像就能领取
语言之间也是相通的,如果C太难理解,可以先学C#或者BASIC,不断培养自己的兴趣,不断用完成的小成果激励自己。
数学的能力要培养,但重要的是培养逻辑思维能力,数学本身(比如高等数学这种)比起逻辑思维来说还是稍微次要点。

另一个你没有提但是很重要的是英语,编程离不开英语,各种手册、资料多数都是英语的,英语有时候比数学还重要一点。
付出多一点的时间,不要怕重复劳动,只要付出的时间足够,那么你就能学会,编程没有太多的捷径可以走。
编程是一个很有意思的事情,在网上看过一个回答我觉得说的特好:
世界上最有成就感的事情就是创造或者毁灭一个事物,编程能做这一点。
好了,这期就到这里了,觉得对屏幕前的你有帮助的麻烦一键三连

边栏推荐
- IDEA远程断点调试jar包项目
- Quickly use markdown to edit articles
- Nodemcu-esp8266 development board to build Arduino ide development environment
- 顺利毕业[2]-学生健康管理系统 功能开发中。。。
- Fundamentals of Electronic Technology (III)__ Fundamentals of circuit analysis__ Basic amplifier operating principle
- Flink learning notes (10) Flink fault tolerance mechanism
- Jestson Nano自定义根文件系统创建(支持NVIDIA图形库的最小根文件系统)
- Jestson nano custom root file system creation (supports the smallest root file system of NVIDIA Graphics Library)
- [graduation successful] [1] - tour [Student Management Information System]
- [CSDN]C1训练题解析_第二部分_Web基础
猜你喜欢

uniapp 实现微信小程序全局分享及自定义分享按钮样式
![【順利畢業】[1]-遊覽 [學生管理信息系統]](/img/91/72cdea3eb3f61315595330d2c9016d.png)
【順利畢業】[1]-遊覽 [學生管理信息系統]
![[CSDN]C1訓練題解析_第三部分_JS基礎](/img/b2/68d53ad09688f7fc922ac65e104f15.png)
[CSDN]C1訓練題解析_第三部分_JS基礎

【力扣刷题笔记(二)】特别技巧,模块突破,45道经典题目分类总结,在不断巩固中精进

Comment la base de données mémoire joue - t - elle l'avantage de la mémoire?

How does the memory database give full play to the advantages of memory?

Fundamentals of Electronic Technology (III)__ Fundamentals of circuit analysis__ Basic amplifier operating principle
![顺利毕业[3]-博客系统 更新中。。。](/img/91/72cdea3eb3f61315595330d2c9016d.png)
顺利毕业[3]-博客系统 更新中。。。

MySQL environment variable configuration

JMX、MBean、MXBean、MBeanServer 入门
随机推荐
Leetcode daily question (745. prefix and suffix search)
Call the contents of Excel cells opened at the same time - button line feed
Intelligent home design and development
Analysis of the implementation principle of an open source markdown to rich text editor
Flink learning notes (10) Flink fault tolerance mechanism
Successful graduation [2] - student health management system function development...
What do software test engineers do? Pass the technology to test whether there are loopholes in the software program
CEF下载,编译工程
Nodemcu-esp8266 development board to build Arduino ide development environment
Install local sources using yum
Electronic product design, MCU development, circuit cloning
NR PUCCH format0 sequence generation and detection mechanism
[CSDN]C1训练题解析_第三部分_JS基础
Stm32-hal library learning, using cubemx to generate program framework
万字手撕七大排序(代码+动图演示)
Jestson Nano自定义根文件系统创建(支持NVIDIA图形库的最小根文件系统)
UCI and data multiplexing are transmitted on Pusch - determine the bit number of harqack, csi1 and csi2 (Part II)
Fundamentals of Electronic Technology (III)__ Chapter 6 combinational logic circuit
All processes of top ten management in project management
Definition and use of enum in C language