文档章节

C语言对编程学习的重要性

 宁哥实战课堂
发布于 2017/05/16 16:57
字数 1257
阅读 18
收藏 1

C语言给初学者的学习感觉比较难易把控,特别是莫名其妙的指针错误,更是措手不及。引入N多的库才实现比如图形设计,甚是麻烦。所以很多人“躲过”C语言的学习,直接去学上层语言,如:PHP,js,JAVA。

但是最后会发现,事情并没有预想中的那么好,很多东西出现的莫名其妙,难以理解......比如上层语言中的字符串就是很好的例子,很多很好的用法的出现虽然给使用者带来了方便,但是为什么会那么的出现?字符串到底是怎么来的?

这些问题却更加的神秘了,因此剩下的也就是背诵,一堆的背诵,加大了学习负担,降低了学习兴趣,陷入了一个个的苦恼之中。

所以,想躲,却躲不过。因为C语言学习是走进编程领域必备的一条路。

在大学时候开设C语言,可能“动机不纯”,并没有给你解释清楚为什么要学,或者解释了你当时没感觉也没印象。

学会C语言也不是期末的时候背诵几个考试题,也不是上级测试最后一个编程题,甚至拿到满分所能衡量的。那纯粹是为了拿学分,为了应付考试,离学会还有很大的距离。

学习C语言的意义:编程行业的必备学习基础。

虽然它引入N多的库可以用来开发比较复杂的图形程序,如:俄罗斯方块,如:操作数据库的界面,但是它的意义不在于开发图形界面。因为同样的功能,可能你要开发好多天,但是别人PS或者写几个js就可以超过你的效果,如:http://www.phpkhbd.com/sky.html 或者:http://www.phpkhbd.com/full_cyy.html 这样的效果当然不是用C语言去实现的,不是不能,是不应该,否则就类似答非所问、文不对题了。

做嵌入式界面,你在不断的引入各种各样的库,错误一大片可能还没出现效果,别人QT几下子弄的比你还漂亮很多。所以C语言的学习目的不在于开发出多么炫酷的效果。而在于给你看破编程的红尘,让你懂得上层语言中突如其来的那些使用应该能怎么来。

它虽然没有汇编语言那么详细明了的给你展示内存分配过程,如:main函数怎么被调起来的,函数调用过程中内存变化详情,中断处理过程的详细变化。但是它可以给你展示上层一点的概念如:为什么要有指针,为什么指针长相那样,字符串是怎么来的,链表是什么?

怎么就出现了链表?这些就对上层语言有很好的指导意义,可以让你在学上层语言的过程中不怎么学就会了。因为它基本上就是“还原原始”的使用方式。所以你使用起来比较麻烦和枯燥,比如:

char* p="ningcaichen";

当你p[0]='N';

的时候就会出错,就比上层语言用起来麻烦多了。但这并不能说明C语言原始就没有意义,相反很有学习和指导意义,它能告诉你字符串是怎么出来的。当你晓得了之后,你就知道上面原来是在常量区定义的字符集合,而指针是不能操作常量的,因此出错,那么上层语言是怎么做到p[0]的?

其实上层语言并没有违背这个规矩,而是重新申请地址,重新拷贝那些字符内容,因此就可以解决了。但是上层语言只是给你展示结果,隐藏了这些会错误的情况,所以就莫名其妙的出现了使用方便的字符串了。因此上层语言虽然好用,但是却更加神秘了。如果不理解,你剩下的也就只能是背诵了。背多了头就大...

学习C语言也不是说必须用C语言去找工作,而是方便学某一门需求广泛的上层语言,如:PHP。所以,学习和求职很多时候是两码事,一个有长远规划的编程爱好者,是会摒弃编程语言的门户之见,做到融会贯通,就像霍元甲统一武术界,在上海创办“精武门”...

客观规律就是这样,编程行业是一个融会贯通的行业,科技不分界限,要想在上层语言中有所建树,成为精英,最后还是要回头,落下的迟早是要补回来!

继续关注:C语言的学习方法

© 著作权归作者所有

共有 人打赏支持
粉丝 5
博文 72
码字总数 77184
作品 0
长沙
其他
私信 提问
C语言和C++太难?没前途?谬论!

因为有些对C++并不了解,所以就简要介绍一下。很多人对C++语言都存在误解,以为C++就是C语言的扩展,包括我自己,最开始学习C++时也是这么认为的,一是因为名字太像了,然后C++面向过程部分,...

小辰GG
2017/11/27
0
0
小蚂蚁学习C语言(1)——C语言概述

C语言概述 1. 为什么学习C语言 C的起源和发展 1 第一代语言:机器语言 0101 2 第二代语言:汇编语言 add 1,2 3 第三代高级语言: C语言产生和发展过程: 产生时间:1972-1973 产生地点:美国...

嗜学如命的小蚂蚁
2015/11/26
180
4
C语言/C++对编程学习的重要性!

C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到...

小辰带你看世界
2018/06/02
0
0
程序员对C语言的拙劣看法

我对C语言的拙劣看法 扯买房实在不擅长,咱门还是来聊程序吧。 C语言是面向过程的,而C++是面向对象的C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑...

小辰GG
2017/12/27
0
0
为什么大学学编程首先学C语言,学的什么程度可以就业,就业可以干嘛?

导读 从大学开始学习编程,学的就是C语言,未来很多人学习其他语言,但是为什么我们要先学C语言呢? 学习C语言有什么好处?自从学习了别的语言之后,就感觉C语言白学了,学了有什么用?在未来...

你的社交帐号昵
2018/05/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 白掌柜说了卖货不卖身

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @爱漫爱 :这是一场修行分享羽肿的单曲《Moony》 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :开不开心? 开心呀, 我又不爱睡懒觉…...

小小编辑
今天
10
3
大数据教程(11.7)hadoop2.9.1平台上仓库工具hive1.2.2搭建

上一篇文章介绍了hive2.3.4的搭建,然而这个版本已经不能稳定的支持mapreduce程序。本篇博主将分享hive1.2.2工具搭建全过程。先说明:本节就直接在上一节的hadoop环境中搭建了! 一、下载apa...

em_aaron
今天
4
0
开始看《JSP&Servlet学习笔记》

1:WEB应用简介。其中1.2.1对Web容器的工作流程写得不错 2:编写Servlet。搞清楚了Java的Web目录结构,以及Web.xml的一些配置作用。特别是讲了@WebServlet标签 3:请求与响应。更细致的讲了从...

max佩恩
今天
5
0
mysql分区功能详细介绍,以及实例

一,什么是数据库分区 前段时间写过一篇关于mysql分表的的文章,下面来说一下什么是数据库分区,以mysql为例。mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可...

吴伟祥
今天
5
0
SQL语句查询

1.1 排序 通过order by语句,可以将查询出的结果进行排序。放置在select语句的最后。 格式: SELECT * FROM 表名 ORDER BY 排序字段ASC|DESC; ASC 升序 (默认) DESC 降序 1.查询所有商品信息,...

stars永恒
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部