我的编程开始(C)
一,前言
写完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)的更多相关文章
- 从直播编程到直播教育:LiveEdu.tv开启多元化的在线学习直播时代
2015年9月,一个叫Livecoding.tv的网站在互联网上引起了编程界的注意.缘于Pingwest品玩的一位编辑在上网时无意中发现了这个网站,并写了一篇文章<一个比直播睡觉更奇怪的网站:直 ...
- JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议
软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...
- 读书笔记:JavaScript DOM 编程艺术(第二版)
读完还是能学到很多的基础知识,这里记录下,方便回顾与及时查阅. 内容也有自己的一些补充. JavaScript DOM 编程艺术(第二版) 1.JavaScript简史 JavaScript由Nets ...
- [ 高并发]Java高并发编程系列第二篇--线程同步
高并发,听起来高大上的一个词汇,在身处于互联网潮的社会大趋势下,高并发赋予了更多的传奇色彩.首先,我们可以看到很多招聘中,会提到有高并发项目者优先.高并发,意味着,你的前雇主,有很大的业务层面的需求, ...
- C#异步编程(一)
异步编程简介 前言 本人学习.Net两年有余,是第一次写博客,虽然写的很认真,当毕竟是第一次,肯定会有很多不足之处, 希望大家照顾照顾新人,有错误之处可以指出来,我会虚心接受的. 何谓异步 与同步相对 ...
- UE4新手之编程指南
虚幻引擎4为程序员提供了两套工具集,可共同使用来加速开发的工作流程. 新的游戏类.Slate和Canvas用户接口元素以及编辑器功能可以使用C++语言来编写,并且在使用Visual Studio 或 ...
- 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 ...
- 猫哥网络编程系列:HTTP PEM 万能调试法
注:本文内容较长且细节较多,建议先收藏再阅读,原文将在 Github 上维护与更新. 在 HTTP 接口开发与调试过程中,我们经常遇到以下类似的问题: 为什么本地环境接口可以调用成功,但放到手机上就跑 ...
- 关于如何提高Web服务端并发效率的异步编程技术
最近我研究技术的一个重点是java的多线程开发,在我早期学习java的时候,很多书上把java的多线程开发标榜为简单易用,这个简单易用是以C语言作为参照的,不过我也没有使用过C语言开发过多线程,我只知 ...
- 异步编程 In .NET
概述 在之前写的一篇关于async和await的前世今生的文章之后,大家似乎在async和await提高网站处理能力方面还有一些疑问,博客园本身也做了不少的尝试.今天我们再来回答一下这个问题,同时我们 ...
随机推荐
- 不用css3的响应式img(按比例缩小图片)
有时候自己为了控制图片的响应式,按比例缩小放大图片,如果解决这个问题,用js吧,很麻烦.也会损失很大的加载运行速度等:所以我们还是用css来解决这个问题,用css来强制按比例压缩图片的高度或宽度,看代 ...
- thrift 服务端linux C ++ 与客户端 windows python 环境配置(thrift 自带tutorial为例)
关于Thrift文档化的确是做的不好.摸索了很久才终于把跨linux与windows跨C++与python语言的配置成功完成.以下是步骤: 1) Linux下环境配置 ...
- windows 环境和linux环境下 ping命令的区别:
Ping 是Windows自带的一个DOS命令.利用它可以检查网络是否能够连通,用好它可以很好地帮助我们分析判定网络故障.该命令可以加许多参数使用,键入Ping按回车即可看到详细说明.Ping 命令可 ...
- 利用http缓存数据
通过一个简单的ajax请求来详解http的缓存技术 register.html <!DOCTYPE> <html> <head> <title>http ...
- java包(package)的命名规范
Java的包名都有小写单词组成,类名首字母大写:包的路径符合所开发的 系统模块的 定义,比如生产对生产,物资对物资,基础类对基础类.以便看了包名就明白是哪个模块,从而直接到对应包里找相应的实现. 由 ...
- 初试Office 365企业版E3
Microsoft Office 365 团队给了所有现任的MVP 12个月的微软 Office 365 企业 E3 订阅,今天激活账号并试用了一下,发现非常强大,本文简要介绍下Office 365 ...
- 如何使用Microsoft技术栈
Microsoft技术栈最近有大量的变迁,这使得开发人员和领导者都想知道他们到底应该关注哪些技术.Microsoft自己并不想从官方层面上反对Silverlight这样的技术,相对而言他们更喜欢让这种 ...
- 用rem实现WebApp自适应的优劣分析
关于rem实现屏幕自适应布局的讨论还是比较多的,刚好我也看到使用rem实现自适应的web app,所以也来凑下热闹. 说起rem,免不了要联系到em.px,这里简单提提他们的定义和特点. 1. px: ...
- 如何创建一个RESTful WCF Service
原创地址:http://www.cnblogs.com/jfzhu/p/4044813.html 转载请注明出处 (一)web.config文件 要创建REST WCF Service,endpoin ...
- jieba中文分词的.NET版本:jieba.NET
简介 平时经常用Python写些小程序.在做文本分析相关的事情时免不了进行中文分词,于是就遇到了用Python实现的结巴中文分词.jieba使用起来非常简单,同时分词的结果也令人印象深刻,有兴趣的可以 ...