前言:
现时我们对“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底层原理