不少同学从Hello world学到文件操作之后,回顾感觉会又不会? 学会了又感觉没学会?这种不踏实、模糊虚无的感觉?

原因在于编程不同于理论学科,你听懂和理解了理论就可以运用,比如历史地理,看完书,我们在讨论的时候:“北美洲和南美洲的分界是什么? 辛亥革命是什么时候? ”这些问题只要你看到过,脑子有记忆你都可以说出来,从大脑记忆到用嘴表达是我们很顺理成章的事情,因此你会觉得很容易。

如果是编程,比如我们在谈论数组的时候,你想到的只能是书本上 “int a[10]”、“中括号”、“{1,2,3,4,5,6,7,8,9}”这些零星的关键字,你想了想说:“哦,我好像学过!” 但其实呢,你压根没在电脑上敲出来过,更没有写过具体的例子,经过编译、运行看到运行效果等等。

因此你的印象就停留在书本上那些,总不用那么忘掉只是迟早的事情。何况编程是一门非常强调动手的课程,只看不练能行吗? 无论是从事开发、教学、竞赛还是当做一个工具,都需要足够的上机练习才可以证明你真的掌握了这门编程语言。

因此缺失上机编码的过程就会让你产生前面提到的那种虚无的感觉,感觉自己学过又没会,过阵子就会忘掉!

所以回到我们的最初问题上来,学编程最难最关键的部分不在于学,而在于练。在具体点:在于配套的学练过程。

因此对于正在学习的同学,我们的建议是,不必拘泥于学习资料的形式,是视频还是书籍,是线上还是线下,找到自己舒服的形式就可以。

而最关键得在于学习过程中,及时的训练刚刚理解的知识点,从而通过上机练习巩固理解的知识,由大脑的意识通过双手实践出来,最终深深的印在大脑皮层,学和练的配合,最终牢牢掌握这门课程。

C语言网正是基于这种考虑,为大家提供教程的同时提供对应的OJ练习,让大家每个知识点都能有完整的代码实践,检验自己强化动手,而杜绝眼高手低的纯理论学习,最终避免学完之后感觉没学一样的效果。

这就是学习编程目前最大的问题和解决方法,希望可以帮助更多的编程学习者!

学习编程还要注意一大禁忌:“眼高手低”

这个词第一次听到是我在上初中时,数学老师讲的,为什么会用这个词,因为许多数学题,比如方程式,我们看着感觉很简单,不用练了,就跳过到下一个。

待到考试的时候,遇到这个题了,嗯感觉会,但是一做就错,这就是所谓的眼高手低导致的后果。

原因在于眼睛看到的懂是基于“感觉”或“关联”的直觉感受,比如这个题要用到的xx知识点,我学过,那就问题不大,但事实上,一道数学题的实现、解决过程需要从头到尾的逐步实现、环环相扣的严谨的过程,任何一个环节写不出来、关联不上就进行不下去或者中途出错了,这就一定导致错误或失分。

同样的道理,编程也如此,我们看这个题眼睛觉得很简单,但手也觉得简单吗?真的不一定,因此“”眼高手低”的问题的就非常值得被重视了!

以我们常见的Hello World题为例,不少书籍的入门第一个程序就是如此,但有多少同学真的上机实践一下呢?

相信不少同学会认为,这个程序就一句printf,我照着敲还会出错吗?

直接往后看吧

但事实上就会因为少一个分号、括号不对、打错一个字母等等问题造成就是不对的情况

千万别忘了,编程是一个严谨的编码实现过程!

某网站的Hello World题的通过情况,该题目仅仅是输出HelloWorld和*号的问题,有超过十万次的提交,但经过机器严谨的评测,则会出现各种各样的问题,出现惊人的通过率!仅不到40%!十个人当中六个人不通过!大家可想而知,有多少同学面临动手差的问题!

大家可想而知,问题出在哪里,为什么编程学了感觉没学一样提到过学练同步的必要性,因此大家理解尤其在编程学习领域的重要性和必要性,强化上机重视上机,才能真正掌握编程这门技术,才能踏上学习编程的正确路线!

如果你不知道如何学习C/C++,你可以来找我,学习资源可以更好的帮助你学习,我这里有成体系的视频教程,你不用在网上寻找零碎的资料,更好的节约时间。

如果你是想转行或是正在学习编程的同学,马上到期末了,大家一起备战期末考,领取资料吧~

欢迎大家进群探讨学习C/C++。

