C语言的基本语句和程序结构流程控制、执行.ppt

上传人:wuy****n92 文档编号:70103670 上传时间:2023-01-16 格式:PPT 页数:44 大小:249.99KB
返回 下载 相关 举报
C语言的基本语句和程序结构流程控制、执行.ppt_第1页
第1页 / 共44页
C语言的基本语句和程序结构流程控制、执行.ppt_第2页
第2页 / 共44页
点击查看更多>>
资源描述

《C语言的基本语句和程序结构流程控制、执行.ppt》由会员分享,可在线阅读,更多相关《C语言的基本语句和程序结构流程控制、执行.ppt(44页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、白 雪 飞中国科学技术大学电子科学与技术系Dept.of Elec.Sci.&Tech.,USTCFall,2003第第3章章 C语言的基本语句语言的基本语句和程序结构设计和程序结构设计目 录l基本语句l关系运算符和关系表达式l逻辑运算符和逻辑表达式l分支程序设计l循环程序设计2 2基本语句(Statements)l控制语句l表达式语句l函数调用语句l空语句l复合语句3 3控制语句l完成一定的控制功能lC语言的9种控制语句nif-elsenwhilencontinuenswitchnreturnnforndo-whilenbreakngoto4 4表达式语句l形式nexpression;n表达

2、式最后加一个分号l举例na=3;/*赋值语句*/nz=x*y,z+;/*一条语句*/nx-y;/*语句,但无实际意义*/ni+;/*语句*/ni+/*表达式,不是语句*/5 5函数调用语句l形式nfunction(arguments);n函数调用后加一个分号n函数调用语句可以看作一种表达式语句l举例nprintf(%d,i);ngetchar();nmyfun(a,b);6 6空语句l形式n;n只有一个分号l用法n作为转向点n作为循环语句中的循环体l举例nfor(i=1;i=100;i+)sum+=i;nfor(i=1;i y)/*复合语句开始*/t=x;x=y;y=t;/*复合语句结束*/p

3、rintf(%d,%d,x,y);9 9C语言语句使用说明l除复合语句外,语句都以分号;作为结束l语句书写格式比较自由,确定语句结束的唯一标准是分号(;)l注意区分表达式和表达式语句,它们的用法不同n举例,if(a=b)0)t=a;n错例,if(a=b;)0)t=a;n举例,if(xy)x-;y+;n错例,if(xy)x-;y+1010关系运算符(Relational Operators)运算符名称举例优先级(算术运算符)小于i100高=小于等于a大于f3.14=大于等于c=a=等于a=b低!=不等于x!=0(赋值运算符)1111关系表达式l用关系运算符将两个表达式连接起来na+bc+d,(a

4、=3)xl注意区分等于(=)和赋值运算符(=)na=b,a=bl关系表达式的值是逻辑值“真”或“假”nC语言用整型表示逻辑值,“真”1、“假”0n举例,a=3,b=2,c=1;d=ab;/*d=1*/f=abc;/*f=(ab)c=0*/1212逻辑运算符(Logical Operators)运算符名称举例优先级!逻辑非!(ab)(算术运算符)(关系运算符)&逻辑与(xy)&(yz)|逻辑或(x3)|(xb)&(n=cd)lDe Morgan定理n!(a&b)(!a)|(!b)n!(a|b)(!a)&(!b)n!(a&b)|c)(!a|!b)&!c1717分支程序设计lif语句l条件运算符?:

5、lswitch语句l分支程序设计举例1818if语句的三种形式if(expression)statementif(expression)statement1else statement2if(expression1)statement1else if(expression2)statement2else if(expression3)statement3.else if(expressionn-1)statementn-1else statementn1919if语句的说明l无论哪种形式,一条if语句,包括else或else if子句,只算作一条语句lif语句中的子句,可以是一条任何类型的语句

