C语言程序设计(第三版) 丁亚涛 第4章 选择结构程序设计新.ppt
文本预览下载声明
第4章 选择结构程序设计 掌握关系表达式和逻辑表达式的组成及运算 理解选择结构(分支结构)程序设计的概念 掌握if语句、switch语句的基本结构及执行过程 学会简单的选择结构程序设计 4.1 关系运算符与关系表达式 4.1.1 关系运算符 关系运算符 、=、、= ==、!= 优先级 = =、!= ? 、=、、= ? 算术运算符 结合性 左结合 abc 等价于 (ab)c a!=bc 等价于 a!=(bc) 4.1 关系运算符与关系表达式 关系表达式 ab a+1 != b 3.1415 = = 3.1416 345 a=100 a99 4.2 逻辑运算符与逻辑表达式 4.2.1 逻辑运算符 逻辑运算符 !(逻辑非)、(逻辑与)、||(逻辑或) 4.2 逻辑运算符与逻辑表达式 优先级 逻辑或运算符(||) ?逻辑与运算符() ?关系运算符 ?双目算术运算符(+、-、*、/、%等) ?逻辑非运算符(!)、单目算术运算符(++、--等) 结合性 非运算符(!)的结合性为右结合;与运算符()和或运算符(||)的结合性为左结合。 【例4-1】分析下面程序段的运行结果 #include stdio.h void main() { char c; int a,b; c=A; a=1; b=2; printf(c\B\=%d\n,cB); printf(ab2=%d\n,ab2); } 逻辑运算符的“短路”现象 若运算符左边的表达式为假(或0),则其右边的表达式将不再运算 ,整个表达式的值必然为假 若||运算符左边的表达式为真(或非0值),则其右边的表达式将不再运算 ,整个表达式的值必然为真 35 || ++b 【例4-2】测试短路现象 #include stdio.h void main() { int a,b; a=b=0; a || ++b; printf(%d,%d\n,a,b); a=b=1; a || ++b; printf(%d,%d\n,a,b); a=b=0; a ++b; printf(%d,%d\n,a,b); a=b=1; a ++b; printf(%d,%d\n,a,b); } *【例4-3】测试短路现象 #include stdio.h int show(int n,int a) { printf((%d,%d),n,a); return a; } void main() { int a; a = show(1,1) || show(2,2) show(3,3); printf(a=%d\n,a); a = show(1,0) || show(2,0) show(3,1); printf(a=%d\n,a); a = show(1,0) || show(2,1) show(3,2); printf(a=%d\n,a); } 4.3 if语句 4.3.1 单分支if语句 if (表达式) 语句; 【例4-4】从键盘输入一个整数,判断是否是偶数,若是,则输出“Yes”。 #include stdio.h void main() { int a; printf(Please input a:); scanf(%d,a); if(a%2==0) printf(Yes\n); } 4.3 if语句 4.3.2 双分支if语句 形式为: if(表达式) 语句1; else 语句2; 【例4-5】从键盘输入一个整数,判断是否是偶数,若是,则输出“Yes”,否则输出“No” #include stdio.h void main() { int a; printf(Please input a:); scanf(%d,a); if(a%2==0) printf(Yes\n); else printf(No\n); } 【例4-6】从键盘输入两个整数,输出其中最大者 #include stdio.h void main() { int a,b; printf(Please input a,b:); scanf(%d,%d,a,b); if(ab) printf(max=%d\n,a); else printf(max=%d\n,b); } 4.3.3 多分支选择结构 多分支选择结构的if语句一般形式为: if(表达式1) 语句1; else if (表达式2) 语句2; … else if (表达式n) 语句n; e
显示全部