资源描述:
《第3章 选择结构程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、3.3选择结构程序设计C程序设计案例教程清华&北京交通大学出版社宗小翀袁启昌主编3.1C语言基本语句简介C语句:以“;”作分隔符,编译后产生机器指令。C语句分类表达式语句:表达式加分号构成。空语句:;程序控制语句(9种)函数调用语句if()~else~switchfor()~while()~do~while()continuebreakgotoreturn分支循环辅助控制如t=t+i;a=3;func();printf(“Hello!”);复合语句:用{}括起来的一组语句一般形式:{[数据说明部分;]执行语句部分;}说明:“}”后不加分号语法上和单一语句相同复合语句可嵌套
2、例:{z=x+y;t=z/100;pritnf(“%f”,t);}AB顺序结构顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的。语句执行的顺序就是书写的顺序。以前我们所编写的程序,都是我们一起来回忆:条件表达式一般形式:表达式1?表达式2:表达式3例if(a>b)printf(“%d”,a);elseprintf(“%d”,b);printf(“%d”,a>b?a:b);表达式1表达式2表达式3非0=0选择型程序设计——if语句(条件选择语句)if语句最简单形式格式:if(表达式)语句执行过程:例:if(x>y)printf(“%d”,x);真(非
3、0)假(0)表达式语句先对表达式求解,若表达式的值不为0,则执行语句,否则不执行如:if(3)printf("OK");说明:if后面的表达式类型任意(包括整型、实型、字符型)语句可以是多个操作语句,此时要用{}将几个语句括起来,成为一个复合语句。例考虑下面程序的输出结果:#includemain(){intx,y;scanf("%d%d",&x,&y);if(x>y)x++;y++;printf("%d,%d",x,y);}不能实现预想的效果#includemain(){intx;printf(“请输入一个整数:");scanf("%d
4、",&x);if(x<0)x=-x;printf("%d",x);}例用户输入一个整数,输出它的绝对值。运行:请输入一个数:-1212程序分析:输入是可能是正数、0或者负数,如果输入的是正数或者0的话,原样输出,如果是负数的话,要输出他的相反数。练习:输入两个实数,按从小到大的顺序输出。程序分析:输出两个数a,b,如果ab,则要交换a,b,再输出。main(){floata,b,t;scanf("%d%d",&a,&b);if(a>b){t=a;a=b;b=t;}printf(“%d,%d",a,b);}选择结构第二次课1、熟练掌握if语句的3种形式与使
5、用,并理解if语句嵌套的二义性;2、熟练掌握switch语句的使用方法;3、了解用条件运算符实现选择的方法;4、通过比较几种选择结构实现方法,了解各种选择结构的特性;5、学会选择结构程序的综合运用。选择型程序设计if语句(选择执行语句)if语句的三种形式形式一:格式:if(表达式)语句表达式语句非0=0例:if(x>y)printf(“%d”,x);表达式语句1语句2非0=0形式二(条件执行语句)格式:if(表达式)语句1else语句2例:if(x>y)max=x;elsemax=y;如:if(a==b&&x==y)printf(“a=b,x=y”);if(3)printf(“
6、OK”);if(‘a’)printf(“%d”,’a’);说明:if后面的表达式类型任意语句可以是复合语句例考虑下面程序的输出结果:#includemain(){intx,y;scanf(“%d,%d”,&x,&y);if(x>y)x=1;y=1;elsex++;y++;printf(“%d,%d”,x,y);}CompileError!如果输入1,2,则程序的输出结果是?#includemain(){inta,b;printf(“Entera,b:");scanf("%d%d",&a,&b);if(a==b)printf("a==b
7、");elseprintf("a!=b");}例输入两个数并判断两数是否相等输入:Entera,b:1212则输出为:输入:Entera,b:129则输出为:a==ba!=b形式三:格式:if(表达式1)语句1elseif(表达式2)语句2elseif(表达式3)语句3…...[else语句n]表达式1语句1非0=0表达式2表达式3语句n语句3语句2非0非0=0=0执行过程:例:if(salary>1000)index=0.4;elseif(salary>800)index=0.3;