C语言中“if(!a[i]) 语句1”何意? 哪位高手知道在c语言中if(!a[i]) break;中的!...

作者&投稿:勤狗 (若有异议请与网页底部的电邮联系)
if的条件是这样判定的,如果为非零值认为为真,为0则为假。当用!a[i]时,说明a[i]为0时执行下面的语句。其中!为非,也就是说“反”,因为我们默认的是非零即为真,所以说原句省略了一部分他相当于if(!a[i]!=0),即(!a[i]是非零的)

if(!a[i])就是判断 !a[i] 的值是真还是假,在C语言中0为假,非0为真
如果a[i]的值为0,那么!a[i]为1,if(!a[i])成立
如果a[i]的值不为0,那么!a[i]为0,if(!a[i])不成立

“<<”
代表左移运算符.
a[i]<<=2
即:
将a[i]
对应的二进制向左移两位.
左移运算通过可以用来做2的多次方乘法,
左移1位等于乘以2的一次方
因此在不溢出的情况下:
a[i]<<=2;
其实等价于:
a[i]乘以2的2次方
即:
a[i]<<=2
等价于
a[i]=a[i]*2*2=a[i]*4

a[i]是一个bool类型的
就是说 a[i]非真成立的话

在用C++编程时,if(a[i])是什麽意思?~

if(a[i])是执行if判断的语句体
a[i]是一个值。
在C++中,有一个隐式类型转换,如果说一个数非0,那么转换成真,否则转换成为假。
所以if(a[i])就是判断a[i]是不是0,是0则if(a[i])为假,否则进入IF子语句。

扩展资料:
C++编程中if语句是用于的条件判断的控制语句,当判断条件成功时,将执行相应语句,否则跳过。具体形式如下:
if(表达式) 语句;
[else 语句;](可选)

if(表达式) 语句;
else if(表达式) 语句;
else if(表达式) 语句;
……
else 语句;
上面的描述当表达式成立时执行语句,而else是可选的,在表达式不成立时将执行此语句,可以不使用。此外if语句支持多层嵌套,可以对多个条件进行判断。
例子:输入
一个整数N(-109 <= N <= 109)
输出
如果N > 0, 输出positive;
如果N = 0, 输出zero;
如果N < 0, 输出negative

a[]是数组
a[i]是数组的第i个元素
!是非的意思
if(!a[i]) 的意思是当前面的值不等于数组的第i个元素
时执行下面的语句即break