先定一个小目标:10天自学C语言编程,教你如何改变一生
C语言是面向过程的,而C++是面向对象的
C和C++的区别:
C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。
C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”
而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。
如果想读完一篇文章就能快速的掌握编程技术的话,这可能会让你失望,但是可以获得学习的方法就在好不过了。
下面是分享自学C语言编程的经历和方法。
1.决定
2012年初,一个潮湿、肮脏、背靠竹林的大学宿舍里,其中一张书桌,放着一台与环境格调不一致的纯黑色的电脑。
逍遥放纵颓废的半年大学一,大二年级生活后,总觉得要学点什么技能,赚一点钱。
所以,做了一个现在看起来对人生产生重大影响的重要决定:
用10天!系统地学习一遍C语言编程!
如今看起来可笑的狂妄自大,总觉得在将来会跟别人活得不一样。
现在回忆起来,当初的哥纯粹只是一个电脑用得比别人好的学渣而已,也不知道当年进水的脑袋哪来的自信。
小编推荐一个学C语言/C++的学习裙【 767,865,598 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!
2.基础
那时候,哥还不太系统的了解编程,只知道计算机软件程序,是由编程语言开发的;有很多if(如果)、 for(循环)等关键字,用这些就能做出一个软件程序来。
3. 小目标
要决定自学编程,首先要定个小目标。
这非常重要!
很多计算机系毕业的本科大学生,你让他们去做一个简单毕业设计管理系统,他们都是做不出来的。
因此,选择一个小目标,自上而下的去思考和学习,就非常重要了......
而我当时的小目标,做小项目——比如“企业管理系统,贪吃蛇,俄罗斯方块,然后自己开发一个原创小游戏”。
这个目标,足够的小。
走进图书馆的计算机相关书架,你会发现很多计算机相关的书籍,都厚得吓人,其中相当大的篇幅,是前言、理论和案例,让初学者手足无措,无从入手。
上图,随便拍一张身边的3本书,分别是700页,500页,300页!太厚了,谁那么多时间看完!别说 10天给1年都不一定够。
所以,对于想要学习编程的初学者来说,最好的学习方式是:少看,立刻动手。
4. 时间分配
那10天的时间里,我是怎样把这个技能学习进行时间分配的?
第1天:目标项目所需资料;
第2 - 3天:基础理论视频;
第4 - 7天:跟着开发原有项目;
第8 - 10天:自己改进,加入自己的思想,开发新项目;
在学习的过程中里,遵循3个原则:
快速阅读基本概念,不浪费时间,进入训练
使用提供的训练代码,快速试验,不求重头开始写,只求稍作修改也能正确运行
快速通读整个教程,回去再理解一次
当我需要用到的时候,我知道去哪里找到她,这就够了。
这就像,当我们家里水龙头坏了,首先想到的,是找专业的师傅,而不是立刻学习修水龙头,是一个道理的。
代码是一个浩瀚的世界,死记硬背毫无意义,更重要的是理解编程思维,而不是具体怎么写代码;写代码的练习,不单是让技能熟练,而且培养的,是对编程思维的理解。
5. 一理通百理明
下一步是什么?
拿当年的例子来,在这10天后,笔者开始学习,并在不久之后,开始帮学校做网站,赚一点钱。
当时的我,目的就是通过编程,尽快拥有做项目的能力,在课余赚钱。
这是一种至上而下的学习过程,更快地学习,通过动手,迅速的入门一项技能。无数计算机系的学生,在毕业的那一刻一脸懵逼的踏入职场,而有的学长大学一年级开始就开发自己的项目了。(大四的时候还帮了几位计算机系的兄台做毕业设计。)
6总结
总结心法:
先定它一个小目标!
快速过一遍教程!
尝试一个小实战!
笔者觉得,因为缺少导师,在个人技术认知成长上,也走了很多弯路,浪费了不少时间。
互联网的发展,带来了信息的爆炸,大量的信息让我们的世界变平了,信息的不对称,正在逐步被减少。如何选择,就要看你自己了
编程不要觉得很难,虽说也有难度,但是学好了对以后的帮助是非常大的。
小编推荐一个学C语言/C++的学习裙【 767,865,598 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!
这些是C/C++能做的
服务器开发工程师、人工智能、云计算工程师、信息安全(黑客反黑客)、大数据 、数据平台、嵌入式工程师、流媒体服务器、数据控解、图像处理、音频视频开发工程师、游戏服务器、分布式系统、游戏辅助等
先定一个小目标:10天自学C语言编程,教你如何改变一生的更多相关文章
- 先定一个小目标,自己封装个ajax
你是否发现项目中有很多页面只用到了框架不到十分之一的内容,还引了压缩后还有70多kb的jquery库 你是否发现项目中就用了两三个underscore提供的方法,其他大部分的你方法你甚至从来没有看过 ...
- 【先定一个小目标】Ubuntu 16.04 搭建 zookeeper
ZooKeeper 是 Apache 的一个顶级项目,为分布式应用提供高效.高可用的分布式协调服务,提供了诸如数据发布/订阅.负载均衡.命名服务.分布式协调/通知和分布式锁等分布式基础服务.由于 Zo ...
- 【先定一个小目标】dotnet core 命令详解
本篇博客来了解一下dotnet这个神奇的命令.我会依次对dotnet,dotnet new,dotnet restore,dotnet build,dotnet test,dotnet run,dot ...
- 【先定一个小目标】怎么解决mysql不允许远程连接的错误
最近使用Navicat for MySQl访问远程mysql数据库,出现报错,显示“1130 - Host'xxx.xxx.xxx.xxx' is not allowed to connect to ...
- 【先定一个小目标】windows下安装RabbitMQ消息服务器
RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统.他遵循Mozilla Public License开源协议. 1:安装RabbitMQ 需要先安装Erlang语言开发包.下载地址 ...
- 【先定一个小目标】Windows下安装MongoDB 3.2
1.MongoDB 安装 官网提供了三个版本下载: - MongoDB for Windows 64-bit 适合 64 位的 Windows Server 2008 R2, Windows 7 , ...
- 【先定一个小目标】在Windows下的安装Elasticsearch
ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为Apach ...
- 【先定一个小目标】Windows下Redis的安装使用
Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set ...
- 【先定一个小目标】Asp.net Core 在IIS上的托管运行
1.安装 .NET Core Framework 下载.net core地址:官网地址 2.Install IIS 在控制面板->程序与功能->Internet Infomation Se ...
随机推荐
- C# 位运算及实例计算
前言: 平时在实际工作中很少用到这个,虽然都是一些比较基础的东西,但一旦遇到了,又不知所云.刚好最近接触了一些相关这方面的项目,所以也算是对 这些内容重新温习实践了一遍.所以这篇不仅作为个人备忘,也分 ...
- ASP.NET Core Web Api之JWT(一)
前言 最近沉寂了一段,主要是上半年相当于休息和调整了一段时间,接下来我将开始陆续学习一些新的技术,比如Docker.Jenkins等,都会以生活实例从零开始讲解起,到时一并和大家分享和交流.接下来几节 ...
- 手动启动log4j|nginx实现http https共存
手动加载log4j.xml文件 DOMConfigurator.configure("src/main/resources/log4j.xml"); log4j.propertie ...
- GPS常识-B版(简)
第一章 绪论 1.简述GPS系统的特点有哪些? 在测绘工程中有如下优点:(1)定位精度高(2)观测时间短(3)测站间无需通视(4)可提供地心坐标(5)操作简便(6)全天候作业(7)功能多.应用广 GP ...
- 【动态规划法(DP)】-C++
360百科定义: 动态规划(dynamic programming)是运筹学的一个分支,是求解决策过程(decision process)最优化的数学方法.20世纪50年代初美国数学家R.E.Bell ...
- textarea 绕过jq验证的方法,提交空值
<textarea placeholder=" aria-required="true" aria-describedby="OtherNotes-err ...
- Excel催化剂开源第22波-VSTO的帮助文档在哪里?
Excel催化剂开源第22波-VSTO的帮助文档在哪里? Excel催化剂 2019.01.12 14:10 字数 2930 阅读 55评论 0喜欢 0 编辑文章 对于专业程序猿来说,查找文档不是 ...
- Android之无限轮播图源代码
Android轮播广告图是大家经常用到的一个控件今天便撸了一把代码 实现步骤 使用Viewpager进行实现图片滑动 设置ViewPager的数据,让其无限切换 Activity代码 public c ...
- c语言进阶8-数据结构
一. 数据结构的起源: 1. 为什么要学习数据结构 阿基米德说过:“给我一个支点,我就能翘起地球”.那么给我一个程序,我就能用好程序,给我一个结构,我就能把内容填充完成.打个比方,一个 ...
- php重复开启session
虽然不知道 自己怎么就在一个后台系统页面中重复开启了session, 但是为了避免重复开始session的问题,可以使用: if (!session_id()) session_start(); 以上 ...