电脑编程入门自学知识
什么是编程? 编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程。下面是重点,是零基础者需要知道的。以下是小编为你整理的电脑编程入门自学知识,希望能帮到你。
编程分为硬件编程和软件编程。
先由硬件编程讲起(零基础者必须了解,了解有助于认识编程,)中央处理器又叫cpu,(这里用大白话讲述),cpu有很多向外的线 (术语叫做引脚),它们中有一根线我们以它作为电压0参考,其余的线有两个功能:1.读出这点接入的电路的电压,2.输出电压我们又定义电压U,以U为界限将读取输入的电压分为0,1。在PC,笔记本电脑上,1指电压低于-12V,手机里1指电压高于3V,其他情况为零。对于一块1600万色的屏幕,它可以显示16777216(就是24个2相乘)中颜色,24根线每根线电压为0或1,那么刚好有16777216组合,屏幕会根据每根线的电压大小判断该显示的颜色,对1080P的屏幕有1920*1080个点即2073600(小于21个2相乘),21根线的组合可以涵盖屏幕上的点,显示时,21根线告诉屏幕那一个点亮,24根线告诉屏幕亮什么颜色,当21根线代表的点不是这一点,这一点颜色不会变化,拿小米电视来说1s一个点最多可以改变30次,超过24次人眼就感觉不出来。
好了你该问知道这些有什么用,那么我来告诉你,人类最初的编程语言就是这样工作的,我们叫它“汇编语言”,现在除非你在intel等半导体公司工作,汇编语言已经不用了,零基础者千万别学汇编。下面举一个例子,让一个点显白色 MOV XXX BIN(00000000000000000000000);XXX是自己为那24根线起的名字,括号里24个零。
下面是重点,我想在屏幕上显示0,那就包含了很多点,因为屏幕的显示是1个个点构成的,一个人不可能输完,我可以在另一台计算机上编一个软件(下面会讲到),我写
print(“0”);软件会自动翻译成汇编语言,让cpu驱动屏幕一点一点显示。由“print(“0”)”到汇编语言的过程我们叫编译,为了让软件识别我们也应该制定一套标准,那就是C语言和C++语言(以下统称C语言),C语言简化了编程,但是它只可以用于操作硬件,由一台电脑编完后输入硬件系统,这是初学者迷惑的地方,为什么编出的程序可以在windows上运行,因为windows提供了一套模拟硬件,它模拟的是最早的IBM-PC(许多老师都不知道)。不同的cpu用的C语言是不一样的,但他们的基本结构,赋值规则相同,现行的教材都是以IBM-PC为标准,只要你学完谭浩强的教材,当你接触到新的硬件看完生产商的规范最多半个小时后,你就可以用了。
下面是大家关心的,软件编程,大多数人想编的是在windows上运行的。
现在软件编程包括windows编程,安卓编程,OX编程,linux编程。先讲一下原理。拿windows编程来说,微软公司用C语言编写了能使intel amd的cpu驱动显示器显示的程序,就是windows操作系统,你要编写的程序写完后告诉windows,windows把你写的程序当作想点数标一样的反应。微软自己定义了一套语言,但是开发者学习成本有很高,C语言模拟器又满足不了它的要求,于是微软开发了C#(C#有着与C相同的结构赋值规则),它是专门为windows设计的语言,又是windows开发环境,C#最大化的减少windows开发难度,同时增大不同人间的协作性,WPS、AE、QQ影音都是用C#编出的,只要你学过C语言和C#你就可以在windows平台开发。最后说一下JAVA,随着图形界面的流行,各个系统操作日益相同,如windows,linux,MAC OS,java应运而生,它可以把你写的程序翻译为相似平台的语言,从而在各个平台运行。初学者自学不要碰JAVA,只有学过C语言,C#你才能看的懂。
最后总结一下:
编程首先要学C语言(可以不学C++),数据结构(当编写大程序如wps,学过数据结构能增加运行速度,不学的话也可以)这两者可以让你明白编程的基本规则。
如果你想编写硬件系统,如单片机,windows,安卓(编是一个人是不可能的但该可以),那么你学过C语言,数据结构下一步你要学习ARM,或51单片机,对ARM,或51单片机编程与硬件编程原理相同,之后你就可以看操作系统底层。
如果你想编软件,你要看情况,编windows你要学C#,学完就可以了。编安卓你要学先学JAVA,才能接触谷歌专为安卓修改的JAVA语言。编iOS ,mac os你要学习Object-C。
最后给大家推荐参考书:
C:《c程序设计》谭浩强 没商量
数据结构
《数据结构》 吴伟民,严蔚敏 (适于掌握重点,考试时用)
《数据结构与算法分析》 Clifford A.Shaffer (适于练习时使用)
C51 ARM开发
C#Visual C# 201x 从入门到精通 John Sharp 著 周靖译 C# 自学宝典
一年一版,每年8月份更新,但变化不大
因为没有专注于Java Object-C开发 所以没有好的自学书推荐
最后推荐学有余力者看一下《数字逻辑电路》尽量别看《数字电子技术》因为前者偏重于具体理论,会告诉你编程背后的逻辑思维,后者则偏重于数字逻辑电路的物理实现。举贤不避亲,推荐我的老师写 得《数字逻辑电路》,毛文林,鲍家元,张琴著。
以上内容为爱好者自学,如果你要靠编程混饭吃,那么以下内容才是重要的:
C++一个重要的部分就是模块化设计,一个人往往只涉及一部分就可以了。现在招聘至少需要C语言,和数据结构知识,如果要应聘,必须要学好这两门课。
另外,《算法导论》成为程序设计高手的必修课,真正的编程高手不是实现了什么功能而是以最少的资源实现。