在程序中要存储和表示不一样的数据,这固然要使用不一样的数据类型,所谓的类型就好像是一个数据的容器同样。打个比方,在平常生活中,咱们使用杯子装水,使用碗盛饭,不一样的东西使用不一样的容器。计算机的世界里也是同样。
计算机的世界只有二进制,而二进制来存储数据,固然就是存在0和1的位(Bit)上,因此不一样的类型的主要差别在于位上面的区别。这是类型的第一重意义。类型的第二个意义在于,明确表示数据的含义。好比整型类型用来表示数据,字符类型表示字符描述。
通常的程序中,会使用最基本的一些类型,好比 bool(有的也叫boolean)、int(有的也叫integer)、char或者string(字符串,也就是一段文本),这里大概说一下这几个类型:前端
程序结构指的是一个程序是如何组成和如何执行的,在传统的C语言环境中,程序由一系列的定义组成,定义包含类型(自定义类型、后面会讲到)定义和函数定义。而程序的执行就是从Main函数开始。函数是程序的基本执行单元。所谓函数就是定义了一个名称,定义了一组参数(输入),定义了返回类型(输出,也能够不用返回数据,就是void),而后函数体里面进行处理。函数能够嵌套和递归,嵌套就是函数里面调用其余函数,递归就是函数调用本身的过程。这些都有必要了解一下。我举个现实中的例子:编程
string A(string message){
return B(message);
}
string B(string message){
return C(message);
}
string C(string message){
return "This is your brick";
}数组
注意,这里我演示的例子是一个函数嵌套的例子,首先咱们看定义,咱们定义了三个函数,我把他们叫搬砖头,每一个函数接受一个名字为message类型为string的参数用来表示接收的指令,返回string表示砖头结果。(明显看出函数3大要素,函数名,参数名和参数类型,返回类型),说完了函数定义再说函数实现,A接收到一个指令说要搬一块砖头,而后A把指令告诉B让B搬一块砖头,而后B又把指令转给C,而后C就返回This is your brick。这个结果实际上又往回传递给B而后传递给A最后传递给调用A函数的那我的。
在真正的程序中,函数的结构每每都比这个复杂,好比A中调用B,而后作一些事情而后调用C最后再返回。
还有一种状况,那就是函数调用本身,这个叫递归函数,递归函数是一种很是好用的比较实用型的容易理解的函数。具体含义(应该是有3个要素,才能符合一个标准的递归函数)去网上搜一下。我这里举一个例子来理解,拿最著名的斐波那契数列举例,求第N个数是多少?编程语言
int Fib(int n){
if(n<=1){
return 1;
}
return Fib(n-1) + Fib(n-2);
}函数
看上去应该很容易理解吧,你能够发现递归函数的一些特征,好比必须有一个基准点能够返回一个值,好比函数调用本身,而且逐渐靠近基准点。编码
其实关于函数的调用,在计算机中的处理指令通常都是入栈出栈操做,进入一个新的函数调用等因而压入一个函数栈,调用完一个函数等因而出栈操做。关于栈是什么后面会讲到。如今最好的是体会这个过程,在大脑中想象一颗倒着的树,最上层是函数调用者,往下就是各个子调用。本身想象一下,能够把函数调用理解成一棵树吗?咱们生活中作的不少事情,你把它画成图,其实也能够是一棵树,好好发挥想象力想一下吧!code
今天就到这里,提示一下:若是有了一点积累有了一点理解,不妨立刻用代码把它写出来吧,光说没用光读没用,必需要写代码!递归
ps:下一次说一下程序控制流程了开发