C语言中for循环里的变量i和for循环外的变量i一样吗?为什么?

Python021

C语言中for循环里的变量i和for循环外的变量i一样吗?为什么?,第1张

不一样。这是变量作用范围的小知识点。

C语言中,变量分为全局变量,局部问题,临时变量,3类。

全局的好理解,就是在程序的任何地方都可以使用的变量。

局部变量,就是在一定范围内有定义的变量。

临时更好理解了,就是临时使用一下,也是局部变量的一种,不过范围更小,用完就丢弃。

比如 for(int i=0i<10i++) {

//{}里这部分是i的作用范围,你可以把i理解成局部的,就是在{}括号里面的是局变量,也可以理解成临时变量。因为i只在for这个循环体内临时使用。

}

int swap(int *a, int *b) {

int t //这里t的作用范围,就是swap这个函数体,视为局部变量

t = *a*a=*b*b=t //理解成临时变量也可以,因为t的作用,就是交换数据时,临时用一下。

不要纠结临时、局部区别,忘记一个变量是有作用域(作用范围)的就可以了

}

在c语言中

for(i=0i<2,i++)

{

循环体语句

}

这样的循环体会执行2次(分别是i=0和i=1时的情况)

它的执行流程是这样的:

首先给变量i赋初值0,然后判断,若满足条件i<2(是),就执行循环体的语句,完成后再i++,即

i = i + 1

i 变成1,然后再次判断是否满足条件i<2(仍是),就再执行循环体的语句,完成后再i++,即

i 成为2, 再次判断是否满足条件i<2 ,发现不再满足,于是就退出循环。

扩展资料

C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。

实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。

C语言允许对硬件内存地址进行直接读写,以此可以实现汇编语言的主要功能,并可直接操作硬件。C语言不但具备高级语言所具有的良好特性,又包含了许多低级语言的优势,故在系统软件编程领域有着广泛的应用。