C语言程序设计基本语句和程序结构流程控制、执行gcd.pptx

上传人:jix****n11 文档编号:90090587 上传时间:2023-05-13 格式:PPTX 页数:44 大小:314.16KB
返回 下载 相关 举报
C语言程序设计基本语句和程序结构流程控制、执行gcd.pptx_第1页
第1页 / 共44页
C语言程序设计基本语句和程序结构流程控制、执行gcd.pptx_第2页
第2页 / 共44页
点击查看更多>>
资源描述

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

1、目 录基本语句关系运算符和关系表达式逻辑运算符和逻辑表达式分支程序设计循环程序设计基本语句(Statements)控制语句表达式语句函数调用语句空语句复合语句控制语句完成一定的控制功能C语言的9种控制语句n nif-elseif-elsen nwhilewhilen ncontinuecontinuen nswitchswitchn nreturnreturnn nforforn ndo-whiledo-whilen nbreakbreakn ngotogoto表达式语句形式n nexpressionexpression;n n表达式最后加一个分号表达式最后加一个分号举例n na=3;a=3;

2、/*/*赋值语句赋值语句*/*/n nz=x*y,z+;z=x*y,z+;/*/*一条语句一条语句*/*/n nx-y;x-y;/*/*语句,但无实际意义语句,但无实际意义*/*/n ni+;i+;/*/*语句语句*/*/n ni+i+/*/*表达式,不是语句表达式,不是语句*/*/函数调用语句形式n nfunctionfunction(argumentsarguments););n n函数调用后加一个分号函数调用后加一个分号n n函数调用语句可以看作一种表达式语句函数调用语句可以看作一种表达式语句举例n nprintf(%d,i);printf(%d,i);n ngetchar();getc

3、har();n nmyfun(a,b);myfun(a,b);空语句形式n n;n n只有一个分号只有一个分号用法n n作为转向点作为转向点n n作为循环语句中的循环体作为循环语句中的循环体举例n nfor(i=1;i=100;i+)sum+=i;for(i=1;i=100;i+)sum+=i;n nfor(i=1;i=100;sum+=i+);for(i=1;i y)/*复合语句开始*/t=x;x=y;y=t;/*复合语句结束*/printf(%d,%d,x,y);C语言语句使用说明除复合语句外,语句都以分号;作为结束语句书写格式比较自由,确定语句结束的唯一标准是分号(;)注意区分表达式和表

4、达式语句,它们的用法不同n n举例,举例,if(a=b)0)t=a;if(a=b)0)t=a;n n错例,错例,if(a=b;)0)t=a;if(a=b;)0)t=a;n n举例,举例,if(xy)x-;y+;if(xy)x-;y+;n n错例,错例,if(xy)x-;y+if(xy)x-;y+关系运算符(Relational Operators)运算符运算符名称名称举例举例优先级优先级(算术运算符算术运算符)小于小于i100i100高高=小于等于小于等于a=MAXa 大于大于f3.14f3.14=大于等于大于等于c=ac=a=等于等于a=ba=b低低!=!=不等于不等于x!=0 x!=0(赋

5、值运算符赋值运算符)关系表达式用关系运算符将两个表达式连接起来n na+bc+d,(a=3)xa+bc+d,(a=3)x注意区分等于(=)和赋值运算符(=)n na=b,a=ba=b,a=b关系表达式的值是逻辑值“真”或“假”n nC C语言用整型表示逻辑值,语言用整型表示逻辑值,“真真”1”1、“假假”0”0n n举例,举例,a=3,b=2,c=1;a=3,b=2,c=1;d=ab;d=ab;/*d=1*/*d=1*/f=abc;f=abc;/*f=(ab)c=0*/*f=(ab)c=0*/逻辑运算符(Logical Operators)运算符运算符名称名称举例举例优先级优先级!逻辑非逻辑非

6、!(ab)!(ab)(算术运算符算术运算符)(关系运算符关系运算符)&逻辑与逻辑与(xy)&(yz)(xy)&(yz)|逻辑或逻辑或(x3)|(x3)|(xb)&(n=cd)(m=ab)&(n=cd)De Morgan定理n n!(a&b)!(a&b)(!a)|(!b)(!a)|(!b)n n!(a|b)!(a|b)(!a)&(!b)(!a)&(!b)n n!(a&b)|c)!(a&b)|c)(!a|!b)&!c(!a|!b)&!c分支程序设计if语句条件运算符?:switch语句分支程序设计举例if语句的三种形式ifif(expressionexpression)statementstate

7、mentifif(expressionexpression)statementstatement1 1elseelse statementstatement2 2ifif(expressionexpression1 1)statementstatement1 1else ifelse if(expressionexpression2 2)statementstatement2 2else ifelse if(expressionexpression3 3)statementstatement3 3.else ifelse if(expressionexpressionn-1n-1)statem