6、,包括表达式语句、空语句、复合语句、控制语句l子句末尾的分号,只表示子句的结束,不表示if语句结束l注意复合语句末尾没有分号lelse子句都是可以没有的2020if语句举例if(x y)/*y为x和y的较大值*/y=x;if(x y)/*d为x和y之间的距离*/d=x-y;else d=y-x;if(x y);/*合法,但没有实际操作*/2121if语句的嵌套lif语句的各子句都可以又是if语句l应注意if-else的配对关系nelse总是与其上面最近的if配对n可以用明确if-else的配对关系if(exp1)if(exp1)if(exp2)if(exp2)statement1 statem

7、ent1elseelse statement2 statement22222条件运算符(Conditional Operator)l条件运算符?:l条件表达式nexp1?exp2:exp3n先判断exp1n若exp1为“真”,表达式的值为exp2的值n若exp1为“假”,表达式的值为exp3的值n举例,max=(xy)?x:y;n同:if(xy)max=x;else max=y;2323switch语句switch(expression)case const-exp:statementscase const-exp:statements.case const-exp:statementsdef

8、ault:statements2424switch语句的说明l先求switch后表达式的值,若此值与某个case后的常量表达式的值相等,则跳转到这个case后的语句;若没有相等的常量表达式,则跳转到defaultl跳转后程序一直往下执行,不会因为遇到另一个case而直接跳出switchl根据实际需要,可以没有defaultl若需要跳出switch,可使用break语句lcase和default的顺序不影响执行结果2525switch语句举例(1)switch(day)/*打印星期的缩写*/case 1:printf(Mon.n);break;case 2:printf(Tue.n);break

9、;case 3:printf(Wed.n);break;case 4:printf(Thu.n);break;case 5:printf(Fri.n);break;case 6:printf(Sat.n);break;default:printf(Sun.n);2626switch语句举例(2)switch(deptno)/*根据系编号打印学院*/case 15:case 16:case 17:printf(商学院n);break;case 18:case 25:printf(人文学院n);break;case 7:printf(地空学院n);break;default:printf(其他学院

10、n);2727分支程序设计举例l求一元二次方程的根n当a=0时,不是一元二次方程n当a0时,方程的根为当b2-4ac0,方程有两个实根当b2-4ac0,方程有两个共轭复根2828例1:求一元二次方程的根2929循环程序设计lwhile语句ldo-while语句lfor语句lbreak和continue语句l循环程序设计举例3030while语句while(expression)statementnwhile型循环n先判断表达式,后执行语句n一般情况下,循环中应含有能使循环语句结束的操作statementabexpr.真真假假3131while语句举例int i,sum;i=1;sum=0;wh

11、ile(i=100)sum+=i;/*循环体缩进书写*/i+;/*使循环趋向结束*/3232do-while语句dostatementwhile(expression);n类似于Until型循环n先执行一次循环体语句,后判断表达式statementabexpr.真真假假3333do-while语句举例int i,sum;i=1;sum=0;do sum+=i;i+;while(i=100);3434do-while与Until型循环 do sum+=i;i+;while(i100);Until型循环型循环3535for语句for(expr1;expr2;expr3)statementexpr1

12、;while(expr2)statementexpr3;3636for语句的说明l三个表达式的说明nexpr1:初始化nexpr2:循环条件nexpr3:一般是循环变量的改变l三个表达式都可以省略n分隔表达式的分号不能省略nexpr1省略,不进行初始化nexpr2省略,认为循环条件永为“真”nexpr3省略,不在这里改变循环变量3737for语句举例int i,sum;for(i=1,sum=0;i=100;i+)sum+=i;for(i=1,sum=0;i=100;)sum+=i+;for(i=0,sum=0;i+100;)sum+=i;3838break语句l形式nbreak;l说明n跳出

13、switch语句n跳出本层循环语句n如果有多层循环存在,break只跳出它所在的那一层循环语句,不影响外层循环的执行n不能用于循环语句和switch语句之外的任何其他场合3939continue语句l形式ncontinue;l说明n结束本次循环n跳过循环体中余下的其他语句,接着进行下一次循环的判定n只能用于循环语句中4040break和continue语句lbreak语句n跳出本层本层循环 while(i100)break;.lcontinue语句n结束本次本次循环 while(i100)continue;.4141循环程序设计举例l求最大公约数和最小公倍数4242例2:求最大公约数和最小公倍数4343结束The End4444

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com