导读:计算机程序无时不刻的影响着人类的生活,现代社会已经离不开程序,程序的作用如此巨大,那么程序到底是什么呢?本章主要讨论程序的概念,唤起读者对程序的兴趣,同时对C语言程序与其它语言程序进行比较,说明作为一个C语言程序员需要具备的基本理论知识,本章末端简单的描述windows中一个计算器程序是如何工作的。
1.1 什么是计算机程序
从字面上理解,程序就是完成一件事所需要进行的步骤,举个生活的例子,买酱油!需要哪些步骤:
第一种做法:首先要准备好100块钱,然后出门要穿好衣服鞋袜,出门到便利店,拿到酱油付完钱,店家找钱,返回家中。
第二种做法:打开手机,打开外卖的APP,选择酱油,外卖小哥到来后,开门,取酱油。
完成买酱油需要步骤,生活上的点点滴滴都有它的步骤,步骤不局限于一种方法,正所谓条条大路通罗马,步骤也是各式各样。如果把生活上步骤关联到计算机程序上也是一样的,其实写计算机程序就是写步骤。
计算机程序一般也称作计算机代码,专业的说,计算机程序是一组计算机能识别和执行的指令,运行在电子计算机上,满足人们某种需求的信息化工具。当然程序不仅仅运行在计算机上,还可以运行在手机,路由器,导航仪,往大点说,程序运行在航空母舰上,说不定运行在遥远外太空外星人正准备入侵地球的太空飞船上。
图1.1 ET外星人
那为什么要程序呢?因为有些事情靠人动手处理效率实在太低,试想想,如果要计算一个复杂的方程式,靠笔算或者算盘来计算那效率实在低下(注意:不过这里要像我国两弹一星的元勋们致敬,当时他们在计算工具落后的情况下,用算盘计算原子数据)。所以人类发明了计算机,而计算机工作需要运行程序来完成各种任务。
注意:程序只是工具,所以程序能做到的事情,人类一定能做到,但随着人工智能的发展,程序已经可以做人类意想不到的事情了,这块读者可以自行去了解。
1.2 为什么选择C语言
计算机语言有很多种,比如汇编程序,C语言程序,C++程序,JAVA程序,PYTHON程序等等。为什么偏偏选择C语言呢?
原因列举几点如下:
1. C语言入门比较容易,相比较别的语言C语言入门比较容易,不像汇编那样完成一个功能需要写大量代码,有时候1行C语言代码完成任务用汇编说不定需要10行。也不像JAVA那样,类的思想,继承的思想等等搞晕初学者。
2. 很多高级语言都有C语言的影子,变量声明这些,循环语句这些等等,所以C语言可以做学习别的语言的跳板。
3. C语言广泛的应用在嵌入式领域,说明市场需求也大。
4. 它的执行效率很高,可以直接操作内存,后续学习指针会更加理解这块。
5. 读者自行了解。。。。。。
1.3 需要具备的基础
本节讨论一个C语言程序员需要具备哪些基础知识。
1.3.1 简单的英语单词理解
国内的程序员不一定是英语高手,因为只是用键盘敲打代码,不需要考验听力,不需要考验口语,甚至可以直接借助翻译软件。C语言中常用的词汇,如:
main(主要的;重要的),include(包括;包含),define(定义;阐明),后续还有一些C库函数单词,如:printf(输出函数;格式化输出;输出格式化字串),还可以把库函数拆分理解,如:fopen(可以理解为file open的组合,即文件打开的意思),strcmp(可以理解为string compare,词组的意思就是字符串对比)。
编写程序中需要给变量取名,还有给函数取名,为了编写的程序能够让别人更好的理解,以及规范和统一,所以希望读者尽量使用标准的英文单词,如果不懂怎么写可以借助翻译软件。
注意:“变量”和“函数”是程序中的一部分,读者目前如果不能理解它的意思,就先搁着。
1.3.2 计算机基本组成
计算机俗称电脑,它的核心组件有CPU,内存,存储,网卡,显示器,键盘,鼠标等等。文章是与C语言入门有关,所以只需要知道一切运算都在CPU中进行,C语言程序由指令、变量和常量等等组成,指令运行在CPU上,指令从内存中取变量。至于内存和存储的区别以及更详细内容,后续章节指针中会再次提到。
图1.2 计算机构成简图
这里简单的描述一个windows计算器程序运行的过程。
计算器的可执行程序是存放在硬盘上的。笔者电脑使用的win10系统,计算器程序属于系统自带的程序,所以存放在系统盘,系统盘是C盘,所以计算器的可执行程序存放在C:\Windows\System32\calc.exe。
知道了calc.exe的存放位置后,先打开任务管理器,看看正在运行的程序有哪些,这时候还没有点击calc.exe,所以看不到,如图1.3所示,
图1.3 还未打开计算器的任务管理器列表
点击运行calc.exe,可以发现任务管理器多了一个运行的程序叫做计算器,如图1.4所示,
图1.4 打开计算器后任务管理器列表
点击运行calc.exe后(也就是运行计算器程序),计算器程序会在操作系统程序下,由CPU做主要工作,把计算器程序从硬盘放到到内存上,这时候显示器根据显存内容会显示计算器界面,可以通过鼠标点击也可以通过键盘进行加减乘除等等运算,所有的这些运算都会通过内存和CPU的交互来完成,最终把计算的数值显示出来。
1.4 自学C语言的途径
1. 可以通过本系列博客,博主会在评论区回答问题,虽然博主不是靠自学的,但是自己希望能够帮助到新手。
2. 最好是通过专业书籍,一般大学课程都是使用谭浩强的C语言教材,经典中的战斗机!
3. 以下链接供参考:
https://zh.cppreference.com/w/c
http://tieba.baidu.com/f?kw=c%D3%EF%D1%D4&fr=ala0&tpl=5
但是看再多资料都不如不停的代码练习来的效果佳!请期待下一章节的发布。。。。。。