《c语言基本语句.ppt》由会员分享,可在线阅读,更多相关《c语言基本语句.ppt(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、白 雪 飞中国科学技术大学电子科学与技术系Dept.of Elec.Sci.&Tech.,USTCFall,2003第第3章章 C语言的基本语句语言的基本语句和程序结构设计和程序结构设计目 录l基本语句l关系运算符和关系表达式l逻辑运算符和逻辑表达式l分支程序设计l循环程序设计2 2C C语言程序设计语言程序设计-第第3 3章章 C C语言的基本语句和程序结构设计语言的基本语句和程序结构设计基本语句(Statements)l控制语句l表达式语句l函数调用语句l空语句l复合语句3 3C C语言程序设计语言程序设计-第第3 3章章 C C语言的基本语句和程序结构设计语言的基本语句和程序结构设计控制
2、语句l完成一定的控制功能lC语言的9种控制语句nif-elsenwhilencontinuenswitchnreturnnforndo-whilenbreakngoto4 4C C语言程序设计语言程序设计-第第3 3章章 C C语言的基本语句和程序结构设计语言的基本语句和程序结构设计表达式语句l形式nexpression;n表达式最后加一个分号l举例na=3;/*赋值语句*/nz=x*y,z+;/*一条语句*/nx-y;/*语句,但无实际意义*/ni+;/*语句*/ni+/*表达式,不是语句*/5 5C C语言程序设计语言程序设计-第第3 3章章 C C语言的基本语句和程序结构设计语言的基本语
3、句和程序结构设计函数调用语句l形式nfunction(arguments);n函数调用后加一个分号n函数调用语句可以看作一种表达式语句l举例nprintf(%d,i);ngetchar();nmyfun(a,b);6 6C C语言程序设计语言程序设计-第第3 3章章 C C语言的基本语句和程序结构设计语言的基本语句和程序结构设计空语句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;/*复合语句结束*/printf(%d,%d,x,y);9 9C C语言
4、程序设计语言程序设计-第第3 3章章 C C语言的基本语句和程序结构设计语言的基本语句和程序结构设计C语言语句使用说明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+1010C C语言程序设计语言程序设计-第第3 3章章 C C语言的基本语句和程序结构设计语言的基本语句和程序结构设计关系运算符(Relational Operators)运算符名称举例优先级(算术运算符)小于
5、i100高=小于等于a大于f3.14=大于等于c=a=等于a=b低!=不等于x!=0(赋值运算符)1111C C语言程序设计语言程序设计-第第3 3章章 C C语言的基本语句和程序结构设计语言的基本语句和程序结构设计关系表达式l用关系运算符将两个表达式连接起来na+bc+d,(a=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*/1212C C语言程序设计语言程序设计-第第3 3章章 C C语言的基本语句和程序
6、结构设计语言的基本语句和程序结构设计逻辑运算符(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)&!c1717C C语言程序设计语言程序设计-第第3 3章章 C C语言的基本语句和程序结构设计语言的基本语句和程序结构设计分支程序设计lif语句l条件运算符?:lswitch语句l分支程序设计举例1818C C语言程序设计语言程序设计-第第3 3章章 C C语
7、言的基本语句和程序结构设计语言的基本语句和程序结构设计if语句的三种形式if(expression)statementif(expression)statement1else statement2if(expression1)statement1else if(expression2)statement2else if(expression3)statement3.else if(expressionn-1)statementn-1else statementn1919C C语言程序设计语言程序设计-第第3 3章章 C C语言的基本语句和程序结构设计语言的基本语句和程序结构设计if语句的说明l
8、无论哪种形式,一条if语句,包括else或else if子句,只算作一条语句lif语句中的子句,可以是一条任何类型的语句,包括表达式语句、空语句、复合语句、控制语句l子句末尾的分号,只表示子句的结束,不表示if语句结束l注意复合语句末尾没有分号lelse子句都是可以没有的2020C C语言程序设计语言程序设计-第第3 3章章 C C语言的基本语句和程序结构设计语言的基本语句和程序结构设计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);/*合法,但没有实际操作*/2121C C语言程序设计语言
9、程序设计-第第3 3章章 C C语言的基本语句和程序结构设计语言的基本语句和程序结构设计if语句的嵌套lif语句的各子句都可以又是if语句l应注意if-else的配对关系nelse总是与其上面最近的if配对n可以用明确if-else的配对关系if(exp1)if(exp1)if(exp2)if(exp2)statement1 statement1elseelse statement2 statement22222C C语言程序设计语言程序设计-第第3 3章章 C C语言的基本语句和程序结构设计语言的基本语句和程序结构设计条件运算符(Conditional Operator)l条件运算符?:l条
10、件表达式nexp1?exp2:exp3n先判断exp1n若exp1为“真”,表达式的值为exp2的值n若exp1为“假”,表达式的值为exp3的值n举例,max=(xy)?x:y;n同:if(xy)max=x;else max=y;2323C C语言程序设计语言程序设计-第第3 3章章 C C语言的基本语句和程序结构设计语言的基本语句和程序结构设计switch语句switch(expression)case const-exp:statementscase const-exp:statements.case const-exp:statementsdefault:statements2424C
11、 C语言程序设计语言程序设计-第第3 3章章 C C语言的基本语句和程序结构设计语言的基本语句和程序结构设计switch语句的说明l先求switch后表达式的值,若此值与某个case后的常量表达式的值相等,则跳转到这个case后的语句;若没有相等的常量表达式,则跳转到defaultl跳转后程序一直往下执行,不会因为遇到另一个case而直接跳出switchl根据实际需要,可以没有defaultl若需要跳出switch,可使用break语句lcase和default的顺序不影响执行结果2525C C语言程序设计语言程序设计-第第3 3章章 C C语言的基本语句和程序结构设计语言的基本语句和程序结构
12、设计switch语句举例(1)switch(day)/*打印星期的缩写*/case 1:printf(Mon.n);break;case 2:printf(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);2626C C语言程序设计语言程序设计-第第3 3章章 C C语言的基本语句和程序结构设计语言的基本语句和程序结构设计switch语句举例(2)switch(
13、deptno)/*根据系编号打印学院*/case 15:case 16:case 17:printf(商学院n);break;case 18:case 25:printf(人文学院n);break;case 7:printf(地空学院n);break;default:printf(其他学院n);2727C C语言程序设计语言程序设计-第第3 3章章 C C语言的基本语句和程序结构设计语言的基本语句和程序结构设计分支程序设计举例l求一元二次方程的根n当a=0时,不是一元二次方程n当a0时,方程的根为当b2-4ac0,方程有两个实根当b2-4ac0,方程有两个共轭复根2828C C语言程序设计语言
14、程序设计-第第3 3章章 C C语言的基本语句和程序结构设计语言的基本语句和程序结构设计例1:求一元二次方程的根2929C C语言程序设计语言程序设计-第第3 3章章 C C语言的基本语句和程序结构设计语言的基本语句和程序结构设计循环程序设计lwhile语句ldo-while语句lfor语句lbreak和continue语句l循环程序设计举例3030C C语言程序设计语言程序设计-第第3 3章章 C C语言的基本语句和程序结构设计语言的基本语句和程序结构设计while语句while(expression)statementnwhile型循环n先判断表达式,后执行语句n一般情况下,循环中应含有能
15、使循环语句结束的操作statementabexpr.真真假假3131C C语言程序设计语言程序设计-第第3 3章章 C C语言的基本语句和程序结构设计语言的基本语句和程序结构设计while语句举例int i,sum;i=1;sum=0;while(i=100)sum+=i;/*循环体缩进书写*/i+;/*使循环趋向结束*/3232C C语言程序设计语言程序设计-第第3 3章章 C C语言的基本语句和程序结构设计语言的基本语句和程序结构设计do-while语句dostatementwhile(expression);n类似于Until型循环n先执行一次循环体语句,后判断表达式statementa
16、bexpr.真真假假3333C C语言程序设计语言程序设计-第第3 3章章 C C语言的基本语句和程序结构设计语言的基本语句和程序结构设计do-while语句举例int i,sum;i=1;sum=0;do sum+=i;i+;while(i=100);3434C C语言程序设计语言程序设计-第第3 3章章 C C语言的基本语句和程序结构设计语言的基本语句和程序结构设计do-while与Until型循环 do sum+=i;i+;while(i100);Until型循环型循环3535C C语言程序设计语言程序设计-第第3 3章章 C C语言的基本语句和程序结构设计语言的基本语句和程序结构设计f
17、or语句for(expr1;expr2;expr3)statementexpr1;while(expr2)statementexpr3;3636C C语言程序设计语言程序设计-第第3 3章章 C C语言的基本语句和程序结构设计语言的基本语句和程序结构设计for语句的说明l三个表达式的说明nexpr1:初始化nexpr2:循环条件nexpr3:一般是循环变量的改变l三个表达式都可以省略n分隔表达式的分号不能省略nexpr1省略,不进行初始化nexpr2省略,认为循环条件永为“真”nexpr3省略,不在这里改变循环变量3737C C语言程序设计语言程序设计-第第3 3章章 C C语言的基本语句和程
18、序结构设计语言的基本语句和程序结构设计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;3838C C语言程序设计语言程序设计-第第3 3章章 C C语言的基本语句和程序结构设计语言的基本语句和程序结构设计break语句l形式nbreak;l说明n跳出switch语句n跳出本层循环语句n如果有多层循环存在,break只跳出它所在的那一层循环语句,不影响外层循环的执行n不能用于循环语句和switch语句之外的任何其他场合3939C C语言程
19、序设计语言程序设计-第第3 3章章 C C语言的基本语句和程序结构设计语言的基本语句和程序结构设计continue语句l形式ncontinue;l说明n结束本次循环n跳过循环体中余下的其他语句,接着进行下一次循环的判定n只能用于循环语句中4040C C语言程序设计语言程序设计-第第3 3章章 C C语言的基本语句和程序结构设计语言的基本语句和程序结构设计break和continue语句lbreak语句n跳出本层本层循环 while(i100)break;.lcontinue语句n结束本次本次循环 while(i100)continue;.4141C C语言程序设计语言程序设计-第第3 3章章 C C语言的基本语句和程序结构设计语言的基本语句和程序结构设计循环程序设计举例l求最大公约数和最小公倍数4242C C语言程序设计语言程序设计-第第3 3章章 C C语言的基本语句和程序结构设计语言的基本语句和程序结构设计例2:求最大公约数和最小公倍数4343C C语言程序设计语言程序设计-第第3 3章章 C C语言的基本语句和程序结构设计语言的基本语句和程序结构设计结束The End4444C C语言程序设计语言程序设计-第第3 3章章 C C语言的基本语句和程序结构设计语言的基本语句和程序结构设计
限制150内