又到期末了,为什么学完C语言觉得好像没学一般?复习资料来一份的更多相关文章

  1. 为什么学完C语言觉得好像没学一般?

    不少同学从Hello world学到文件操作之后,回顾感觉会又不会? 学会了又感觉没学会?这种不踏实.模糊虚无的感觉?   原因在于编程不同于理论学科,你听懂和理解了理论就可以运用. 比如历史地理,看 ...

  2. 闭嘴,给你一个数!1分钟,学完C语言指针,不扎手只扎心的针!

    序言 指针是C语言学习者绕不过的一道坎,也是C语言学习者不得绕过的一道坎.辨别一个人C语言学的好赖就看他对指针的理解怎么样.指针内容也是工作面试经常问到的问题.本文将带你重新认识那个绊倒你的指针,以解 ...

  3. 【机器学*与R语言】2-懒惰学*K*邻(kNN)

    目录 1.理解使用KNN进行分类 KNN特点 KNN步骤 1)计算距离 2)选择合适的K 3)数据准备 2.用KNN诊断乳腺癌 1)收集数据 2)探索和准备数据 3)训练模型 4)评估模型的性能 5) ...

  4. 学了 C 语言到底能做什么, 能从事什么工作?

    前言 经常有小伙伴问我,你是做C/C++的,那学C语言可以做什么呢?尤其是还在学校的同学,感觉自己学了很久,什么也做不了,一度怀疑自己是不是不适合程序员这个方向. 开始我都是直接说可以开发嵌入式啊,做 ...

  5. 学了C语言,如何写个程序计算出每个月的第一个星期一对应的日期

    在前面,我们分别利用泰勒公式和C标准库中的mktime()函数推算了某个特定日期所对应的星期几,刚做完这些,就又遇到了一个与日期相关的新任务: 老板把每个月例会的时间定在了每个月的第一个星期一,他让我 ...

  6. 学了C语言,如何利用CURL写一个下载程序?—用nmake编译CURL并安装

    在这一系列的前一篇文章学了C语言,如何为下载狂人写一个磁盘剩余容量监控程序?中,我们为下载狂人写了一个程序来监视磁盘的剩余容量,防止下载的东西撑爆了硬盘.可是,这两天,他又抱怨他的下载程序不好用,让我 ...

  7. 零基础学完Python的7大就业方向,哪个赚钱多?

    “ 我想学 Python,但是学完 Python 后都能干啥 ?” “ 现在学 Python,哪个方向最简单?哪个方向最吃香 ?” “ …… ” 相信不少 Python 的初学者,都会遇到上面的这些问 ...

  8. Golang入门(3):一天学完GO的进阶语法

    摘要 在上一篇文章中,我们聊了聊Golang中的一些基础的语法,如变量的定义.条件语句.循环语句等等.他们和其他语言很相似,我们只需要看一看它们之间的区别,就差不多可以掌握了,所以作者称它们为&quo ...

  9. Golang入门(2):一天学完GO的基本语法

    摘要 在配置好环境之后,要研究的就是这个语言的语法了.在这篇文章中,作者希望可以简单的介绍一下Golang的各种语法,并与C和Java作一些简单的对比以加深记忆.因为这篇文章只是入门Golang的第二 ...

随机推荐

  1. 如何获取公网IP的mac地址

    如何获取远程IP的mac地址 思路分析 由于java本身没有相关的jar包进行获取,所以这里介绍从其他的方面进行入手和实践 使用的工具对比: tcpdump tshark pcap4j 都可以达到抓包 ...

  2. native关键字是干什么的?

    目录 1.怎么调用到native方法的呢? 2. java调用自定义native方法步骤 3.使用native的缺点 今天一不小心跟进Object的源码中,发现一个native关键字,一脸蒙蔽,怎么我 ...

  3. LaTeX的字体字号设置

    字体属性: 字体族代码及注释: 显示效果: 字体系列设置及字体形状设置代码及注释: 显示效果: 字体大小及中文字号的设置代码及注释: 显示效果: ctex文档有关中文字号的排版: ctex文档的打开方 ...

  4. `prometheus-net.DotNetRuntime` 获取 CLR 运行指标原理解析

    prometheus-net.DotNetRuntime 介绍 Intro 前面集成 Prometheus 的文章中简单提到过,prometheus-net.DotNetRuntime 可以获取到一些 ...

  5. url的组成结构信息

    http://www.aspxfans.com:8080/news/index.asp?boardID=5&ID=24618&page=1#name 从上面的URL可以看出,一个完整的 ...

  6. Python中函数是否能使用全局变量?

    Python函数中的变量,既可以使用局部变量(本地名字空间的变量),也可以使用全局变量(全局名字空间的变量),函数在执行查找变量只读时,先在局部变量中查找,找不到再查到全局变量中查找.因此当局部变量和 ...

  7. PyQt(Python+Qt)学习随笔:QTreeView树形视图的sortingEnabled属性

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTreeView树形视图的sortingEnabled属性用于控制视图中的数据是否启用按表头排序, ...

  8. Shell命令和流程控制[linux常用命令的使用]

    在shell脚本中使用三类命令: unix命令 概念:管道.重定向.backtick 流程控制 1 unix命令 echo "some text":在屏幕上输出信息 ls:文件列表 ...

  9. sails框架结合mocha

    sails框架(testing&model and orm): http://sailsjs.org/documentation/concepts/testing orm(对象关系映射): h ...

  10. 几句话说明 .NET MVC中ViewData, ViewBag和TempData的区别

    ViewData和TempData是字典类型,赋值方式用字典方式, ViewData["myName"] ViewBag是动态类型,使用时直接添加属性赋值即可 ViewBag.my ...