C·Quickstart(一 现实问题的数字化)

读这一系列文章不能让你成为掌握C语言的专家,但它可以帮你对C语言形成一个初步的印象,轻松地上手写一些小程序。

在正式开始之前,我忽然想起同学曾经问过我的问题。“C语言到底能干什么?”对于写过C程序的人来说这也许不是问题,但是考虑到我是写给不熟悉编程的孩纸看的,所以我还是应该回答一下,或许有点帮助。

C语言能干什么

C语言编写的程序广泛存在于各个领域,底层如硬件驱动,操作系统的内核,高层到我们平时用的办公软件、游戏,但它涉及的操作其实挺简单:

  1. 分配存储空间
  2. 从存储空间中读数据
  3. 数学运算
  4. 向存储空间写入数据
  5. 根据数据的值控制程序的运行

以上基本是它的全部功能了。你可能觉得,这看起来好像只能计算数学问题,离实际生活有点远。这句话只说对了一半,它确实只能解决数学问题,但是生活中的问题大多可以变成数学问题。正因如此,计算机才能对现在的世界产生如此深远的改变。

对于计算机来说,所有的东西都是数字,而人类必须要把现实问题转化为数学问题,才能交给计算机来解决。

那么你现在可能会关心,生活中的问题都是怎么转化成数学问题了呢?举个例子吧,如果我们用电脑看电影,那么电影本身要以数字的形式存在。由于人眼的视觉暂留特性,一秒只需要播放24帧以上的画面就足以产生连续变化的场景。因此,电影实际上是一系列的图片数据,这个过程叫做离散化

如果是2个小时的电影,每秒24帧,就有86,400张图片。如果电影的分辨率是1920*1080,那么每张图片都有2,073,600个像素。每个像素的颜色信息包含4个通道,分别是红(Red)绿(Green)蓝(Blue)和透明度(Alpha),各自都是0到255的整数。每个整数占用1个字节[1],一个像素就占用了4个字节。最终,一部电影的视频信息就完全转化为了数字,一共占据大约716GB的空间。同样地,声音也通过某种标准转化为了数字。

为了存储和传输这样巨大的数据量,人们开发出了各种压缩算法,以减少相同信息的重复次数。这里涉及到了很多复杂的数学和技术原理,就不再深入了。因为这样的算法,我们能在网上看高清的影片。顺便说句,不同的压缩方法带来了不同的编码格式,也体现在文件的格式上,例如avi、rmvb、mp4等等。随着技术的进步,旧的算法被新的取代,现在已经很少看到avi或者rmvb格式的视频了啊。

然后就是看电影的部分了。对于转化为了数字的电影,把它展现在屏幕上同样也变成了数学问题!让我们考虑一下,为了播放电影,涉及的操作有哪些:

  • 从硬盘中读取影片的数据(2)
  • 用数学运算将压缩后的内容还原为原始的信息(3)
  • 在把数据写入到显卡和声卡的缓冲区中用于播放(4)
  • 在整个过程中,要不停地进行数学运算,控制播放进度(5)
  • 整个过程中我们需要借用内存空间来作为数据的中转站(1)

括号中的数字表明这是C语言中的哪些操作,既然这些都能做到了,至少我们可以得出一个结论。

C语言可以用来写视频播放器。

当然了,你一定已经想到,只要人类能够把问题用计算机的语言描述出来,就能够用编程的方式给出一个解决方案。这些基本操作的组合,最终竟为我们带来了千变万化的不可思议的功能。

不过这些功能不是C语言所独有的,其他的编程语言也能做到。那它们有哪些区别呢?就不是这一篇文章的内容了,留待以后再讨论吧。

小尾巴

总之,虽然说是讨论C语言能做什么,但是这一段好像完全在讨论现实问题的数字化了。虽然完全不管这些内容也能立刻开始写程序,但是知道我们究竟做的是一件什么事情,背后有怎样的思想,我觉得比解决一两个小问题来的有意义呢。

那么下一篇再见啦。


  1. 一个字节(Byte)相当于8个二进制位,可以表达0-255的256个整数,我们所熟悉的KB,MB分别指1,000字节和1,000,000字节

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容