第4章选择和循环结构程序设计 【例4.2】 #include<stdio. h> main int a,b, c: a=b=c=l ++a|++b&&++c; printf("(1)a=%d, b=%d, c=%d\n"a,b,c) a=b=c=1; ++a&&++b+c; printf("(2)a=%d, b=%d, c=%d\n"a,b,c) a=b=c=1; ++a&&++b&&++C; printf("(3)a=%d, b=%d, c=%d\n"a,b,c) Back
第4章 选择和循环结构程序设计 【例4.2】 #include<stdio.h> main() { int a٫b٫c; a=b=c=1; ++a||++b&&++c; printf(″(1)a=%d٫b=%d٫c=%d\n″ ٫a٫b٫c); a=b=c=1; ++a&&++b||++c; printf(″(2)a=%d٫b=%d٫c=%d\n″ ٫a٫b٫c); a=b=c=1; ++a&&++b&&++c; printf(″(3)a=%d٫b=%d٫c=%d\n″ ٫a٫b٫c);
第4章选择和循环结构程序设计 a=b=c=-1 ++a&+b||++c; printf("(4)a=%d, b=%d, c=%d\n"a,b,c) a=b=c=-1 +a++b&&++C; printf("(5)a=%d, b=%d, c=%d\n",a,b,c) a=b=c=-1; ++a&&++b&&++C; printf("(6)=%d, b=%d, c=%\n",a, b,c) return 0: dBac
第4章 选择和循环结构程序设计 a=b=c=-1; ++a&&++b||++c; printf(″(4)a=%d٫b=%d٫c=%d\n″ ٫a٫b٫c); a=b=c=-1; ++a||++b&&++c; printf(″(5)a=%d٫b=%d٫c=%d\n″ ٫a٫b٫c); a=b=c=-1; ++a&&++b&&++c; printf(″(6)a=%d٫b=%d٫c=%d\n″ ٫a٫b٫c); return 0; }
第4章选择和循环结构程序设计 注意:输出(4)是求+a&8+b1+c,++a等于0仅说明不需要求 b就可知++a&k+b为假但还不能说整个表达式为假还必须对 后面的+c进行运算。 因为和&&都是严格地按从左到右的顺序进行运算的,即使 它们出现在同一个表达式中也是如此当‖出现在&之前时,也 不会因为&的优先级高而先对&&的运算对象进行运算因此 ++a|++b&+c等同于+a‖|(++b&&+c),所以有(1)和(5)的输 出结果 由关系运算符和逻辑运算符可以表示复杂的逻辑条件,这在 程序设计中是经常用到的.比如要表示某一年份year是否为闰 年根据天文学知识,只要符合下列条件之一即为闰年 (1)年份year能被4整除,但不能被100整除; (2)年份year能被400整除。 Ba
第4章 选择和循环结构程序设计 注意:输出(4)是求++a&&++b||++c٫++a等于0仅说明不需要求 b就可知++a&&++b为假٫但还不能说整个表达式为假٫还必须对|| 后面的++c进行运算。 因为||和&&都是严格地按从左到右的顺序进行运算的٫即使 它们出现在同一个表达式中也是如此٫当||出现在&&之前时٫也 不会因为&&的优先级高而先对&&的运算对象进行运算٫因此 ++a||++b&&++c等同于++a||(++b&&++c)٫所以有(1)和(5)的输 出结果。 由关系运算符和逻辑运算符可以表示复杂的逻辑条件٫这在 程序设计中是经常用到的.比如要表示某一年份year是否为闰 年٫根据天文学知识٫只要符合下列条件之一即为闰年: (1)年份year能被4整除٫但不能被100整除; (2)年份year能被400整除
第4章选择和循环结构程序设计 据此可以写出逻辑表达式 (year%4=0& &year%100!=0)year%400==0 根据运算符的优先级,式中的括号是可以不要的加上是为了清 晰。当year为某一整数值时,如果上述表达式值为真(1),则 year为闰年;否则year为非闰年。 可以加一个“!”用来判别非闰年: !((year%4=0&&year%100!=0)year%400==0) 若表达式值为真(1),year为非闰年。也可以用下面逻辑表 达式判别非闰年 (year%4!=0)(year%100=0& &year%400!=0) 若表达式值为真year为非闰年。请注意表达式中右面的括弧 内的不同运算符(%,!=,&,=)的运算优先次序 <Back
第4章 选择和循环结构程序设计 据此可以写出逻辑表达式: (year%4==0&&year%100!=0)||year%400==0 根据运算符的优先级٫式中的括号是可以不要的٫加上是为了清 晰 。 当year为某一整数值时,如果上述表达式值为真(1),则 year为闰年;否则year为非闰年。 可以加一个“!”用来判别非闰年: !((year%4==0&&year%100!=0)||year%400==0) 若表达式值为真(1),year为非闰年。也可以用下面逻辑表 达式判别非闰年: (year%4!=0)||(year%100==0&&year%400!=0) 若表达式值为真٫year为非闰年。请注意表达式中右面的括弧 内的不同运算符(%٫!=٫&&٫==)的运算优先次序
第4章选择和循环结构程序设计 4.4选择结构的程序设计 C语言中用条件语句来设计选择结构的程序。条件语句有两个: 双分支的ⅱ语句和多分支的 switch语句。根据不同情况,恰当 地使用它们,可以提高编程效率 4.4.1if语句 if语句是用来判定所给定的条件是否满足,根据判定的结果 (真或假)决定执行给岀的两种操作之一。C语言提供了三种形 式的if语句: 1.if(表达式)语句 例如: if(ab) printf( %d",a) 这种ⅱf语句的执行过程是:若表达式的值为真(非0),则执行语 句;若表达式为假(0),则不执行语句,继续后面语句的执行 Ba
第4章 选择和循环结构程序设计 4.4 选择结构的程序设计 C语言中用条件语句来设计选择结构的程序。条件语句有两个: 双分支的if语句和多分支的switch语句。根据不同情况,恰当 地使用它们,可以提高编程效率 4.4.1 if语句 if语句是用来判定所给定的条件是否满足,根据判定的结果 (真或假)决定执行给出的两种操作之一。C语言提供了三种形 式的if语句: 1.if(表达式) 语句 例如: if(a<b) printf(″%d″ ٫a); 这种if语句的执行过程是:若表达式的值为真(非0),则执行语 句 ;若表达式为假(0),则不执行语句,继续后面语句的执行