又到期末了,为什么学完C语言觉得好像没学一般?复习资料来一份
不少同学从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语言觉得好像没学一般?复习资料来一份的更多相关文章
- 为什么学完C语言觉得好像没学一般?
不少同学从Hello world学到文件操作之后,回顾感觉会又不会? 学会了又感觉没学会?这种不踏实.模糊虚无的感觉? 原因在于编程不同于理论学科,你听懂和理解了理论就可以运用. 比如历史地理,看 ...
- 闭嘴,给你一个数!1分钟,学完C语言指针,不扎手只扎心的针!
序言 指针是C语言学习者绕不过的一道坎,也是C语言学习者不得绕过的一道坎.辨别一个人C语言学的好赖就看他对指针的理解怎么样.指针内容也是工作面试经常问到的问题.本文将带你重新认识那个绊倒你的指针,以解 ...
- 【机器学*与R语言】2-懒惰学*K*邻(kNN)
目录 1.理解使用KNN进行分类 KNN特点 KNN步骤 1)计算距离 2)选择合适的K 3)数据准备 2.用KNN诊断乳腺癌 1)收集数据 2)探索和准备数据 3)训练模型 4)评估模型的性能 5) ...
- 学了 C 语言到底能做什么, 能从事什么工作?
前言 经常有小伙伴问我,你是做C/C++的,那学C语言可以做什么呢?尤其是还在学校的同学,感觉自己学了很久,什么也做不了,一度怀疑自己是不是不适合程序员这个方向. 开始我都是直接说可以开发嵌入式啊,做 ...
- 学了C语言,如何写个程序计算出每个月的第一个星期一对应的日期
在前面,我们分别利用泰勒公式和C标准库中的mktime()函数推算了某个特定日期所对应的星期几,刚做完这些,就又遇到了一个与日期相关的新任务: 老板把每个月例会的时间定在了每个月的第一个星期一,他让我 ...
- 学了C语言,如何利用CURL写一个下载程序?—用nmake编译CURL并安装
在这一系列的前一篇文章学了C语言,如何为下载狂人写一个磁盘剩余容量监控程序?中,我们为下载狂人写了一个程序来监视磁盘的剩余容量,防止下载的东西撑爆了硬盘.可是,这两天,他又抱怨他的下载程序不好用,让我 ...
- 零基础学完Python的7大就业方向,哪个赚钱多?
“ 我想学 Python,但是学完 Python 后都能干啥 ?” “ 现在学 Python,哪个方向最简单?哪个方向最吃香 ?” “ …… ” 相信不少 Python 的初学者,都会遇到上面的这些问 ...
- Golang入门(3):一天学完GO的进阶语法
摘要 在上一篇文章中,我们聊了聊Golang中的一些基础的语法,如变量的定义.条件语句.循环语句等等.他们和其他语言很相似,我们只需要看一看它们之间的区别,就差不多可以掌握了,所以作者称它们为&quo ...
- Golang入门(2):一天学完GO的基本语法
摘要 在配置好环境之后,要研究的就是这个语言的语法了.在这篇文章中,作者希望可以简单的介绍一下Golang的各种语法,并与C和Java作一些简单的对比以加深记忆.因为这篇文章只是入门Golang的第二 ...
随机推荐
- 如何获取公网IP的mac地址
如何获取远程IP的mac地址 思路分析 由于java本身没有相关的jar包进行获取,所以这里介绍从其他的方面进行入手和实践 使用的工具对比: tcpdump tshark pcap4j 都可以达到抓包 ...
- native关键字是干什么的?
目录 1.怎么调用到native方法的呢? 2. java调用自定义native方法步骤 3.使用native的缺点 今天一不小心跟进Object的源码中,发现一个native关键字,一脸蒙蔽,怎么我 ...
- LaTeX的字体字号设置
字体属性: 字体族代码及注释: 显示效果: 字体系列设置及字体形状设置代码及注释: 显示效果: 字体大小及中文字号的设置代码及注释: 显示效果: ctex文档有关中文字号的排版: ctex文档的打开方 ...
- `prometheus-net.DotNetRuntime` 获取 CLR 运行指标原理解析
prometheus-net.DotNetRuntime 介绍 Intro 前面集成 Prometheus 的文章中简单提到过,prometheus-net.DotNetRuntime 可以获取到一些 ...
- url的组成结构信息
http://www.aspxfans.com:8080/news/index.asp?boardID=5&ID=24618&page=1#name 从上面的URL可以看出,一个完整的 ...
- Python中函数是否能使用全局变量?
Python函数中的变量,既可以使用局部变量(本地名字空间的变量),也可以使用全局变量(全局名字空间的变量),函数在执行查找变量只读时,先在局部变量中查找,找不到再查到全局变量中查找.因此当局部变量和 ...
- PyQt(Python+Qt)学习随笔:QTreeView树形视图的sortingEnabled属性
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTreeView树形视图的sortingEnabled属性用于控制视图中的数据是否启用按表头排序, ...
- Shell命令和流程控制[linux常用命令的使用]
在shell脚本中使用三类命令: unix命令 概念:管道.重定向.backtick 流程控制 1 unix命令 echo "some text":在屏幕上输出信息 ls:文件列表 ...
- sails框架结合mocha
sails框架(testing&model and orm): http://sailsjs.org/documentation/concepts/testing orm(对象关系映射): h ...
- 几句话说明 .NET MVC中ViewData, ViewBag和TempData的区别
ViewData和TempData是字典类型,赋值方式用字典方式, ViewData["myName"] ViewBag是动态类型,使用时直接添加属性赋值即可 ViewBag.my ...