c语言逻辑运算
① c语言逻辑运算符
&&即逻辑与,只有左右侧表达式都为真(非零)时,整个表达式值为真
!即逻辑非,操作数为真(非零)时,表达式值为假;反之则为真
||逻辑或,左右侧表达式任意一个为真(非零)时,整个表达式值为真
② C语言中逻辑运算符用法是什么
1、逻辑运算符是根据表达式的值来返回真值或是假值。在C语言中没有专门的真值和假值,认定非0为真值,0为假值。
2、逻辑运算符运算规则:
|| 或:两个条件中,只要有一个成立,则结果就成立;
&& 与:两个条件中,两个同时成立,则结果成立,否则不成立;
! 非:取反之意,如果是真,结果是假,如果是假,结果是真。
下为C语言逻辑运算||和&&的真值表:
③ C语言逻辑运算
a>b返回假,因此m为假,由于是&&,与,因此后面的也不需要执行了,因此n的值不变,为2
④ c语言逻辑运算。
#include<stdio.h>
void mian()
{
char c1;
int a;
printf("请输入员工级别(大写字母)。"\n);
scanf("%c",&c1);
switch(c1)
{
case'A':a=1000+450;
case'B':a=1000+400;
case'C':a=1000+300;
case'D':a=1000+250;
default:printf("输入错误\n");
}
printf("该员工工资为%d\n",a);
}
有的编译器不能显示中文,自己看着办,此程序未经验证,可能有笔误,自己看着办……
⑤ C语言中逻辑运算怎么做啊
&&逻辑与,2和8都大于0所以,2&&8为真,==是逻辑等于运算符,1==1为真,为真在c语言中用1表示,假用0表示。
⑥ C语言中逻辑运算符用法
1、逻辑运算符是根据表达式的值来返回真值或是假值。在C语言中没有专门的真值和假值,认定非0为真值,0为假值。
2、逻辑运算符运算规则:
|| 或:两个条件中,只要有一个成立,则结果就成立;
&& 与:两个条件中,两个同时成立,则结果成立,否则不成立;
! 非:取反之意,如果是真,结果是假,如果是假,结果是真。
下为C语言逻辑运算||和&&的真值表:
⑦ C语言逻辑运算符顺序是什么
LS,貌似&&的优先级比||大 = 赋值语句结合性 自右相左
a=b=c=1;等价于 c = 1;b = c; a = b;
-------------------------
看了sunnyapi的回答我感觉有必要
对以上回答进行一点补充
首先声明 ||和&&运算符均属于短路运算符;
什么是短路运算符举个简单例子
若 a = 1; a||a++;运行后结果是什么,变量a值为多少?
||逻辑或对第一项a进行判断是否为0,若不为零则返回值为1;且不在进行后面的a++运算,这就是短路运算符的特性,这样一来,a的值还是1没有改变,同理 a =0; 0&&a++;的运行结果为a=0;
举个形象点的例子:
a=1 a就是真
b=0 b就是假
a||a-- 真||a++,既然已经有真的了就没必要再判断a--是否为真 1||a++;肯定是真的;
同理 b&&b++ ,假&&b--既然已经有假的了就没有必要判断b++真假,同时b++也就不会被执行
++a||++b&&++c;这个语句根据算数运算符的优先级关系 &&的优先级比||大 ‘可以这样理解’
所以先运行对++a||++b 和 ++c进行逻辑与(&&)运算,并先判断++a||++b是否为假若假则不进行++c;在判断 ++a||++b 是否为真的过程中,进行了++a和++b的||(逻辑或)运算,在逻辑或运算中先判断++a是否为零,这个过程中相当于 先a=a+1;再if (a!=0) 因为前面a=1,再运行++a,a这时等于2所以在if (a!=0) 成立则,不会运行++b;
所以
运行结果为a =2 ,b=c=1;
再程序执行++a||++b&&++c;这条语句的过程中只有a变量的值发生改变,而不是楼下说的那样
“在执行“++a||++b&&++c;”语句之前完成自加运算” 这是错的·
上述方法只是为了帮助你理解这个++a||++b&&++c;语句的意思
若我写个a=b=c=1; ++a||++b&&++c||++a||++b&&++c||++a||++b&&++c;你说该怎么理解?
挨个分析优先级,?
那不得疯了
所以那样也没必要++a||++b&&++c||++a||++b&&++c||++a||++b&&++c;只要由左到右依次运行这样来判断就好了就是(++a )语句1|| (++b&&++c||++a||++b&&++c||++a||++b&&++c)语句2
(++a)==2!=0所以嘛,语句2就不执行了 这样判断也符合 该语句的执行顺序
⑧ 什么是C语言的逻辑运算
逻辑运算 (logical operators) 通常用来测试真假值。最常见到的逻辑运算就是循环的处理,用来判断是否该离开循环或继续执行循环内的指令。
符号 意义
< 小于
> 大于
<= 小于或等于
>= 大于或等于
== 等于
!= 不等于
&& 而且 (And)
and 而且 (And)
|| 或者 (Or)
or 或者 (Or)
xor 异或 (Xor)
! 非 (Not)
⑨ c语言逻辑运算
兄弟,你刚学C语言吧,这可不像话啊, 编这么个程序都没有规矩怎么行。你输出的是i = i/3;的值7.没有输出reset(int)函数的返回值,看看清楚了,是LOW.我把我改的给你。
#include<stdio.h>
#define LOW 11
#define HIGH 23
#define CHANGE 12
int workover(int i);
int reset(int i);
int main(void)
{
int i=HIGH;
i = reset((int)(i/2.5));
printf("i=%d\n",i);
i = reset(i = i/3);
printf("i=%d\n",i);
reset(i/2);
i = printf("i=%d\n",i);
i = workover(i);
printf("i=%d\n",i);
return 0;
}
int workover(int i)
{
i=(i%i++)*((i*i)/(2*i)+4);
printf("i=%d\n",i);
return (i);
}
int reset(int i)
{
i= i<=CHANGE? LOW:HIGH;
return (i);
}