一、计算机和软件常识

1.计算机运行原理

(1)硬件基本组成:硬盘、内存、CPU

(2)个部件之间的运作协调(下图)

2.计算机只能识别0和1

(1)0和1组成的指令

(2)0和1组成的数据

3.计算机和软件的联系

(1)软件的基本概念:指令的集合

(2)软件的安装运行过程

·安装在硬盘

·运行在内存

(3)为什么要开发软件:写出能控制计算机的指令

4.计算机语言

(1)一门跟计算机打交道的语言

(2)方便写出一连串的指令

二、计算机语言发展史

1.机器语言

(1)简介:所有代码里面只有0和1,每一条指令称为“机器指令”

(2)优点:

·代码能被计算机直接识别,直接对硬件产生作用,程序的执行效率非常高

·能直接访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等

(3)缺点:

·程序全是些0和1的指令代码,可读性差,还容易出错

·对硬件的依赖性很强,因此不同型号计算机的机器语言又不一样。也就是说,如果2台不同型号的机器想实现一样的功能,需要编写2套完全不同的代码

·要熟记所用计算机的全部指令和指令的涵义,指令又多又难记

(4)使用场合

综上所述,机器语言很难掌握和推广,现在除了计算机生产厂家的专业人员外,绝大多数的程序员已经不再去学习机器语言了

2.汇编语言

(1)简介:用英文单词等符号代替机器指令

(2)优点:

·像机器语言一样,可以直接访问、控制计算机的各种硬件设备

·占用内存少,执行速度快

(3)缺点:

  ·不同的机器有不同的汇编语言语法和编译器,代码缺乏可移植性,也就是说,一个程序只能在一种机器上运行,换到其他机器上就不能运行

  ·符号非常多、难记,即使是完成简单的功能也需要大量的汇编语言代码,很容易产生BUG,难于调试

  ·必须对硬件非常了解,开发效率很低,周期长且单调

(4)使用场合

  ·操作系统内核、驱动程序、单片机程序

  ·软件的加密、解密、破解

·病毒的制作、防治

·程序的调试、分析

3.高级语言

(1)简介:接近自然语言

(2)优点:

·简单、易用、易于理解,语法和结构类似于普通英文

·远离对硬件的直接操作,使得一般人经过学习之后都可以编程,而不用太熟悉硬件知识

·一个程序还可以在不同的机器上运行,具有可移植性

(3)缺点

  ·程序不能直接被计算机识别,需要经编译器翻译成二进制指令后,才能运行到计算机上

(4)种类:C语言、C++、C#、Java、Objective-C等

4.三种语言的对比

分别用机器语言、汇编语言、C语言(高级语言)来写一个计算1+1的程序

(1)机器语言:简直是天书!!!

10111000  00000001

00000000  00000101

00000001  00000000

(2)汇编语言:可读性稍微好一点,但是麻烦

MOV AX,1

ADD AX,1

(3)C语言:精简、通俗易懂

1+1

三、C语言简介

1.先学习C语言的原因

(1)OC基于C

(2)OC跟C的思想和语法很多地方不太一样,而且OC能和C混用

(3)C是所有编程语言中的经典,很多高级语言都是从C语言中衍生出来的,比如C++、C#、Objective-C等

2.简史

(1)C语言于1972年发明,首次使用是用于重写UINX操作系统(UNIX以前主要是用汇编语言写的,它奠定了操作系统的基础)

(2)随着UNIX操作系统的成功,C语言也得到了大幅度地推广,被先后使用到大、中、小、微型主机上,至今还是世界上最流行、使用最广泛的高级程序设计语言之一

(3)C语言是一门面向过程的语言,非面向对象的语言

3.特点

(1)丰富的运算符

(2)丰富的数据类型

(3)可以直接操作硬件

(4)高效的目标代码

(5) 可移植性好

4.主要用途

(1)编写系统软件、图形处理、单片机程序、嵌入式系统开发

(2)编写游戏外挂

(3)编写android程序

(4)编写iOS程序

……

5.版本问题

(1)1983年美国国家标准局(American National Standards Institute,简称ANSI)成立了一个委员会,开始制定C语言标准的工作

(2)1989年C语言标准被批准,这个版本的C语言标准通常被称为ANSI C

(3)1999年,国际标准化组织ISO又对C语言标准进行修订,在基本保留原来C语言特征的基础上,针对应该的需要,增加了一些功能,命名为C99

(4)2011年12月8日,ISO正式公布C语言新的国际标准草案:C11

 

