"i=!a" 在c语言中什么意思 c=b||a什么意思在c语言中什么意思?

作者&投稿:黎哑 (若有异议请与网页底部的电邮联系)

c语言中''i=!a''的意思是将a取非的值赋值给i。

!作为单目运算符的意思是取非,如!真=假,!假=真。C语言中一般情况下0表示假,非0表示真。

另外值得注意的是=,==和!=的区别,=是赋值运算符,即把=右侧表达式的值赋值给左侧的变量;==是逻辑等于运算符,当两侧的表达式的值相等时返回真,否则返回假;!=是逻辑不等于运算符,当两则表达式的值不相等时返回真,否则返回假。

扩展资料

C语言运算符号的种类:

1、算术运算符:

用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)共七种。

2、关系运算符:

用于比较运算。包括大于(>)、小于(<)、等于(==)、大于等于(>=)、小于等于(<=)和不等于(!=)六种。

3、逻辑运算符:

用于逻辑运算。包括与(&&)、或(||)、非(!)三种。

4、位操作运算符:

参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。

5、赋值运算符:

用于赋值运算。分为简单赋值(=)、复合算术赋值(+=、-=、*=、/=、%=)和复合位运算赋值(&=、|=、^=、>>=、<<=)三类共十一种。

6、条件运算符:

这是一个三目运算符,用于条件求值(?:)。

7、逗号运算符:

用于把若干表达式组合成一个表达式(,)。

8、指针运算符:

用于取内容(*)和取地址(&)二种运算。

9、求字节数运算符:

用于计算数据类型所占的字节数(sizeof)。

10、特殊运算符

有括号()、下标[]、成员(→,.)等几种。

参考资料来源:百度百科:c语言运算符号



c语言中i=!a的意思是将a取非的值赋值给i。
!作为单目运算符的意思是取非,如!真=假,!假=真。C语言中一般情况下0表示假,非0表示真。
另外值得注意的是=,==和!=的区别,=是赋值运算符,即把=右侧表达式的值赋值给左侧的变量;==是逻辑等于运算符,当两侧的表达式的值相等时返回真,否则返回假;!=是逻辑不等于运算符,当两则表达式的值不相等时返回真,否则返回假。

!a 是一个逻辑非表达式,当a值为0时,!a的值是1,否则是0。
那么就可以解释这个 i = !a 表达式了:对 i 赋值,其值为!a。

i是否等于非a,如果a = 0,则等同于 i = 1;如果a!=0,则等同于 i = 0

int main()
{
int i;
int a = 0;
i=!a;
printf("%d ",i);
a = 6;
i = !a;
printf("%d\n",i);
return 0;
}

gcc编译后结果为 1 0
可见先将a看做bool类型进行!(逻辑非)运算,结果为真(1)或假(0)

计算机c语言中i=!a 什么意思~

!表示“非”,是一种逻辑运算。若a的真值为1,则!a为0;若a的真值为0,则!a为1。
拓展资料逻辑运算是判断命题是否成立的运算,一共有三种,即逻辑非,逻辑与,逻辑或。逻辑表达式结果值为int型,命题成立值为1,否则为0。
值得注意的是,C语言中,在逻辑判断时,逻辑运算的操作数是0,被认为是假,操作数非0都认为是真,而不仅仅是1。三个逻辑运算符的真值表如下:

||在c语言中是指‘或’的意思 其判断是有一个为真 结果就为真

在C语言中‘==、++、--、!=’各是什么意思
答:“==”就是把等于的意思而“=”是赋值运算符 例如; a==b,就是a等于b 而a=b,则是把b赋值给a ++i --i ( 在使用之前使i的值加(减1) 例如i的原值 i=3 则j=++i (i的值先加1变成4,在赋值给j,j的值现在是4)而 i++ i-- 例如j=i++ 则先是将i的值3赋给j,j...

int a = 10; int i, j; i = ++a; j = a--; System.out.printf("%d,%...
答:int a = 10;int i,j;i = ++a; //此时相当于a=a+i;i=a;即:i=11,a=11 j = a--; //此时相当于j=a,a--即:j=11,a=10 System.out.printf("%d,%d,%d", a, i, j);//这里主要考的是++a,与a--的区别:++a是加了后赋值,a--是赋值了后再减,就是这个区别 希...

C语言里a=!k b=i!=j c=k&&j d=k||j 分别是什么意思? 其中的“!”又是...
答:!为逻辑非 a=!k 如果k不为0,则a=0,否则a=1 b=i!=k 如果i不等于k则b=1否则b=0 c=k&&j 如果k不为0且j不为0则c=1否则c=0 d=k||j如果k或j不为0则d=1否则d=0

已知int i,a;执行语句"i=(a=2*3,a*5),a+6;"后,变量a的值
答:6

main() {int a=1,i=a+1; do {a++; }while(!~i++>3); printf("%d\n",a...
答:(!~i++>3 运算符优先级:!,~,++ 一样,高于 > a初值1,i 初值 2 第一次循环,do a++; a 变 2 条件i++ 是后缀 加,表达式里 仍为 2. ~2 (0000 0010 变 1111 1101)为 -3. !(-3) 得 0 0 〉3 不成立,退出循环。printf("%d\n",a); 打印出 2 ...

C语言中!a[i]什么意思
答:!a[i]指的是 1、a[i]=0,则!a[i]不是0 2、a[i]不是0,则!a[i]=0

...do{a[i++];{while (a[++i]<5); for(i=0;i<5;i++) printf("%d",a[i...
答:a[i]++ ?那分析是这样:第一次: a[i]++; 此时a[0] = 4; i = 0;while (a[++i] < 5); 此时i = 1, 判断的是a[1] < 5, 条件成立 第二次:a[i]++; 此时a[1] = 5; i = 1;while (a[++i] < 5); 此时i = 2; 判断的是a[2] < 5, 条件不成立, ...

int i ,a=0,b=0 for i=1 i<10 i++) { if (i%2==0) {a++; continue;} b...
答:你的程序打错了 int i ,a=0,b=0; //这里少了个分号 for( i=1 i<10 i++) { //for后面少了个小括号 if (i%2==0){ a++;continue;} b++;} printf("a=%d,b=%d",a,b);从i=1开始执行循环,进行if判断,如果i是个偶数那么执行a++,不执行b++,直接进入下一次循环,如...

程序运行结果main(){int a=10,i=1,j=2;printf("%d,%o,%x\n"a,a,a...
答:int a=10,i=1,j=2;printf("%d,%o,%x\n",a,a,a);printf("i=%d\nq",i++);printf("%c\n",i==j?'A':'B');运行后的输出是:10,12,a i=1 qA

假设一个变量var是a 那么 a*=i; 这里的*=是什么意思?
答:没有说明什么语言,假定为C语言。=、+=、-=、*=、/=都称为赋值号。a=x代表将a赋为x,a+=x表示a的增量为x,即a=a+x,同理a-=x相当于a=a-x,a*=x相当于a=a*x,a/=x相当于a=a/x。