热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

从零开始学编程(一)基础的东西

程序到底是什么东西和现实生活中类比一下,我们把电脑想象成一个人,你想让他帮你做一件事,应该怎样做呢?比如让他打一瓶酱油,如果是一个从来没有打过酱油的小孩,你就要对他交代
程序到底是什么东西
        和现实生活中类比一下,我们把电脑想象成一个人,你想让他帮你做一件事,应该怎样做呢?
        比如让他打一瓶酱油,如果是一个从来没有打过酱油的小孩,你就要对他交代:拿上两块钱,拿上酱油瓶,到小卖部,把酱油瓶给老板,对老板说打一瓶酱油,拿回打满酱油的瓶子,把钱给老板,回来。如果是一个打过很多次酱油的小孩,或一个正常的成年人,你只要说:去打一瓶酱油回来,他就能帮你做完这件事了。
        电脑也是一样的,其实电脑是很笨的,你要让它做一件事,就要把所有的步骤都给它交代一遍,但电脑有超强的记忆能力,已经达到了过目不忘,只要它做过一遍,以后就不用再一步一步地交代了。但是它完全没有自己的思考,你教了它打一瓶酱油,如果再让它打一瓶醋,它就完全不会了。
        下面我们把教小孩打酱油的步骤再写一遍:

拿上两块钱,
拿上酱油瓶,
到小卖部,
把酱油瓶给老板,
对老板说打一瓶酱油,
拿回打满酱油的瓶子,
把钱给老板,
回来

        这可以说就是程序,不过这是给人看的程序,给电脑看它是看不懂的。

电脑能看懂什么?
        我们平时所见的电脑都是一个大大的屏幕,这个叫显示器,可以显示各种图形,旁边一个大盒子,盒子后面有各种接口连到显示器、键盘、鼠标、音箱、麦克风、游戏手柄等等。电脑最关键的部分就是这个大盒子,叫做机箱,它里面有一个跟程序密切相关的部件,中央处理器,俗称CPU。所有的程序都是交给CPU来执行的,所以我们写的程序,必须要能让CPU看懂。

CPU到底能看懂什么?
        你一定听说过数字化这个词,什么是数字化?就是说我们这个世界上的任何东西都可以用数字来表示。你可能会觉得不好理解,但如果仔细去研究一下,就可以发现这是可行的。比如我们在显示器上看到的东西,首先,你应该了解坐标的概念。你如果靠近显示器观察,会发现上面有很多小点,按水平和竖直两个方向划分,就是显示器的分辨率,现在常用的有1024X768,1280X1024,1440X900等。以1024X768为例,就是说水平方向,每行有1024个点,垂直方向,每列有768个点,这样每个点发出不同的颜色,就组成了屏幕上的各种图形。然后是颜色的数字化,科学家们通过研究发现,任何的颜色都是由红、绿、蓝三种颜色通过不同的比例混合而成,所以这三种又叫做三原色,在电脑中,一般将三原色的每一种从最暗到最亮分为256个等级用0到255共256个数字代替,这样,颜色也就被数字化了。
        所以我们只要将一系列的数字告诉CPU,就可以完成一件事了,这就是计算机程序了。

推荐阅读
  • 本文详细介绍了如何在Ubuntu系统中下载适用于Intel处理器的64位版本,涵盖了不同Linux发行版对64位架构的不同命名方式,并提供了具体的下载链接和步骤。 ... [详细]
  • MySQL索引详解与优化
    本文深入探讨了MySQL中的索引机制,包括索引的基本概念、优势与劣势、分类及其实现原理,并详细介绍了索引的使用场景和优化技巧。通过具体示例,帮助读者更好地理解和应用索引以提升数据库性能。 ... [详细]
  • 本文将详细介绍如何在Linux操作系统中执行PHP脚本,包括环境配置、命令使用及验证方法。对于需要在Linux环境下开发或部署PHP应用的用户来说,这是一篇非常实用的文章。 ... [详细]
  • 探索电路与系统的起源与发展
    本文回顾了电路与系统的发展历程,从电的早期发现到现代电子器件的应用。文章不仅涵盖了基础理论和关键发明,还探讨了这一学科对计算机、人工智能及物联网等领域的深远影响。 ... [详细]
  • 在Java中,this是一个引用当前对象的关键字。如何通过this获取并显示其所指向的对象的属性和方法?本文详细解释了this的用法及其背后的原理。 ... [详细]
  • FinOps 与 Serverless 的结合:破解云成本难题
    本文探讨了如何通过 FinOps 实践优化 Serverless 应用的成本管理,提出了首个 Serverless 函数总成本估计模型,并分享了多种有效的成本优化策略。 ... [详细]
  • 2018年3月31日,CSDN、火星财经联合中关村区块链产业联盟等机构举办的2018区块链技术及应用峰会(BTA)核心分会场圆满举行。多位业内顶尖专家深入探讨了区块链的核心技术原理及其在实际业务中的应用。 ... [详细]
  • 尽管深度学习带来了广泛的应用前景,其训练通常需要强大的计算资源。然而,并非所有开发者都能负担得起高性能服务器或专用硬件。本文探讨了如何在有限的硬件条件下(如ARM CPU)高效运行深度神经网络,特别是通过选择合适的工具和框架来加速模型推理。 ... [详细]
  • 深入解析Redis内存对象模型
    本文详细介绍了Redis内存对象模型的关键知识点,包括内存统计、内存分配、数据存储细节及优化策略。通过实际案例和专业分析,帮助读者全面理解Redis内存管理机制。 ... [详细]
  • 在创建新的Android项目时,您可能会遇到aapt错误,提示无法打开libstdc++.so.6共享对象文件。本文将探讨该问题的原因及解决方案。 ... [详细]
  • 雨林木风 GHOST XP SP3 经典珍藏版 V2017.11
    雨林木风 GHOST XP SP3 经典珍藏版 V2017.11 ... [详细]
  • 管理学经典书籍推荐——《管理者必读12篇》
    本文推荐了一本管理学领域的经典书籍——《管理者必读12篇》,旨在帮助读者构建系统的管理学知识体系。 ... [详细]
  • 《数字世界的奥秘》是由著名计算机科学家Brian W. Kernighan撰写的一本科普读物,深入浅出地揭示了计算机和通信系统背后的原理。无论是计算机初学者还是非专业人士,都能从中获得宝贵的知识和启发。 ... [详细]
  • 采用IKE方式建立IPsec安全隧道
    一、【组网和实验环境】按如上的接口ip先作配置,再作ipsec的相关配置,配置文本见文章最后本文实验采用的交换机是H3C模拟器,下载地址如 ... [详细]
  • 智能车间调度研究进展
    本文综述了基于强化学习的智能车间调度策略,探讨了车间调度问题在资源有限条件下的优化方法。通过数学规划、智能算法和强化学习等手段,解决了作业车间、流水车间和加工车间中的静态与动态调度挑战。重点讨论了不同场景下的求解方法及其应用前景。 ... [详细]
author-avatar
吻过彩虹的脸_378
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有