———C语言的起源故事(简史)———

  C语言在70年代问世的,1978年由美国电话公司(AT&T)贝尔实验室正式发表。B.W.Kernighan和D.M.Ritchit合著了著名的"THE C PROGRAMMING LANGUAGE"一书也发生在这个时候。通常简称为《K&R》,也有人称它为《K&R》标准,但在此书中并没有定义一个完整的标准C,是后来由美国国家标准学会在此基础上制定了一个C语言标准,1983年发表,通常称之为ANSI C。

  C语言作为一门语言,想要真正的了解它就必须从它的诞辰开始去接触它,才能真正地得到它。早期的C语言主要用于UNIX系统,由于C语言的强大特性,C逐渐被引入到其他操作系统,并且很快流行在大,中,小和微型计算机上得到了广泛的使用。

———C语言特点———

  ①结构化,结构清晰,便于按模块化方式组织程序,易于调试和维护。

  ②表现能力和处理能力极强,不仅有丰富的运算符和数据类型,便于实现各类复杂的数据结构。

  ③可以直接访问内存的物理地址,进行位(bit)一级操作。集高级语言和低级语言功能于一体。

———硬件以及数据类型基本知识———

  变量:是一块内存区域,一块内存包含两个信息(属性),一个是地址,一个是存储内容(值)。所以在C语言中每一个变量都有一个地址,也有自己的存储内容。

  常量:指的是不会被修改的量,这个概念来自于汇编语言中的立即数概念,它是存储于指令代码中

  整型:用于描述整数的数据类型。

  长整形,短整型,无符号整型主要是通过整数的符号以及所占内存字节大小来区分的,作为整数可以分为正数和负数,因此C语言中有了无符号和有符号数的区别。

  无符号整型:最小值是0,最大值为(2^n)-1,n是在内存中类型所占的字节数。一般来说,int类型占4个字节,short int占2字节,long int占4或8个字节。

  字节(bait/Byte):是计算机信息技术用于计量存储容量的一种计量单位,也表示一些计算机编程语言中的数据类型。[1B(byte)=8 bit]   计算机中的存储数据单元,一个8位的二进制数,是一个很具体的存储空间。0x01,0x45,0xFA.....

  位元:位指二进制中的一位,是二进制最小信息单位。

  字(bit):在计算机中,一串数码作为一个整体来处理或运算的,称为一个计算机字,简称字,字通常分为若干字节(每个字节一般是8位)。在存储器中,通常每个单元存储一个字,因此每个字都是可以寻址的。字的长度用位数来表示,在计算机的运算器,控制器中,通常都是以字为单位进行传送的。字出现在不同的地址含义是不同的。比如送去控制器的是指令,而送往运算器的就是一个数。

  控制器(controller):是按预定顺序改变主电路或控制电路的接线和改变电路中的电阻值来控制电动机的启动,调速,制动和反响的主令装置。是整个计算机系统的控制中心,控制器从存储器中逐条取出指令,分析每条规定的是什么操作以及所需数据的存放位置等,然后根据分析的结果向计算机其他部位发出控制信号,统一指挥整个计算机完成指令所规定的操作。

  运算器(arithmetic unit):计算机中执行各种运算和逻辑运算操作的部件。运算器的基本操作包括加减乘除四则运算法则,也有与,或,非,异或等逻辑操作,还有移位,比较和传送等操作。计算机运行时,运算器的操作种类由控制器决定。运算器处理数据来自存储器,处理后的结果通常送回存储器,或暂时寄存在运算器中。

  字长:计算的字长是指它一次可处理二进制数字的数目。计算机处理数据的速率,自然和它一次能加工的位数以及进行运算的快慢有关。一般大型计算机的字长为32-64位,小型计算机为12-32位,微型计算机4-16位,字长是衡量计算机性能的一个因素。

  计算机储存数据的形式:二进制,通常以源码的补码的形式来存储。

