一,前言

  写完t-sql系列,想了想自己的编程之路,一直有个想法,把自己这两年所整理的编程知识拿出来和大家分享,本来写完t-sql是想写一些设计思想的,因为现在也是在学习和整理一些简单框架,经常泡在大牛们的著作中,也让我学习到很多,自己一开始接触的设计思想是一篇叫《大话设计模式》

  里面小菜和大鸟的对话,很是风趣和通俗易懂,自己也试着写了一些东西。想把这些写出来,但是又想做一个整系列的编程学习资料,就有点乱了。想了想,自己一开始接触的是C语言,那就从它开始写起吧。

  大学学的专业是软件技术,当时选这个专业,主要是当时对计算机感兴趣,然后这个专业又是涉及到计算机,所有就选了这一门专业,现在回过头去看,自己不后悔,看园里面经常有人吐槽,说码农,编程怎么怎么不好,还不如某某行业,工资还不如扫大街的大妈等等。那是别人对编程人的看法,我只想对自己说:我编程,我喜欢,我骄傲。。。

  大学第一学期是处在朦胧期,或者是傻逼期。学的东西什么都不懂,上课就像听天书一样。当时唯一和我们专业相关的课程就是C语言,其他的都是一些八竿子打不着的课程,记得C语言这门课还是我们学院的副院长亲自为我们讲的,一个有点微胖的牛逼人物。

  这篇主要讲C,啰嗦的太多了,当然不是讲C语言的一些用法,C的语法很简单,大家没学过的可以找本谭浩强写的一本有关C的书,很经典全面,很适合初学者。那有人会说不讲C,那你说个毛。这篇我只想说说通过自己第一门语言C对编程的理解。。。

二,大学时期的C

  刚刚步入大学校园,对一切都充满着好奇,当然上课也很认真,不管是不是专业课,每堂课都准时到,老师布置的作业也按时完成。因为在高中养成了这个习惯,以为大学和高中时差不多的。

  这个认真劲在坚持了一两个月的时候就跑的无影无踪了,一开始有一个翘课就有第二个,第三个。。。C语言课程也就是在这个时候开的,第一次学除了语数外之外的课程,第一堂课我们班都听的狠认真,当然第一堂课也没讲什么,都是瞎喷。先说下教我们C的黄老师,我们学院的副院长,很年轻,得过什么荣誉什么的都忘了,反正好像很牛逼的样子,在我们系办公室外的墙上贴的,喜欢户外运动,经常外出旅游,也喜欢一些室内运动,因为经常看到他在学校打乒乓球。还有一点就是,黄老师从不开车上课,每天都是骑个自行车去学校,当时就这一点对这位老师的印象不错。

  黄老师讲课的时候很专业,这个“专业”是很专业的意思,以至于我们都没几个人听懂的,用我们自己的话说是,会的人能听懂,不会的人就是听天书。但是黄老师不管有没有人听得懂,每天沉浸在自己臆想的世界中去讲课。慢慢我们就养成听黄老师课睡觉的习惯,只要黄老师一张嘴,我们班不到两分钟就卧倒一片。

  黄老师上课要求的很严格,严格体现在进教室的时候,有时候上完课,黄老师会布置一些题目,让我们回去自己去做,当然这些是百度不到的题目,不知道他是从哪里搞来的。我们每人都有自己的实验报告册,布置题目的答案要写在上面。要上课的时候他会让我们站成一列,然后把后门锁上,自己堵在前门口,一个一个的检查,没写的回去写或者就在门口听课。因为那时没几个人会,但也有学的还不错的(不包含我),我们一下课就去找他们,各种贿赂,所以只要有人写出来,我们立马蜂拥而至,你抄我,我抄他,他再抄他,抄来抄去,不管怎样原始版本就那么一个。一开始的时候黄老师没发现,还很惊讶,原来我教的学生那么聪明,布置的题目居然都会,所以那几天他很是得意,他高兴我们日子也当然好过喽。。。

  但是这种日子就持续了很短的一段时间,就被黄老师发现了,什么原因呢?

  因为我们学的越多,布置的题目也就越难,答案写的内容也就越多,因为是现场检查,一个一个的,第一个没问题,第二个也没问题,第三个有点疑惑,第四个很惊讶,第五个很恼怒,第六个就死了。。。下面也就死一片。因为我们的答案是一个版本,就这样我们的好日子终结了,老师旁边的座位是最危险的,因为他有时候会冷不丁的问一个问题,还经常是靠他最近的,回答不出很惨。。。

  慢慢这样的日子就到头了,因为要考试了,我们的死期也就到了。。。每天计算着还离上断头台还剩多少天。

  说实话,我从黄老师课上基本上没学到什么东西,不能说一点点也没学到什么,是一点也没学到什么,基本上是混过去的,当时考C语言,黄老师监考,监考的很严,以至于有些动作的同学没有了办法。最后成绩出来的时候,我们班挂了近二十个(不包含我),总共才二十几个人。

  记得当时考了70几分,在我们班好像排第二,有个很变态的考了80几分,有的就考个10几分,为什么考那么差,一是黄老师出的那变态的题目实在对我们来说太难了,另一个就是我们的技术太菜了。。。

  大家肯定很惊讶,为什么我平时都没怎么学,考试居然考了个全班第二吧?在这里我要好好谢谢谭浩强先生,因为距离考试的那段日子,天天抱着他写的那本C语言程序设计,在图书馆对着电脑一段一段代码的敲,从“hello world!”敲到指针和文件操作。那段日子真的是一段一段代码的写,现在移动硬盘还保存着当时的一点痕迹,也就是那段时间,让我对C有了重新的认识,也理解运用了C的一些语法和特性,当然更深层次的是在参赛培训的那段日子,等下会聊到。

  大学时期的C就这些,好怀念大学时光,可惜回不去了。说了那么多,好像都在瞎扯,哈哈哈。。。

