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应用 ...
随机推荐
- 在 Visual Studio中 将 Objective-C 编译为 C++
快速使用Romanysoft LAB的技术实现 HTML 开发Mac OS App,并销售到苹果应用商店中. <HTML开发Mac OS App 视频教程> 土豆网同步更新:http: ...
- 利用系统自带工具快速实现SSH免密远程登录
一.软件环境 操作系统:CentOS Linux release 7.4.1708 (Core) SSH版本 [root@Geeklp201 ~]# ssh -V OpenSSH_7.4p1, Ope ...
- 搜索栏+collectionView实现
效果图如下: 1.h文件声明方法: @interface IDSGameRoomSearchPage : UIView @property (nonatomic,weak) BaseVie ...
- Linux字体显示不同颜色
功能介绍哦:让echo输出字符串显示不同颜色 一.字体颜色(范围:30-37) echo -e "\033[30m oldboy trainning \033[0m" 黑色字(黑色 ...
- 利用Maven, 搭建最简单的SpringMVC框架
本文介绍使用maven搭建SpringMVC最简单的框架程序过程,适合初学者上手. 文章下载
- JAVA8之lambda表达式详解
原文:http://blog.csdn.net/jinzhencs/article/details/50748202 lambda表达式详解 一.问题 1.什么是lambda表达式? 2.lambda ...
- 简单介绍几种Java后台开发常用框架组合
01 前言 Java框架一直以来都是面试必备的知识点,而掌握Java框架,不管在成熟的大公司,快速发展的公司,还是创业阶段的公司,都能对当前正在开发中的系统有整体的认知,从而更好的熟悉和学习技术,这篇 ...
- 11 CSS的三种引入方式和基本选择器
<!-- 整体说明: 1.CSS的三种引入方式 (1)行内样式 (2)内接样式 (3)外接样式 2.CSS的基本选择器 (1)id选择器 (引用方式:#id) (2)标签选择器(引用方式:标签名 ...
- EasyTransaction主要源码分析
EasyTransaction是一个全功能的分布式事务框架,以下特性摘抄自其首页:https://github.com/QNJR-GROUP/EasyTransaction 一个框架包含多种事务形态, ...
- OpenDaylight即将迈入“七年之痒”?
前段时间看到一篇文章,叫<OpenStack已死?>,讲述了OpenStack自2010年提出之后的9年间各方利益牵扯导致的一系列问题,尽管最终作者的结论是OpenStack现在只是进入了 ...