起源-C的故事的更多相关文章

  1. 操作系统Unix、Windows、Mac OS、Linux的故事

    电脑,计算机已经成为我们生活中必不可少的一部分.无论是大型的超级计算机,还是手机般小巧的终端设备,都跑着一个操作系统.正是这些操作系统,让那些硬件和芯片得意组合起来,让那些软件得以运行,让我们的世界在 ...

  2. Unix、Windows、Mac OS、Linux系统故事

    我们熟知的操作系统大概都是windows系列,近年来Apple的成功,让MacOS也逐渐走进普通用户.在服务器领域,恐怕Linux是无人不知无人不晓.他们都是操作系统,也在自己的领域里独领风骚.这都还 ...

  3. [转]操作系统Unix、Windows、Mac OS、Linux的故事

    [写得很江湖气,可惜找不到原作者了] 文章转自:http://blog.csdn.net/wenmingchan/article/details/49925379 http://www.jb51.ne ...

  4. 【转】操作系统Unix、Windows、Mac OS、Linux的故事

    电脑,计算机已经成为我们生活中必不可少的一部分.无论是大型的超级计算机,还是手机般小巧的终端设备,都跑着一个操作系统.正是这些操作系统,让那些硬件和芯片得意组合起来,让那些软件得以运行,让我们的世界在 ...

  5. Linux等操作系统杂谈

    这部分基本上都是感性认识,介绍一下发展历史什么的.所以基本上都不是我原创的,转载来源都标记在文中了,如果侵权的话请联系删除 操作系统发展历史吃瓜 <Unix.Windows.Mac OS.Lin ...

  6. [原创].NET 分布式架构开发实战之一 故事起源

    原文:[原创].NET 分布式架构开发实战之一 故事起源 .NET 分布式架构开发实战之一 故事起源 前言:本系列文章主要讲述一个实实在在的项目开发的过程,主要包含:提出问题,解决问题,架构设计和各个 ...

  7. PayPal、支付宝诞生的故事 | 概述起源篇

    你知道第三方支付是如何由来的吗? 第三方支付概述 说起第三方支付,好像大家都知道,天天不是用支付宝和微信吗?支付宝和微信支付确实是行业内非常具有代表的第三方支付公司,但现在他们已经不完全是一家第三方支 ...

  8. js 的起源故事

    "1994年,网景公司(Netscape)发布了Navigator浏览器0.9版.这是历史上第一个比较成熟的网络浏览器,轰动一时.但是,这个版本的浏览器只能用来浏览,不具备与访问者互动的能力 ...

  9. atitit.GMT UTC Catitit.GMT UTC CST DST CET 星期 月份 节日 时间的不同本质and起源

    atitit.GMT UTC Catitit.GMT UTC CST DST CET 星期 月份 节日 时间的不同本质and起源 1. GMT(Greenwich Mean Time)是格林尼治平时 ...

随机推荐

  1. Mysql数据库账户权限设置

    1.修改mysql数据库的root密码: 修改 数据库.表名 SET password=加密(‘密码’) where user=’root’; UPDATE mysql.user SET passwo ...

  2. python基础(八)

    一.token加盐处理# import itsdangerous## salt='sdf234^#$@G'# t = itsdangerous.TimedJSONWebSignatureSeriali ...

  3. mybatis 学习笔记 -详解mybatis 及实例demo

    快速入门1 要点: 首先明白mybatis 是什么 这是一个持久层的框架.之前叫做ibatis.所以,在它的代码中出现ibatis这个词的时候,不要感到惊讶.不是写错了,它确实就是这个样子的. 首先, ...

  4. 陈斌python语言基础与应用00

    软件改变生活:购物.餐饮.商旅出行.资料查找... Everybody in this country should learn how to program a computer...because ...

  5. C++中const的用法

    1.const修饰普通变量和指针 (1).const修饰普通变量 其写法有2种:a.const type value;   b.type const value; 这两种写法本质上是一样的.其含义是: ...

  6. 在n个任意不相同的数中,输出r个数的组合,并且n和r由键盘输入。

    主要是运用递归的思想,函数主要两个参数,point是上一次取到的位置,picked主要记录在数组b中所取的元素的个数,函数的每一轮递归都会取一个数.   package pack; import ja ...

  7. django-debug-toolbar 安装及配置 django性能监控及调试

    安装: pip install django-debug-toolbar 配置: settings 配置 DEBUG = True INSTALLED_APPS = [ 'debug_toolbar' ...

  8. Spark:DataFrame批量导入Hbase的两种方式(HFile、Hive)

    Spark处理后的结果数据resultDataFrame可以有多种存储介质,比较常见是存储为文件.关系型数据库,非关系行数据库. 各种方式有各自的特点,对于海量数据而言,如果想要达到实时查询的目的,使 ...

  9. Google - Largest Sum Submatrix

    Given an NxN matrix of positive and negative integers, write code to find the submatrix with the lar ...

  10. hnsdfz -- 6.20 -- day5

    今天子贞的题...... 比前两天充实多了……肝了一个线段树,还玩了一个题答…… 虽然线段树不知道为什么50->25,题答题数据太水全场90+... 感觉也没想出来啥思路,无脑肝线段树,无脑玩题 ...