在程序设计中需要判断x!=a时(x,a为浮点数), 通常用fabs(x-a)>1e-6代替x!=a,le-6可根据精 度要求适当改变。 因char类型的数据按整数处理,所以可以对两个 char类型数据直接进行比较。 而对两个字符串的比较,则应调用函数库中的 strcmp() 函数进行, strcmp()函数的使用详见附录v
11 在程序设计中需要判断 x!=a 时 (x , a为浮点数), 通常用 fabs(x-a) > 1e-6 代替 x!=a , 1e-6 可根据精 度要求适当改变。 因char类型的数据按整数处理,所以可以对两个 char类型数据直接进行比较。 而对两个字符串的比较, 则应调用函数库中的strcmp( ) 函数进行, strcmp( )函数的使用详见附录ⅴ
52逻辑运算符和逻辑表达式 逻辑运算反映两个操作数之间的逻辑关系。逻辑运算符 也称逻辑连接符。 、逻辑运算符 寫逻辑非单目运算符,如:!(a>b) &&逻辑与双目运算符,如:(a>b)&&(x>y) 低‖逻辑或双目运算符,如:(a>b)‖(x>y) 其优先级低于关系运算符高于赋值运算符左结合性。 逻辑运算真值表(运算规则) b欲4b 非0 非0 000 1100 0 非0:0 0 12
12 5.2 逻辑运算符和逻辑表达式 逻辑运算反映两个操作数之间的逻辑关系。逻辑运算符 也称逻辑连接符。 1、逻辑运算符 ! 逻辑非 单目运算符,如: !(a>b) && 逻辑与 双目运算符,如:(a>b)&&(x>y) || 逻辑或 双目运算符, 如:(a>b)||(x>y) 其优先级低于关系运算符,高于赋值运算符,左结合性。 高 低
逻辑表达式 1)一般形式 el&e2 el‖e2 el、e2:任何合法的操作数或表达式,且它们的数 据类型不必相同。值是逻辑值1(真)或0(假),结果 类型为:int。例如: int a=3, d; d=a>=0&&a<=10;即1→d d=:(a<0‖a>10)即1→→d 13
13 2、逻辑表达式 1) 一般形式 e1&&e2 e1 || e2 !e1 e1、e2: 任何合法的操作数或表达式 , 且它们的数 据类型不必相同。 值是逻辑值 1(真)或 0(假),结果 类型为:int 。例如: int a=3 , d; d = a>=0 && a<=10; 即 1→d d = !( a<0 || a>10 ) 即 1→d
例1:判断某一年份是否闫年。 满足以下条件之一的年份为闰年:能被4整除但不能 被100整除;或者能被400整除。 int year, leap i scanf(“%d”,&year); leap=year%4==0&&year 100! =0llyear0%400==0 i leap printf((“% d is leap year!”,year) 例2:数学中的a≤v≤b不能直接写成: <=V<=b 而应写成: a<=&&v<=b
14 int year , leap ; scanf ( “%d” , &year ) ; leap=year%4==0&&year%100!=0||year%400==0 ; if ( leap ) printf ( “%d is leap year!” , year ) ; 例1:判断某一年份是否闰年。 满足以下条件之一的年份为闰年:能被4整除但不能 被100整除;或者能被400整除。 a<=v && v<=b 而应写成: a <= v <= b 例2: 数学中的 a ≤ v ≤ b 不能直接写成: