欢迎来到天天文库
浏览记录
ID:39963480
大小:530.81 KB
页数:66页
时间:2019-07-16
《c语言讲义第03章-控制语句》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章控制语句《C语言程序设计》主要内容控制语句简介if…else语句Switch…Casefor语句while、do…while语句break、continue语句特别的goto语句多重循环小结控制语句控制语句是C语言中非常重要的语句,用来实现结构程序设计中的选择和循环结构。C语言主要有八种控制语句。可分成以下三类:(1)选择控制语句:if…else语句,switch…case语句(2)循环控制语句:for语句,while语句,dowhile语句(3)转移控制语句:break语句,continue语句,goto语句3.1if…else语句if…else语
2、句判定所给的条件是否满足,根据判定的结果选择执行两种操作之一执行。if…else语句的三种形式if(表达式)语句if(表达式)语句1else语句2if(表达式1)语句1elseif(表达式2)语句2elseif(表达式3)语句3…elseif(表达式n)语句nelse语句n+1形式1:if(表达式)语句功能:这种形式的语句无else部分,它的功能是首先对表达式进行求解,若表达式的值为非0,则执行语句;若表达式的值为0,则该语句不起作用,不执行,而继续执行if语句下面的语句。例如:if(a>b)printf("themaxis%d",a);当a>b为真时,打
3、印输出a的值,否则什么也不执行。3.1if…else语句三种形式之一exprstatement非0=0形式2:if(表达式)语句1else语句2功能:首先对表达式进行求解,若表达式的值为非0,则执行语句1,否则执行语句2。例如:if(a>b)printf("themaxis%d",a);elseprintf("themaxis%d",b);当a>b为真时,打印输出a的值,否则打印输出b的值。3.1if…else语句三种形式之二exprstatement1statement2非0=0形式3:if(表达式1)语句1elseif(表达式2)语句2elseif(表
4、达式3)语句3…elseif(表达式n)语句nelse语句n+13.1if…else语句三种形式之三expr1statemnt1非0=0expr2expr3statemntnstatemnt3statemnt2非0非0=0=0功能:依次判断表达式的值,当出现某个值为非0时,则执行其对应的语句。然后跳到整个if语句之外继续执行程序。如果所有的表达式均为假,则执行语句n+1。然后继续执行后续程序。前二种形式的if…else语句一般都用于两个分支的情况。当有多个分支选择时,可采用第3种形式if…else语句。例如:if(grade>=80)printf("A")
5、;elseif(grade>=70)printf("B");elseif(grade>=60)printf("C");elseprintf("D");3.1if…else语句三种形式之三注意事项:1、在if后面的表达式,其类型可以是任意的(整形、实型、字符型、指针型),C语言在判断时只要非0,就认为是真,按真处理,只有0时才认为是假,按假处理。因此,而不仅仅限于逻辑表达式或关系表达式。3.1if…else语句注意事项如:if(a==b&&x==y)printf(“a=b,x=y”);if(3)printf(“OK”);if(‘a’)printf(“%d”,
6、’a’);2、C语句必须在最后出现分号,分号是语句中不可缺少的一部分,因此if和else后面的语句都必须有分号。例如:if(a>b)printf("themaxis%d",a);elseprintf("themaxis%d",b);3.1if…else语句注意事项3.1if…else语句注意事项语句可以是复合语句if(x)if(x!=0)if(!x)if(x==0)在每个else前面有一分号,整个语句结束处有一分号在if或else后可有多个操作语句,此时需加{}将几个语句括起来成为一个复合语句。例考虑下面程序的输出结果:#include7、>main(){intx,y;scanf(“%d,%d”,&x,&y);if(x>y)x=y;y=x;elsex++;y++;printf(“%d,%d”,x,y);}CompileError!例3.1接收任意输入的两个实数,按从大到小的顺序输出。程序如下:3.1if…else语句举例例3.3要求判别键盘输入字符的类别。可以根据输入字符的ASCII码来判别类型。由ASCII码表可知ASCII值小于32的为控制字符。在‘0’和‘9’之间的为数字,在’A’和’Z’之间为大写字母,在’a’和’z’之间为小写字母,其余则为其它字符。这是一个多分支选择的问题,可8、采用第3种形式的.程序如下:3.1if…else语句举例/*lt0
7、>main(){intx,y;scanf(“%d,%d”,&x,&y);if(x>y)x=y;y=x;elsex++;y++;printf(“%d,%d”,x,y);}CompileError!例3.1接收任意输入的两个实数,按从大到小的顺序输出。程序如下:3.1if…else语句举例例3.3要求判别键盘输入字符的类别。可以根据输入字符的ASCII码来判别类型。由ASCII码表可知ASCII值小于32的为控制字符。在‘0’和‘9’之间的为数字,在’A’和’Z’之间为大写字母,在’a’和’z’之间为小写字母,其余则为其它字符。这是一个多分支选择的问题,可
8、采用第3种形式的.程序如下:3.1if…else语句举例/*lt0
此文档下载收益归作者所有