涉及的语法 逻辑运算符 逻辑运算也被称为布尔( Boolean)运算,即参 与运算的数据和运算结果都只有两个值:0和非0, 0表示假(条件不成立);非0表示真条件成立) 与运算&&相当于而且) a&&b当且仅当两者都为真,则结果为真 (a>b&&b>c);a大于b,并且b大于c n或运算(相当于或者) >a|b只要两者中有一个为真,结果就为真 >(a>blb>c)于b,或者b大于c 求反!(优先级优先级同其它单目运算符,虽和比关 单目系运算符低,&又比高。 (a)结合性:自左向右 并不
涉及的语法 -逻辑运算符 ▪ 逻辑运算也被称为布尔(Boolean)运算,即参 与运算的数据和运算结果都只有两个值:0和非0, 0表示假(条件不成立);非0表示真(条件成立) ▪ 与运算&&(相当于而且) ➢ a && b当且仅当两者都为真,则结果为真 ➢ ( a > b && b > c);a大于b,并且b大于c ▪ 或运算|| (相当于或者) ➢ a || b只要两者中有一个为真,结果就为真 ➢ ( a > b || b > c); a大于b,或者b大于c ▪ 求反! ➢ 单目运算符 ➢ ( !a );如果a是0,结果非0;如果a是非0,结果是0 ➢ 并不改变a的值 优先级:!优先级同其它单目运算符,&&和||比关 系运算符低,&&又比||高。 结合性:自左向右
练习1:从键盘上输入一个字符,判断 它是否是小写字母? Include <stdio. h> void maino char c; 如何判断是否是 printf( please input a character: ) 英文字母? c= getchar;/人键盘上输入一个字符并存仰(o>=a&&c≤=2) if((letter>=97&&letter<=122) (c>=A'&&c=z) printf("%c is a letter!",c); else a<=c<=z对吗? 请上机验证,作为作业 printf("%c is not a letter!, c)
c是字母吗? 输出“是” NO YES 输入c 输出“不是” 结束 开始 练习1:从键盘上输入一个字符,判断 它是否是小写字母? #include <stdio.h> void main() { char c; printf(“please input a character:”); c=getchar();/*从键盘上输入一个字符并存储到变量C中*/ if( (c>=’a’&&c<=‘z’) ) { printf(“%c is a letter!”,c); } else { printf(“%c is not a letter!”,c); } } (letter>=97&&letter<=122) ’a’ <=c<=‘z’对吗? 请上机验证,作为作业 如何判断是否是 英文字母? (c>=’a’&&c<=‘z’)|| (c>=’A’&&c<=‘Z’)
作业1 求三个数的最大值。 验证题:练习1中的表达式写成a'<=c<=z, 并分别选取三种数据:小于“a的,小字字母, 大于‘z的字符输入,验证这种写法是否正确? 再写成c>=a'&&c<=z验证一下。 选做:求一元二次方程ax2+bx+c=0的根, 整数系数从键盘输入。(应该根据输入的系 统判断是否为一元二次方程,是否有根等 情况)
作业1 ▪ 求三个数的最大值。 ▪ 验证题:练习1中的表达式写成’a’ <=c<=‘z’ , 并分别选取三种数据:小于‘a’的,小字字母, 大于‘z’的字符输入,验证这种写法是否正确? 再写成c>=’a’&&c<=‘z’验证一下。 ▪ 选做:求一元二次方程ax2+bx+c=0的根, 整数系数从键盘输入。(应该根据输入的系 统判断是否为一元二次方程,是否有根等 情况)
作业1讲评求三个数的最大值 Include<stdio h> void main(方法1 int a,b,c.max: printf(" Please input 3 integers: scanf( d %d %d&a, &b, &c: (a>b)求出a,b的最大值,放入max maxa, else maxed if(max>c)/求出max,c的最大值并输出* printf( the Max is: %d\n", max; else d g rintf("The Max is: %d\n" c) charo
作业1讲评 求三个数的最大值 #include<stdio.h> void main()/*方法1*/ { int a,b,c,max; printf("Please input 3 integers:"); scanf("%d %d %d",&a,&b,&c); if (a>b)/*求出a,b的最大值,放入max*/ max=a; else max=b; if (max>c) /*求出max,c的最大值并输出*/ printf("The Max is :%d\n",max); else printf("The Max is :%d\n",c); getchar(); }
作业1讲评写法2 include<stdio. h> void main(/方法1 唯一的三目运算符 代替简单的if-else 优先级:刚好高于赋 int a.b.c. max. 值运算符 prn(" Please input3 integers从结合性:自右向左 scanf("%d %d %d", &a, &b, &3 (a>b)? maxe a: max=b /求出a,b的最大值,放入max。或者用max=(a>b)?a:b; if(max>c)求出maxc的最大值并输出 printf( The Max is %d\n", max) else printf( The Max is %dIn,c); getchar
作业1讲评-写法2 #include<stdio.h> void main()/*方法1*/ { int a,b,c,max; printf("Please input 3 integers:"); scanf("%d %d %d",&a,&b,&c); (a>b)? max= a:max=b; /*求出a,b的最大值,放入max。或者用max=(a>b)?a:b;*/ if (max>c) /*求出max,c的最大值并输出*/ printf("The Max is :%d\n",max); else printf("The Max is :%d\n",c); getchar(); } •唯一的三目运算符 •代替简单的if-else •优先级:刚好高于赋 值运算符 •结合性:自右向左