8、entstatementn-1n-1elseelse statementstatementn nif语句的说明无论哪种形式,一条if语句,包括else或else if子句,只算作一条语句if语句中的子句,可以是一条任何类型的语句,包括表达式语句、空语句、复合语句、控制语句子句末尾的分号,只表示子句的结束,不表示if语句结束注意复合语句末尾没有分号else子句都是可以没有的if语句举例if(x y)/*y为x和y的较大值*/y=x;if(x y)/*d为x和y之间的距离*/d=x-y;else d=y-x;if(x y);/*合法,但没有实际操作*/if语句的嵌套if语句的各子句都可以又是if语

9、句应注意if-else的配对关系n nelseelse总是与其上面最近的总是与其上面最近的ifif配对配对n n可以用可以用明确明确if-elseif-else的配对关系的配对关系if(if(expexp1 1)if(if(expexp1 1)if(if(expexp2 2)if(if(expexp2 2)statementstatement1 1 statementstatement1 1 elseelseelseelse statementstatement2 2 statementstatement2 2条件运算符(Conditional Operator)条件运算符?:条件表达式n n

10、exp1?exp2:exp3exp1?exp2:exp3n n先判断先判断exp1exp1n n若若exp1exp1为为“真真”,表达式的值为,表达式的值为exp2exp2的值的值n n若若exp1exp1为为“假假”,表达式的值为,表达式的值为exp3exp3的值的值n n举例,举例,max=(xy)?x:y;max=(xy)?x:y;n n同:同:if(xy)max=x;if(xy)max=x;else max=y;else max=y;switch语句switch(expression)case const-exp:statementscase const-exp:statements.

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

12、tf(Tue.n);break;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);switch语句举例(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:

13、printf(其他学院n);分支程序设计举例求一元二次方程的根n n当当a a=0=0时,不是一元二次方程时,不是一元二次方程n n当当a a 0 0时,方程的根为时,方程的根为当当b b2 2-4-4acac 0 0,方程有两个实根,方程有两个实根当当b b2 2-4-4acac00,方程有两个共轭复根,方程有两个共轭复根例1:求一元二次方程的根循环程序设计while语句do-while语句for语句break和continue语句循环程序设计举例while语句while(expression)statementn nwhilewhile型循环型循环n n先判断表达式,后先判断表达式,后执行

14、语句执行语句n n一般情况下,循环一般情况下,循环中应含有能使循环中应含有能使循环语句结束的操作语句结束的操作statementabexpr.真真假假while语句举例int i,sum;i=1;sum=0;while(i=100)sum+=i;/*循环体缩进书写*/i+;/*使循环趋向结束*/do-while语句dostatementwhile(expression);n n类似于类似于UntilUntil型循环型循环n n先执行一次循环体先执行一次循环体语句,后判断表达语句,后判断表达式式statementabexpr.真真假假do-while语句举例int i,sum;i=1;sum=0

15、;do sum+=i;i+;while(i=100);do-while与Until型循环 do do sum+=i;sum+=i;i+;i+;whilewhile(i=100i100i100););UntilUntil型循环型循环型循环型循环for语句for(expr1;expr2;expr3)statementexpr1;while(expr2)statementexpr3;for语句的说明三个表达式的说明n nexprexpr1 1:初始化初始化n nexprexpr2 2:循环条件循环条件n nexprexpr3 3:一般是循环变量的改变一般是循环变量的改变三个表达式都可以省略n n分隔

16、表达式的分号不能省略分隔表达式的分号不能省略n nexprexpr1 1省略,不进行初始化省略,不进行初始化n nexprexpr2 2省略,认为循环条件永为省略,认为循环条件永为“真真”n nexprexpr3 3省略,不在这里改变循环变量省略,不在这里改变循环变量for语句举例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;break语句形式n nbreak;break;说明n n跳出跳出switchswitch语句语句n n跳出本层循环语句跳出

17、本层循环语句n n如果有多层循环存在,如果有多层循环存在,breakbreak只跳出它所在的只跳出它所在的那一层循环语句,不影响外层循环的执行那一层循环语句,不影响外层循环的执行n n不能用于循环语句和不能用于循环语句和switchswitch语句之外的任何语句之外的任何其他场合其他场合continue语句形式n ncontinue;continue;说明n n结束本次循环结束本次循环n n跳过循环体中余下的其他语句,接着进行下一跳过循环体中余下的其他语句,接着进行下一次循环的判定次循环的判定n n只能用于循环语句中只能用于循环语句中break和continue语句breakbreak语句语句n n跳出跳出本层本层本层本层循环循环 while(ij)while(i100)if(i100)breakbreak;.continuecontinue语句语句n n结束结束本次本次本次本次循环循环 while(ij)while(i100)if(i100)continuecontinue;.循环程序设计举例求最大公约数和最小公倍数例2:求最大公约数和最小公倍数结束The End演讲完毕,谢谢观看!

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

当前位置:首页 > 技术资料 > 施工组织

本站为文档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