三,参赛时期的C

  这个参赛时期是在大二的下学期,春暖花开的时候,那时候已经学了C#,asp.net,ado.net等,也对编程有了一定的理解,C早已忘了,那时候班主任说要参加个编程比赛,说的怎么怎么好,我们也被忽悠忽悠的一愣一愣的,三个班差不多报名快一半了,因为报名的人太多了,所以学校搞了个学校初赛,说白了就是刷人,很不幸,本人没被刷下。学校初赛后就有了参加省里初赛的机会。

  参加省里比赛老师也没有辅导我们,让我自己回去看,因为参加省里后,只有得到省里一等奖才能参加决赛,比他娘选妃还严格。

  因为决赛是在北京举行,也就是说得了省里一等奖就意味着可以去哪传说中的帝都(本人小农村来的),很是激动啊,可以见见毛主席。初赛考完试,忐忑着过了几天,到了“揭榜”日子,官网列出来得奖名单,先是一等奖,本人一个一个的开过去,比看什么都仔细,没有,到二等奖名单,还是没有,三等奖,还是没有,优秀奖,还是没有。当时看完结果人都傻了。什么情况?》》》》这段写起来有点没完没了啊,直接说吧,学校因为得到的结果不满意要重新查成绩,最后是那边弄错了,然后我们学校又多了两个去北京的(包括本人),当然学校又多了两个负担。。。

  学校对我们这次参赛的给予了厚望,所以在我们距离参赛的这段时间,学校对我们进行了封闭的培训,有院长亲自指导。这段时间也是本人学C真正的时间,才明白算法和数据结构对C语言很重要,我们每天不是编写代码,而是做些奥数题,然后再用代码实现,其实只要思路一通,代码立马就可以实现,C语言的语法就那些,熟的不能再熟了,对我们来说就是怎样去用这些语法去实现这些奥数题的思想,每天就这样在死几百万脑细胞的日子中度过。。。

  就这样持续了快一个月吧,终于决赛时间到了,可以去帝都了。来张靓图:

  不知道能不能找到哪个是本人,大家可别人肉。

  回想起大学的一点一滴,和那些基友们疯狂的岁月,好是怀念。真想可以再回到学校,可是物是人非。。。

  其实说是说C,写到着看来只是个借口,用来回味大学时光的幌子,不好意思啊,接下来本人会整理一些在参赛培训的一些题目及讲解,希望大家到时候可以关注下。。。

  今天看到了一个趣图,和大家分享下,好像又是吐槽程序员的,大家笑笑就好。

  

