C语言编程入门之--第一章初识程序
第一章 初识程序
导读:计算机程序无时不刻的影响着人类的生活,现代社会已经离不开程序,程序的作用如此巨大,那么程序到底是什么呢?本章主要讨论程序的概念,唤起读者对程序的兴趣,同时对C语言程序与其它语言程序进行比较,说明作为一个C语言程序员需要具备的基本理论知识,本章末端简单的描述windows中一个计算器程序是如何工作的。
1.1 什么是计算机程序
从字面上理解,程序就是完成一件事所需要进行的步骤,举个生活的例子,买酱油!需要哪些步骤:
第一种做法:首先要准备好100块钱,然后出门要穿好衣服鞋袜,出门到便利店,拿到酱油付完钱,店家找钱,返回家中。
第二种做法:打开手机,打开外卖的APP,选择酱油,外卖小哥到来后,开门,取酱油。
完成买酱油需要步骤,生活上的点点滴滴都有它的步骤,步骤不局限于一种方法,正所谓条条大路通罗马,步骤也是各式各样。如果把生活上步骤关联到计算机程序上也是一样的,其实写计算机程序就是写步骤。
计算机程序一般也称作计算机代码,专业的说,计算机程序是一组计算机能识别和执行的指令,运行在电子计算机上,满足人们某种需求的信息化工具。当然程序不仅仅运行在计算机上,还可以运行在手机,路由器,导航仪,往大点说,程序运行在航空母舰上,说不定运行在遥远外太空外星人正准备入侵地球的太空飞船上。

