c语言且判断
1. c语言编程判断语句
楼上的回答完全文不对题,还号称手打?
#include<iostream>
#include<windows.h>
#include<string>
#include<cstdlib>
usingnamespacestd;
intmain()
{
inta=5,b=4,c=6,d;
printf("%d ",d=a>b?a>c?a:c:b);//6
//要这样看:d=(...),接下来看看括号中的内容
//a>b?a>c?a:c:b也要逐步分解为a>b?(...):(...)
//因为a=5,b=4所以前者成立,我们来看看前者也就是a>c?a:c
//因为a=5,c=6所以后者成立,返回c
//好了最终结果出来了,也就是d=c
//然后printf的是d的值,所以最后输出6
getchar();
return0;
}
2. C语言中 & 和 && 的区别
区别:
1.运算符性质不同。
&是一个位运算符。
&&是一个逻辑运算符。
2.作用不同。内
&是将两个二进制的容数逐位相与,结果是相与之后的结果。
&&就是判断两个表达式的真假性,只有两个表达式同时为真才为真,有一个为假则为假,具有短路性质。
3.用途限制。
&除了是一个位运算符,也是取地址符。
&&就是一个单纯的逻辑运算符,没有任何其他含义。
参考资料
&-网络
&&-网络
3. C语言逻辑判断
C
x || y 这个表达式中, 当x为真的时候不需要判断y,所以 x为真的几率越大越效率。
x && y 这个表达式中, 当x为假的时候不需要判断y,所以x为假的几率越大越有效率(也就是说x为真的几率越小越有效率)
所以 a||b 要比 b||a更好。 a||b为真的几率是0.88 ,所以c在前比较有效率
4. c语言符号且与或
C语言中的逻辑运算符:&&(与运算)、||(或运算)、!(非运算)。
与运算符(&&)和或运算符(||)均为双目运算符。具有左结合性。非运算符(!)为单目运算符,具有右结合性。逻辑运算符和其它运算符优先级的关系可表示如下:
本来没有错误,关系运算符都是按“非与或”顺序来运算的。但是,不同的编译器设计者可能对这个的认识不同,因此,如果不加括号就会有歧义,因此,编译器就会提醒应该加括号(编译中有警告:waring),但你不加,也不算错,只是其结果就是按编译器的运算顺序来操作了。
&&是与,||是或;
&是位与,|是位或;
|就是按住shift在按回车上面一个按钮;
两下就是||;
这个不是错误,是警告warning,编译器怕记不住操作符优先级,而导致错误,因此提示||的优先级高于!=。
(4)c语言且判断扩展阅读
C语言内置了丰富的运算符,大体可分为10类:算术运算符、关系运算符、逻辑运算符、位操作运算符、赋值运算符、条件运算符、逗号运算符、指针运算符、求字节数运算符和特殊运算符。
根据运算符可操作的操作数的个数,可把运算符分为一元运算符、二元运算符和多元运算符(一般三元)。优先级:当不同运算符优先级不同时,先计算谁后计算结合性:当不同运算符优先级相同时,先计算谁后计算谁。
5. C语言if判断
只有来当flag的值等于1的时自候才执行 if大括号里面的语句。
书里面那样写的话那就应该是书上错了,尽信书不如无书呢。
如果有怀疑其实这你可以自己在编译环境里面自己尝试一下。
你的补充:
if后面的小括号是trut即是1的时候就执行 if大括号里面的语句。
如果是fault即是0的时候就执行else后面的。其实正如你说的:平时都是X>0之类判断,如果x>0是truth即是1的时候就会执行 if大括号里面的语句。
道理其实都是一样的。
多看一点书自己多理解一下。
6. C语言判断语句
楼上的程序逻辑没有问题,我同意.单个字符是可以用if判断的,如果是多个的话就用strcmp函数就可以
7. C语言 逻辑判断
并不是0遇到&&整个式子就为0,而是&&的表达式为0. &&外层的表达式还是要计算的。
另外注意这几点就行了:
1. !和<的运算优先级都大于&&,而且&&大于||
2. &&先算左边,如果左边是0,那右边属于&&的部分就就不执行了。
所以根据运算的优先级给这个表达式加括号:
(!(a<b)&&!c) || 1
8. C语言判断
switch(choice){
case 1: price = 3.0; break;
case 2: price = 2.5; break;
case 3: price = 4.0; break;
case 4: price = 3.5; break;
default: price = 0.0; break;
}
应该是抄这样,不用加判断语句
9. C语言里且和或是什么符号
分别是&&和||。
c语言中的&&有三种使用方式。
1 、取地址操作符。
单目运算,与其后回的变量或常量组答合,用于获取该操作数的内存地址。
2 、位操作中的按位与操作
双目运算符,&&的两边的表达式均参与操作。计算时按位计算。对于任意一位,如果两个操作数该位上的值均为1,则结果该位上为1。否则结果该位上值为0。
3 、当两个&&符号同时使用,即&&符号。
它的意思是代表逻辑运算中的逻辑与。双目运算符,&&的两边的表达式均参与操作。
当&&两边均为真时,结果为真。否则结果为假。&&由于是逻辑运算,结果只有真(1)或假(0)两种情况。
(9)c语言且判断扩展阅读
1、在使用&的时候进行相与运算,得到的结果一般也是这样,但是也会有偶然情况,例如10和5相与,即1010&0101,则结果为0,这时候的结果就是不一样的。2、&&和||却是逻辑运算符,除了0之外,其他的非零整数都可以看做true,如果10和6相与,结果会是true。
10. c语言判断!((a==0)&&(b==0))
不知道你要问什么,但是我仍然可以告诉你这句话的意思!1,a,b肯定是在程序的某个地方定义的整形变量,他们代表的是任何整数,具体是多少,要看程序怎么赋值了2,==符号就是 等于的意思,注意c语言中只有一个等号的情况下,不是等于的意思,而是赋值3,&&是并且的意思 ,也就是说要这个符号前后的表达式全都是真的情况下,才返回真4,( )和数学中的括号是一个意思,起到运算的先后的作用5,! 是 非的意思,我们知道判断的结果只有两个 真 或者 假,所以你如果得到一个判断的答案是假的话,再用这个符号弄一下,就变成了非假,也就是 真 的意思好了我们来看这个判断式,为了把这个问题说清楚,我们把这个问题分为4个情况1。a等于0 b也等于0 那么a==0 返回真 b==0 返回真 上述两个结果 逻辑与 ,就是真并且真,所以还是返回真 最后,上述结果再逻辑非,变成非真,也就是假。 所以在这种情况下返回假2。a不等于0 b也不等于0 那么a==0 返回假 b==0 返回假 上述两个结果 逻辑与 ,就是假并且假,所以返回假 最后,上述结果再逻辑非,变成非假,也就是真。 所以在这种情况下返回真3。a等于0 b不等于0 那么a==0 返回真 b==0 返回假 上述两个结果 逻辑与 ,就是真并且假,所以返回假 最后,上述结果再逻辑非,变成非假,也就是真。 所以在这种情况下返回真4。与3 的情况一样了!希望对你有帮助