C语言中的while(!i)是什么意思

Python023

C语言中的while(!i)是什么意思,第1张

whie是C语言中的关键字,代表循环。

while(i)和while(!i)的意思要看i这个变量(表达式)的值是真还是假(0和NULL就是假)。

while(1)和while(99)和while(-76)甚至while(3-100)这类只要括号中的值(或表达式的值)非0,意思一样,代表可以循环并执行循环体,如果是while(0),则代表不执行循环并跳过循环体。while(!9)这个表示对9这个表达式取反,9是真的,那么!9就是假的。

扩展资料

语法

Pascal

while <条件>do <语句>

意为当条件符合时,接着做下面的语句;不符合时,退出循环。

C

do <语句>while(<条件>)

while(<条件>) <语句>

C++

while(<条件>) <语句>

do <语句>while(<条件>)

Java

while(<条件>) {<语句>}

do {<语句>} while(<条件>)

二者的区别是do-while最少会被执行一次。

参考资料来源:百度百科-while

C语言中while的用法解析如下:

一、1表示true,在bool类型取值false和true,0为false,非0为true(例如-1和2都是true)。程序中,这里1就表示永真,直到循环体内遇到break。

二、while用法演示解析:

1、含义:While 循环会在指定条件为真时循环执行代码块。

2、语法如下:(如果忘记增加条件中所用变量的值,该循环永远不会结束。该可能导致程序崩溃。)

3、实例:

例中的循环将继续运行,只要变量 i 小于 5:

4、执行结果如下:

扩展资料:

比较 for 和 while循环:

for循环控制变量的初始化和修改都放在语句头部分,书写形式较简洁,且适用于循环次数已知的情况。在循环语句中定义一个局部变量,循环结束后,局部变量就被释放了。

而while循环控制变量的初始化一般放在while语句之前,循环控制变量的修改一般放在循环体中,形式上不如for语句简洁,但它比较适用于循环次数不易预知的情况(用某一条件控制循环)。

两种形式各有优点,但它们是等价的,可以相互转换。

参考资料:百度百科--bool类型

参考资料:百度百科--while

输出3040

具体分析:i在循环中取值为0,1,2,3. 取模i%2, 当i为0,2时值为0i为1,3时置1。因此a[1],a[3]为0;a[0], a[2]再进入switch判断。a[0]原来为2,进入a[0]++,变成3;a[2]原来为5,进入a[2]--,变成4。综合最后结果a[0]=3,a[1]=0,a[2]=4,a[3]=0,所以输出3040

#include<stdio.h>main(){ int a[]={2,3,5,4},ifor(i=0i<4i++) switch(i%2)//i分别为0,1,2,3 { case 0:switch(a[i]%2)//i为0,2进入这,a[0]=2,a[2]=5 { case 0:a[i]++break//a[0]=2进入这,执行a[0]++后变成a[0]=3 case 1:a[i]--//a[2]=5进入这,执行a[2]--后变成a[2]=4 }breakcase 1:a[i]=0//i为1,3,即a[1],a[3]变成0 } for(i=0i<4i++)printf("%d",a[i])printf("\n")}