C语言入门:01.C语言概述的更多相关文章

  1. 01 C语言程序设计--01 C语言基础--第1章 C语言概述&第2章 GCC和GDB

    走进嵌入式开发的世界,企业级项目课程让你达到企业嵌入式应用开发要求.名师在线答疑,解决疑难.科学评测体系,系统评估学习.核心项目实........ 30 门课程 241小时12分钟 824 人学习 学 ...

  2. c语言入门教程 / c语言入门经典书籍

    用C语言开始编写代码初级:C语言入门必备(以下两本书任选一本即可) C语言是作为从事实际编程工作的程序员的一种工具而出现的,本阶段的学习最主要的目的就是尽快掌握如何用c语言编写程序的技能.对c语言的数 ...

  3. 【转】c语言入门教程 / c语言入门经典书籍

    用C语言开始编写代码 初级:C语言入门必备 (以下两本书任选一本即可) C语言是作为从事实际编程工作的程序员的一种工具而出现的,本阶段的学习最主要的目的就是尽快掌握如何用c语言编写程序的技能.对c语言 ...

  4. 【R语言入门】R语言中的变量与基本数据类型

    说明 在前一篇中,我们介绍了 R 语言和 R Studio 的安装,并简单的介绍了一个示例,接下来让我们由浅入深的学习 R 语言的相关知识. 本篇将主要介绍 R 语言的基本操作.变量和几种基本数据类型 ...

  5. c语言入门-01

    当我们学c语言我们学些什么. [1]编译机制 当我们写好c的代码,生产了程序,这中间到底做了些什么? 这个就是c语言的编译过程 我们分别来解析这上面的过程. 我们写出我们第一个c程序. #includ ...

  6. 01 C语言程序设计--01 C语言基础--第3章 基本数据类型01

    01.1.3.1序言 00:02:17 01.1.3.2 C语言中的基本元素和常量的概念 00:08:54 01.1.3.3示例--常量 00:12:08 01.1.3.4变量的概念和命名规则 00: ...

  7. c语言入门这一篇就够了-学习笔记(一万字)

    内容来自慕课网,个人学习笔记.加上了mtianyan标签标记知识点. C语言入门 -> Linux C语言编程基本原理与实践 -> Linux C语言指针与内存 -> Linux C ...

  8. 编程入门选什么语言好?C 语言还是Python ?为你解析

    前面我分享过计算机行业已经成了学校选择排名第一,家长和学生都很看好计算机类专业.现在IT行业也越来越火爆,程序员越来越被人看好.面对相比同龄人高薪资的诱惑,人们很难不心动,即使秃头也值得! 那么问题来 ...

  9. 《Ruby语言入门教程v1.0》学习笔记-01

    <Ruby语言入门教程v1.0> 编著:张开川 邮箱:kaichuan_zhang@126.com 想要学习ruby是因为公司的自动化测试使用到了ruby语言,但是公司关于ruby只给了一 ...

随机推荐

  1. Odoo开发调试技巧

    转载请注明原文地址:https://www.cnblogs.com/cnodoo/p/9307490.html  一:Odoo控制台error日志一般为以下格式 Traceback (most rec ...

  2. lua-resty-gearman模块

    粘贴一段百度对gearman的解释: Gearman是一个用来把工作委派给其他机器.分布式的调用更适合做某项工作的机器.并发的做某项工作在多个调用间做负载均衡.或用来在调用其它语言的函数的系统. lu ...

  3. Altium 拼板方法以及 注意的 地方

    1.修改软件设置, 即工具→优先选项→覆铜重建 对号去掉,如下,否则 拼板复制 覆铜 会变形导致拼板错误!!! 2.拼板方法,Ctrl+A全部复制(不要漏掉),选择特殊粘贴的方式,快捷键 E→A  去 ...

  4. 随机取出数组中的某些值,并删除它们array_splice,array_slice

    今天遇到这样一个情景.这样的,一个抽奖活动,预先获取一堆人参与信息,一个人最多只能中奖一次.活动有活动的配置信息,比如说一等奖有多少人,二等奖有多少人等等.. 说白了,就是从这个参与人数组里,取出来一 ...

  5. array_multisort函数,以及多维数组下排序的应用,并与usort函数对比

    以前比较少用这个函数,大部分自己接触的业务里,处理稍微大一些的数组的时候几乎都是从db里取出来的,在db里就order by了. 最近倒是用了次,这个函数用来排序很强大,有点类似于sql中的order ...

  6. SSIS ->> Excel Destination无法接受大于255个字符长度的字符字段

    从下文的链接中找到一些背景,因为Excel会以前8行作为参考,如果某个字段前8行的最长长度没有超过255个字符,就会报错.如果知道某个字段属于描述性字段,而且字段的数据长度很可能超过255个字符长度, ...

  7. 【服务器】Https服务配置

    1)利用openssl生成证书 2)再次修改nginx配置文件nginx.conf中的server配置 ① 是默认监听http请求的8080端口的 server    (再次修改,第一次是在 用ngi ...

  8. 查看历史命令 history

    生产上有文件被清空了,想查查是谁操作的? 通过history查看历史命令: $history |more 也可以通过文件查看历史命令: $vi ~/.bash_history 只显示历史命令,像查一查 ...

  9. 人的一生为什么要努力 &1

    2018-06-25

  10. win7下mysql免安装版使用

    1.下载. 下载地址:http://downloads.mysql.com/archives/get/file/mysql-5.6.17-winx64.zip. 2.解压MySQL压缩包 解压到指定目 ...