C语言中while(!(--x))什么意思
while(!(--x));
等效于
while(--x==0);
即x自减一,判断减一后的值是否等于0,若等于0,则继续循环,否则推出;
--x的意思是x=x-1;!是逻辑非运算,!(--x)是循环条件while(!(--x));
表示当x=x-1运算后,如果x=0那么因为非运算,那么x不等于0,循环继续;
如果x=x-1运算后,如果x不等于0,则!(--x)=0,结束循环。
扩展资料
C语言中while循环
#include<stdio.h>
intmain()
{
intx=1;//定义变量x,初始值为1
while(x<=4)//循环条件
{
printf("x=%d\n",x);//条件成立,打印x的值
x++;//x进行自增
}
return0;
}
while(!x)后面有一个分号,表示该循环的循环体为空,即只做判断和循环,并不执行操作。
!是反运算符,单目,!真 即 假,!假 即 真。
如果x != 0, 则 !x 为 0,即假,如果x == 0,则 !x 为 真。
while()是循环语句。
while(expr)表示当逻辑表达式expr为真时,循环运行循环体,直到expr值为假或遇到break语句时退出。
!x是逻辑非操作,当x为0时,值为真,否则值为假。 在这里等效于x==0。
扩展资料:
1、c语言语法结构
for循环
for循环结构是c语言中最具有特色的循环语句,使用最为灵活方便,它的一般形式为:
for(表达式1;表达式2;表达式3)循环体语句 。(其中;不能省略)
表达式
表达式1为初值表达式,用于在循环开始前为循环变量赋初值。
表达式2是循环控制逻辑表达式,它控制循环执行的条件,决定循环的次数。
表达式3为循环控制变量修改表达式,它使for循环趋向结束。
循环体语句是在循环控制条件成立的情况下被反复执行的语句。
但是在整个for循环过程中,表达式1只计算一次,表达式2和表达式3则可能计算多次,也可能一次也不计算。循环体可能多次执行,也可能一次都不执行。
先执行表达式2,然后执行循环结构,最后表达式3,一直这样循环下去。
for循环语句是c语言种功能最为强大的语句,甚至在一定程度上可以代替其他的循环语句。
do
do循环结构,do 1 while⑵;的执行顺序是1->2->1...循环,2为循环条件。
while
while循环结构,while(1) 2; 的执行顺序是1->2->1...循环,1为循环条件
以上循环语句,当循环条件表达式为真则继续循环,为假则跳出循环。
2、c语言特点
高级语言。它是把高级语言的基本结构和语句与低级语言的实用性结合起来的工作单元。
结构式语言。结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。
代码级别的跨平台。由于标准的存在,使得几乎同样的C代码可用于多种操作系统,如Windows、DOS、UNIX等等;也适用于多种机型。C语言对编写需要进行硬件操作的场合,优于其它高级语言。
使用指针。可以直接进行靠近硬件的操作,但是C的指针操作不做保护,也给它带来了很多不安全的因素。C++在这方面做了改进,在保留了指针操作的同时又增强了安全性,受到了一些用户的支持,但是,由于这些改进增加语言的复杂度,也为另一部分所诟病。Java则吸取了C++的教训,取消了指针操作,也取消了C++改进中一些备受争议的地方,在安全性和适合性方面均取得良好的效果,但其本身解释在虚拟机中运行,运行效率低于C++/C。一般而言,C,C++,java被视为同一系的语言,它们长期占据着程序使用榜的前三名。
参考链接:c语言_百度百科否则,当X不等于1时,该条件为假,跳出While循环语句。
这个语句是多余的。
它等价于
while(x--)
意思就是先取x的值判断,只要x的值不等于0,(判断结束后x的值减1)就进入循环,最后一次循环体中x的值是0,退出循环时,x的值是-1。