图1.1 ET外星人
那为什么要程序呢?因为有些事情靠人动手处理效率实在太低,试想想,如果要计算一个复杂的方程式,靠笔算或者算盘来计算那效率实在低下(注意:不过这里要像我国两弹一星的元勋们致敬,当时他们在计算工具落后的情况下,用算盘计算原子数据)。所以人类发明了计算机,而计算机工作需要运行程序来完成各种任务。
注意:程序只是工具,所以程序能做到的事情,人类一定能做到,但随着人工智能的发展,程序已经可以做人类意想不到的事情了,这块读者可以自行去了解。
2.1 为什么选择C语言
计算机语言有很多种,比如汇编程序,C语言程序,C++程序,JAVA程序,PYTHON程序等等。为什么偏偏选择C语言呢?
原因列举几点如下:
1. C语言入门比较容易,相比较别的语言C语言入门比较容易,不像汇编那样完成一个功能需要写大量代码,有时候1行C语言代码完成任务用汇编说不定需要10行。也不像JAVA那样,类的思想,继承的思想等等搞晕初学者。
2. 很多高级语言都有C语言的影子,变量声明这些,循环语句这些等等,所以C语言可以做学习别的语言的跳板。
3. C语言广泛的应用在嵌入式领域,说明市场需求也大。
4. 它的执行效率很高,可以直接操作内存,后续学习指针会更加理解这块。
5. 读者自行了解。。。。。。
3.1 需要具备的基础
本节讨论一个C语言程序员需要具备哪些基础知识。
3.1.1 简单的英语单词理解
国内的程序员不一定是英语高手,因为只是用键盘敲打代码,不需要考验听力,不需要考验口语,甚至可以直接借助翻译软件。C语言中常用的词汇,如:
main(主要的;重要的),include(包括;包含),define(定义;阐明),后续还有一些C库函数单词,如:printf(输出函数;格式化输出;输出格式化字串),还可以把库函数拆分理解,如:fopen(可以理解为file open的组合,即文件打开的意思),strcmp(可以理解为string compare,词组的意思就是字符串对比)。
编写程序中需要给变量取名,还有给函数取名,为了编写的程序能够让别人更好的理解,以及规范和统一,所以希望读者尽量使用标准的英文单词,如果不懂怎么写可以借助翻译软件。
注意:“变量”和“函数”是程序中的一部分,读者目前如果不能理解它的意思,就先搁着。
3.1.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的交互来完成,最终把计算的数值显示出来。
4.1自学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
但是看再多资料都不如不停的代码练习来的效果佳!请期待下一章节的发布。。。。。。
C语言编程入门之--第一章初识程序的更多相关文章
- C语言编程入门之--第二章编译环境搭建
第二章 编译环境搭建 导读:C语言程序如何工作,首先需要编译链接成可执行文件,然后就可以运行在不同的环境中,这个“环境”的意思就是比如说,电脑,手机,路由器,蓝牙音箱等等智能设备中,其中编译器启到了关 ...
- Java 面向对象编程——第一章 初识Java
第一章 初识Java 1. 什么是Java? Java是一种简单的.面向对象的.分布式的.解释的.安全的.可移植的.性能优异的多线程语言.它以其强安全性.平台无关性.硬件结构无关性.语言简 ...
- Storm入门之第一章
Storm入门之第一章 1.名词 spout龙卷,读取原始数据为bolt提供数据 bolt雷电,从spout或者其他的bolt接收数据,并处理数据,处理结果可作为其他bolt的数据源或最终结果 nim ...
- 《进击吧!Blazor!》系列入门教程 第一章 8.部署
<进击吧!Blazor!>是本人与张善友老师合作的Blazor零基础入门教程视频,此教程能让一个从未接触过Blazor的程序员掌握开发Blazor应用的能力. 视频地址:https://s ...
- 第一章 初识shiro
shiro学习教程来自开涛大神的博客:http://jinnianshilongnian.iteye.com/blog/2018936 第一章 初识shiro 简单了解shiro主要记住三张图即可. ...
- Cocos2d-x 3.0 红孩儿私家必修 - 第一章 初识Cocos2d-x 3.0project
第一章 初识Cocos2d-x 3.0project Cocos2d-x 3.0出来了,听说与之前版本号相比修改较大 做为一个游戏开发人员.我们应该欢迎Cocos2d-x持续的更新和强大,Coc ...
- windows核心编程-第一章 对程序错误的处理
第一章-对程序错误的处理 在开始介绍Microsoft Windows 的特性之前,必须首先了解 Wi n d o w s的各个函数是如何进行错误处理的. 当调用一个Wi n d o w s函数时,它 ...
- VS2010/MFC编程入门之三(VS2010应用程序工程中文件的组成结构)
VS2010/MFC编程入门之三(VS2010应用程序工程中文件的组成结构)-软件开发-鸡啄米 http://www.jizhuomi.com/software/143.html 鸡啄米在上一讲中 ...
- VS2010/MFC编程入门之四(MFC应用程序框架分析)
VS2010/MFC编程入门之四(MFC应用程序框架分析)-软件开发-鸡啄米 http://www.jizhuomi.com/software/145.html 上一讲鸡啄米讲的是VS2010应用 ...
随机推荐
- JavaScript语言核心--词法结构
编程语言的词法结构是一套基础性规则,用来描述如何使用这门语言来编写程序.作为语法的基础,它规定了诸如变量名是什么样的.怎么写注释,以及程序语言之间如何分隔等规则. 1. 字符集 JavaScript程 ...
- spring之@value详解二(转载)
1.1 前提 测试属性文件:advance_value_inject.properties server.name=server1,server2,server3 #spelDefault.value ...
- 数组Array
数组Array是最基本的数据结构,在内存中为一段定长连续内存,很多编程语言都有实现. 一.一维数组 下面代码实现了一维数组和它的遍历. clear并非清空数组,而是采用具体值对数组进行初始化. imp ...
- Java学习笔记-spring整合mybatis
这个项目就是一个例子,只有添加图书的功能: 项目架构: resource: 整合流程: 1.pom文件节点,这两个是整合用的,其他节点不再赘述: <!-- https://mvnreposito ...
- Java学习笔记——设计模式之八.外观模式
外观模式(Facade),为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用. 子系统: package cn.happy.design_patter ...
- nginx实现最简单的直播
系统环境 [root@yunwei-test live]# cat /etc/redhat-release CentOS Linux release (Core) [root@yunwei-test ...
- Confluence5.6.6安装和破解
1.安装confluence 1. 软件环境说明 # 安装 jdk [root@wiki_5-- jar]# cat /etc/redhat-release CentOS Linux release ...
- KVM虚拟机迁移至VMware
1.将kvm下虚拟机关机: [root@localhost ~]# virsh list --all Id Name State ----------------------------------- ...
- 恢复云数据库MySQL的备份文件到自建数据库遇到的报错
报错信息 : 恢复云数据库MySQL的备份文件到自建数据库,自建数据库版本5.6.36. 按照阿里云文档操作,启动数据库报错 -- :: [ERROR] /application/mysql/bin/ ...
- SQL中的LIKE语句的用法
SQL中的LIKE语句的用法 内容 在SQL结构化查询语言中,LIKE语句有着至关重要的作用.LIKE语句的语法格式是:select * from 表名 where 字段名 like 对应值(子串), ...