我的编程开始(C)的更多相关文章

  1. 从直播编程到直播教育:LiveEdu.tv开启多元化的在线学习直播时代

    2015年9月,一个叫Livecoding.tv的网站在互联网上引起了编程界的注意.缘于Pingwest品玩的一位编辑在上网时无意中发现了这个网站,并写了一篇文章<一个比直播睡觉更奇怪的网站:直 ...

  2. JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议

    软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...

  3. 读书笔记:JavaScript DOM 编程艺术(第二版)

    读完还是能学到很多的基础知识,这里记录下,方便回顾与及时查阅. 内容也有自己的一些补充. JavaScript DOM 编程艺术(第二版) 1.JavaScript简史 JavaScript由Nets ...

  4. [ 高并发]Java高并发编程系列第二篇--线程同步

    高并发,听起来高大上的一个词汇,在身处于互联网潮的社会大趋势下,高并发赋予了更多的传奇色彩.首先,我们可以看到很多招聘中,会提到有高并发项目者优先.高并发,意味着,你的前雇主,有很大的业务层面的需求, ...

  5. C#异步编程(一)

    异步编程简介 前言 本人学习.Net两年有余,是第一次写博客,虽然写的很认真,当毕竟是第一次,肯定会有很多不足之处, 希望大家照顾照顾新人,有错误之处可以指出来,我会虚心接受的. 何谓异步 与同步相对 ...

  6. UE4新手之编程指南

    虚幻引擎4为程序员提供了两套工具集,可共同使用来加速开发的工作流程. 新的游戏类.Slate和Canvas用户接口元素以及编辑器功能可以使用C++语言来编写,并且在使用Visual Studio 或 ...

  7. C#与C++的发展历程第三 - C#5.0异步编程巅峰

    系列文章目录 1. C#与C++的发展历程第一 - 由C#3.0起 2. C#与C++的发展历程第二 - C#4.0再接再厉 3. C#与C++的发展历程第三 - C#5.0异步编程的巅峰 C#5.0 ...

  8. 猫哥网络编程系列:HTTP PEM 万能调试法

    注:本文内容较长且细节较多,建议先收藏再阅读,原文将在 Github 上维护与更新. 在 HTTP 接口开发与调试过程中,我们经常遇到以下类似的问题: 为什么本地环境接口可以调用成功,但放到手机上就跑 ...

  9. 关于如何提高Web服务端并发效率的异步编程技术

    最近我研究技术的一个重点是java的多线程开发,在我早期学习java的时候,很多书上把java的多线程开发标榜为简单易用,这个简单易用是以C语言作为参照的,不过我也没有使用过C语言开发过多线程,我只知 ...

  10. 异步编程 In .NET

    概述 在之前写的一篇关于async和await的前世今生的文章之后,大家似乎在async和await提高网站处理能力方面还有一些疑问,博客园本身也做了不少的尝试.今天我们再来回答一下这个问题,同时我们 ...

随机推荐

  1. flex的兼容

    父容器的 display 属性: .box{ display: -webkit-box; /* 老版本语法: Safari, iOS, Android browser, older WebKit br ...

  2. Unity3D UGUI之DoTweenAnimation脚本控制动画方法

    DOTweenAnimation脚本: Loops循环:-1时即永久循环播放. Loops Type 是选择播放模式. Ease属性里有很多,暂时只知道Linear的效果,其他有待单独写. ID下面可 ...

  3. IDT HOOK思路整理

    IDT(中断描述符表)分为IRQ(真正的硬件中断)和软件中断(又叫异常). HOOK的思路为,替换键盘中断处理的函数地址为自己的函数地址.这样在键盘驱动和过滤驱动之前就可以截获键盘输入. 思路确定之后 ...

  4. SQL Server : Browser服务

    SQL Server : Browser服务是SQL Server 2005新增的,简单的说,如果一个物理服务器上面有多个SQL Server实例,那么为了确保客户端能访问到正确的实例,所以SQL S ...

  5. Silverlight及WPF中实现自定义BusyIndicator

    在开发Silverlight或者WPF项目时,当我们调用Web服务来加载一些数据时,由于数据量比较大需要较长的时间,需要用户等待,为了给用户友好的提示和避免用户在加载数据过程中进行重复操作,我们通常使 ...

  6. K-均值聚类算法

    K-均值聚类算法 聚类是一种无监督的学习算法,它将相似的数据归纳到同一簇中.K-均值是因为它可以按照k个不同的簇来分类,并且不同的簇中心采用簇中所含的均值计算而成. K-均值算法 算法思想 K-均值是 ...

  7. JavaScript实现TwoQueues缓存模型

    本文所指TwoQueues缓存模型,是说数据在内存中的缓存模型. 无论何种语言,都可能需要把一部分数据放在内存中,避免重复运算.读取.最常见的场景就是JQuery选择器,有些Dom元素的选取是非常耗时 ...

  8. 《Entity Framework 6 Recipes》中文翻译系列 (15) -----第三章 查询之与列表值比较和过滤关联实体

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 3-8与列表值比较 问题 你想查询一个实体,条件是给定的列表中包含指定属性的值. 解 ...

  9. 《Entity Framework 6 Recipes》中文翻译系列 (40) ------ 第七章 使用对象服务之从跟踪器中获取实体与从命令行生成模型(想解决EF第一次查询慢的,请阅读)

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 7-5  从跟踪器中获取实体 问题 你想创建一个扩展方法,从跟踪器中获取实体,用于数 ...

  10. CentOS 7 网络配置

    Virtual box 安装了CentOS 7最小模式后马上用ifconfig命令查看网络情况,发现该命令不存在. [root@centos1 ~]# ifconfig -bash: ifconfig ...