资源描述:
《C语言程序设计 课件 5》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章程序控制结构8/6/20211杭州电子科技大学计算机学院第5章程序控制结构5.1复合语句5.2条件控制语句5.2.1 if语句5.2.2switch语句5.3循环控制语句5.3.1while语句5.3.2do-while语句5.3.3for语句5.3.4循环小结5.4辅助控制语句5.4.1break与continue语句5.4.2goto语句5.4.3函数调用和return语句5.5程序举例5.5.1穷举5.5.2迭代8/6/20212杭州电子科技大学计算机学院5.1复合语句可以用一对花括号{}把一组说明和语句括在一起构成一个复合语句(也叫分程序),它的一般形式如下:{[数据说明
2、部分;]执行语句部分;}复合语句在语法上等价于单个语句,可以用在单个语句可能出现的所有地方。8/6/20213杭州电子科技大学计算机学院5.2条件控制语句选择结构分为if-else结构与switch-case结构。5.2.1 if语句1.if语句的简单形式if(表达式)语句其中表达式不限于逻辑表达式或关系表达式,可以是各种表达式,如算术表达式等。当表达式的值为非零时,结果为“真”;当表达式的值为零时,结果为“假”。图5-1if语句执行过程程图语句表达式假(0)真(非0)8/6/20214杭州电子科技大学计算机学院5.2.1if语句例5-1判断一个数是偶数还是奇数。源程序如下:#incl
3、udeintmain(void){intn,rem;printf("enteranumber:");scanf("%d",&n);rem=n%2;if(rem==0)printf("thenumber%disanevennumber",n);if(rem!=0)printf("thenumber%disanoddnumber!",n);return0;}8/6/20215杭州电子科技大学计算机学院if-else结构if-else结构的基本形式是:if(表达式)语句1else语句2当表达式的结果为真(非零)时,执行语句1,执行完后跳到下一语句。当表达式的结果为假
4、(零)时,执行语句2,执行完后顺序执行下一语句。图5-2if-else语句执行过程图语句1语句2表达式真(非0)假(0)8/6/20216杭州电子科技大学计算机学院if-else结构例5-1可以改写为:#includeintmain(void){intn,rem;printf("enteranumber:");scanf("%d",&n);rem=n%2;if(rem==0)printf(“thenumber%disanevennumber”,n);elseprintf(“thenumber%disanoddnumber!”,n);return0;}被2除余数
5、r=0?开始读入一个数显示奇数显示偶数停止否是8/6/20217杭州电子科技大学计算机学院if-else结构例5-2例1-1的程序实现,即输入三个数,然后输出其中最大的数。#includeintmain(void){intnum1,num2,num3,max;printf("Pleaseinputthreenumbers:");scanf("%d,%d,%d",&num1,&num2,&num3);//输入三个整数if(num1>num2)//比较num1和num2,将大的数赋给maxmax=num1;elsemax=num2;if(num3>max)//比较num3
6、和max,将大的数赋给maxmax=num3;printf("Thethreenumbersare:%d,%d,%d",num1,num2,num3);printf("max=%d",max);return0;}8/6/20218杭州电子科技大学计算机学院else-if结构else-if结构的形式如下:if(表达式1)语句1elseif(表达式2)语句2elseif(表达式3)语句3…………elseif(表达式n)语句nelse语句n+1条件1语句1非0=0条件2条件3语句n语句3语句2非0非0=0=08/6/20219杭州电子科技大学计算机学院else-if结构说明:(1)在
7、else-if结构中,if语句…elseif语句…else语句属于同一程序模块。每运行一次程序,仅有一个分支的语句能得到执行。(2)各个表达式所表示的条件必须是互斥的,也就是说,只有条件1(表达式1)不满足时才会判断条件2,只有条件2也不满足时才会判断条件3,依次类推。只有所有条件都不满足时才执行最后的else语句。例如:if(salary>1000)//当salary>1000时,index取值为0.4index=0.4;elseif(sal