龙空技术网

C|小白入门之分支选择、循环结构之底层原理

小智雅汇 75

前言:

现时我们对“c底层原理”大致比较注重,同学们都想要知道一些“c底层原理”的相关知识。那么小编也在网上收集了一些对于“c底层原理””的相关资讯,希望姐妹们能喜欢,姐妹们快快来学习一下吧!

任何编程语言的控制结构都是三种:顺序、分支选择与循环。

神奇之处在于分支选择与循环可以实现一定的智能思考。

在计算机的底层,分支选择与循环是通过比较与跳转命令来实现的。

在汇编语言中,比较命令是cmp,跳转命令是jmp\jg\jge等。

指令序列顺序存储在内存的代码区,用地址表示每一条指令,指令跳转就是直接跳到代码区某一地址对应的指令去执行。

而比较命令cmp在计算机内部是通过一个减法操作来实现,减法的结果可以是一个正数、负数或0,存储到标志寄存器中,根据标志寄存器中的值(状态)来进行跳转。

如以下小程序:

#include <iostream>using namespace std;int main(){	int n,m;	n=m=0;	while(1)	{		cout<<"输入一个数n,计算从1到n的累加。"<<endl;		cin>>n;		if(n<1)			cout<<"输入的数字不能小于1!"<<endl;		else		{			for(int i=1; i<=n; i++)				m += i;			cout<<"累加结果:"<<m<<endl;		}	}    getchar();	return 0;}

运行示例:

输入一个数n,计算从1到n的累加。0输入的数字不能小于1!输入一个数n,计算从1到n的累加。100累加结果:5050输入一个数n,计算从1到n的累加。

其中核心代码对应的汇编:


-End-

标签: #c底层原理