欢迎来到天天文库
浏览记录
ID:45371545
大小:663.00 KB
页数:79页
时间:2019-11-12
《UNIT02控制流和函数》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、UNIT2控制流和函数主讲人:谭成予副教授武汉大学计算机学院本讲内容提纲选择结构:if和switch循环语句:for、while和do-while跳转语句:break、continue函数的定义和调用函数之间的数据通信递归函数变量的作用域和存储类别1、选择结构重要知识点:if和else的后面只能写单条语句;if后面的表达式可以是任意数据类型,非零表示“真”,零表示“假”;if的嵌套使用;switch语句的表达式应该是可枚举类型;break语句在switch中的使用通常和循环结构一起考核,例如程序阅读题和编程题;1.1、i
2、f语句(双分支)if(expression)statement1;elsestatement2;expressionYNstatement1statement2expressionstatement1statement2YNstatement1和statement2只能是一条语句,或者块语句,或者是空语句;expression取值非零(真),执行statement1;expression取值零(假),执行statement21.1、if语句范例程序定义n、m,分别表示输入整数、余数;打印程序标题提示用户输入整数n输入n并
3、回显判断n是否13的倍数,如果是,执行7;否则执行8。输出整数n是13的倍数;转9。输出整数n不是13的倍数;转9。程序结束。例题1:从终端接收输入的一个整数,判断该整数是否是13的倍数。1.1、if语句范例程序/*输入整数,判断是否13的倍数。源程序:LT4-1.C*/#include#includeintmain(void){intn;/*用户输入的整数*/intm;/*n的余数*/printf("欢迎使用13的倍数判断程序");printf("请输入一个整数:");sc
4、anf("%d",&n);m=n%13;if(m==0)printf("%d是13的倍数",n);elseprintf("%d不是13的倍数",n);system("PAUSE");return0;}欢迎使用13的倍数判断程序请输入一个整数:14↙14不是13的倍数请按任意键继续…1.2、if语句(单分支)if(expression)statement1;expressionYNstatement1expressionstatement1YNstatement1和statement2只能是一条语句,或者块语句,或
5、者是空语句;expression取值非零(真),执行statement1;expression取值零(假),执行if后面的语句1.3、嵌套if语句if(表达式1)if(表达式2)语句1else语句2elseif(表达式3)语句3else语句4嵌套if实例一表达式1YN表达式2语句1表达式3语句2语句3语句4YYNNC89规定:编译程序至少应该支持15层if嵌套;C99提高到127层。多数编译程序支持远大于15层嵌套。1.3、嵌套if语句if(表达式1){if(表达式2)语句1}else语句2嵌套if实例二if(表达式1)
6、if(表达式2)语句1else语句2表达式1YN表达式2语句1YN语句2表达式1YN表达式2语句1YN语句21.2、switch语句switch(expression){caseconstant1:statementsequencebreak;caseconstant2:statementsequencebreak;……default:statementsequence}break:跳出case分支的跳转语句,必不可少。1.2、switch语句switch(expression){caseconstant1:statem
7、entsequencebreak;caseconstant2:statementsequencebreak;……default:statementsequence}expression:字符型或整型表达式;caseconstant:case后面只能为常量表达式;当表达式的值与case后面的常量表达式值相等时就执行此case后面的语句.1.2、switch语句(三个使用要点)switch(expression){caseconstant1:statementsequencebreak;caseconstant2:state
8、mentsequencebreak;……default:statementsequence}switch只能测试是否相等,不能测试关系或逻辑表达式。各个case常量必须各异。遇第一个相等的case常量分支之后,顺序向下执行,不再进行相等与否的判断。/*break语句在switch中的应用,错误版本。源程序:LT4-6
此文档下载收益归作者所有