言语不同,规则不同:

  C Java Ruby
0 可以代表假 整型,不能代表逻辑逻辑值; 可以代表真

为什么这么多的语言?

语言设计人员设计的语言是为了解决特定的问题的目的而设计的(以用其编写的程序应用于特定领域)

语言设计人员设计的语言在以下方面有侧重点的取舍:编程简单、程序易读、执行效率高;

结构化程序设计的诞生

在没有if、while或for语句之前,其分支选择的实现在汇编语言里是通过跳转语句实现的;

使用上述语句,可以让程序更易读,容易维护;

while语句,可以让反复执行的if语句更简洁;

for语句,可以让数值渐增的while语句更简洁;

函数的作用

便于理解--如同一个组织;

便于再利用--如同零部件;

变量和函数为什么要取名?

程序的可读性显著提高;

最初是使用编号来表示计算机数据的存储位置;

早期的程序设计语言中,整个程序共用一张名字和内容的对照表;

如何避免名字冲突:使用作用域;

为什么会出现数据类型?

不同的数据需要不同的存储空间;

不同的数据需要不同的处理方式;

为什么存在各类不同的容器?

各种容器各有优势和短处;(主要是在对数据元素的增、查、删、改方面、及存储空间方法。元素的关系及存储的实现方式及对数据元素定义的算法形成了不同的容器)

在Java,Python,ruby等语言中都将数组作为一种最基本的容器标准。与此相对应,在LISP,Scheme,Haskell等语言中都将链表作为一种最基本的容器;

数组是整数和值的对应,与之相对应,字典是字符串和数值的对应;实现存放多个数值的目的的方法有数组和链表。同样地,实现字符串和值对应存储的也有多种实现方法。常用的方法是散列表和树;

散列表使用以字符串为参数返回整数的散列函数,实现了字符串与值的对应。存放值之前首先准备一个大的数组,然后使用散列函数(分散函数)将字符串转换成适当分散的整数,用来决定这个值在数组中存放的位置;

散列表要把键对应的值读取出来,首先要经过散列函数把键转换成数组中的位置信息,再把该位置上的值读取出来。

没有万能的容器,就节约内存和节约时间来说,要考虑所需处理的数据的数量级的大小;