第3章 C语言的基本语句和程序结构设计.ppt

上传人:progressking105 文档编号:388486 上传时间:2018-10-12 格式:PPT 页数:44 大小:202.50KB
下载 相关 举报
第3章 C语言的基本语句和程序结构设计.ppt_第1页
第1页 / 共44页
第3章 C语言的基本语句和程序结构设计.ppt_第2页
第2页 / 共44页
第3章 C语言的基本语句和程序结构设计.ppt_第3页
第3页 / 共44页
第3章 C语言的基本语句和程序结构设计.ppt_第4页
第4页 / 共44页
第3章 C语言的基本语句和程序结构设计.ppt_第5页
第5页 / 共44页
亲,该文档总共44页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、第3章 C语言的基本语句 和程序结构设计,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,2,目 录,基本语句 关系运算符和关系表达式 逻辑运算符和逻辑表达式 分支程序设计 循环程序设计,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,3,基本语句 (Statements),控制语句 表达式语句 函数调用语句 空语句 复合语句,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,4,控制语句,完成一定的控制功能 C语言的9种控制语句 if-else while continue switch return,for do-while break goto,C语言程

2、序设计 - 第3章 C语言的基本语句和程序结构设计,5,表达式语句,形式 expression; 表达式最后加一个分号 举例 a=3; /* 赋值语句 */ z=x*y, z+; /* 一条语句 */ x-y; /* 语句,但无实际意义 */ i+; /* 语句 */ i+ /* 表达式,不是语句 */,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,6,函数调用语句,形式 function(arguments); 函数调用后加一个分号 函数调用语句可以看作一种表达式语句 举例 printf(“%d“, i); getchar(); myfun(a, b);,C语言程序设计 - 第

3、3章 C语言的基本语句和程序结构设计,7,空语句,形式 ; 只有一个分号 用法 作为转向点 作为循环语句中的循环体 举例 for(i=1; i=100; i+) sum+=i; for(i=1; i=100; sum+=i+);,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,8,复合语句 (块语句,Block),形式 statements 用把若干条语句组合成为一个复合语句 内可以没有任何语句,可以只有一条语句,也可以有多条语句 可以包括复合语句、空语句、控制语句等 用法 一个复合语句当作一条语句来使用 需要把多条语句放在只允许一条语句的场合,C语言程序设计 - 第3章 C语言的

4、基本语句和程序结构设计,9,复合语句举例,int x, y, t;if (x y) /* 复合语句开始 */t = x;x = y;y = t; /* 复合语句结束 */ printf(“%d, %d“, x, y);,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,10,C语言语句使用说明,除复合语句外,语句都以分号;作为结束 语句书写格式比较自由,确定语句结束的唯一标准是分号(;) 注意区分表达式和表达式语句,它们的用法不同 举例,if(a=b)0) t=a; 错例,if(a=b;)0) t=a; 举例,if(xy) x-; y+; 错例,if(xy) x-; y+,C语言程序

5、设计 - 第3章 C语言的基本语句和程序结构设计,11,关系运算符 (Relational Operators),C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,12,关系表达式,用关系运算符将两个表达式连接起来 a+bc+d, (a=3)x 注意区分等于(=)和赋值运算符(=) a=b, a=b 关系表达式的值是逻辑值“真”或“假” C语言用整型表示逻辑值,“真”1、“假”0 举例, a=3, b=2, c=1;d=ab; /* d=1 */f=abc; /* f=(ab)c=0 */,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,13,逻辑运算符 (Logical

6、 Operators),C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,14,逻辑运算规则,!a 若a为“真”,!a为“假” 若a为“假”,!a为“真” a&b 若a、b都为“真”,则a&b为“真” 若a、b不全为“真”,则a&b为“假” a|b 若a、b都为“假”,则a|b为“假” 若a、b不全为“假”,则a|b为“真”,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,15,逻辑表达式,逻辑运算符把逻辑量或表达式连接起来 (y%4=0&y%100!=0)|(y%400=0) 逻辑表达式的值是逻辑值 用整型表示逻辑值 “真”1,“假”0 把一个表达式的值作为逻辑值使用

7、非零“真”,零“假” 这里的非零与零,包括整型、浮点型等,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,16,逻辑表达式举例,int i=3; char c=a; float f=0.0;i=0; !i; /* 两者逻辑值相同 */ i!=0; i; /* 两者逻辑值相同 */ c /* “假” */,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,17,逻辑表达式求值特点,逻辑表达式中的运算符,只有会影响表达式求值时,才会执行 a&b&c 若a为“假”,则不再判断b和c a|b|c 若a为“真”,则不再判断b和c 举例,(m=ab)&(n=cd) De Morgan

8、定理 !(a&b) (!a)|(!b) !(a|b) (!a)&(!b) !(a&b)|c) (!a|!b)&!c,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,18,分支程序设计,if语句 条件运算符?: switch语句 分支程序设计举例,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,19,if语句的三种形式,if(expression) statement if(expression) statement1else statement2 if(expression1) statement1else if(expression2) statement2else

9、if(expression3) statement3 . .else if(expressionn-1) statementn-1else statementn,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,20,if语句的说明,无论哪种形式,一条if语句,包括else或else if子句,只算作一条语句 if语句中的子句,可以是一条任何类型的语句,包括表达式语句、空语句、复合语句、控制语句 子句末尾的分号,只表示子句的结束,不表示if语句结束 注意复合语句末尾没有分号 else子句都是可以没有的,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,21,if语句举例,i

10、f (x y) /* y为x和y的较大值 */y = x;if (x y) /* d为x和y之间的距离 */d = x - y; elsed = y - x;if (x y); /* 合法,但没有实际操作 */,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,22,if语句的嵌套,if语句的各子句都可以又是if语句 应注意if-else的配对关系 else总是与其上面最近的if配对 可以用明确if-else的配对关系 if(exp1) if(exp1)if(exp2) if(exp2)statement1 statement1 else elsestatement2 stateme

11、nt2,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,23,条件运算符 (Conditional Operator),条件运算符?: 条件表达式 exp1?exp2:exp3 先判断exp1 若exp1为“真”,表达式的值为exp2的值 若exp1为“假”,表达式的值为exp3的值 举例, max = (xy) ? x : y; 同: if(xy) max = x;else max = y;,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,24,switch语句,switch (expression) case const-exp: statementscase co

12、nst-exp: statements . .case const-exp: statementsdefault: statements,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,25,switch语句的说明,先求switch后表达式的值,若此值与某个case后的常量表达式的值相等,则跳转到这个case后的语句;若没有相等的常量表达式,则跳转到default 跳转后程序一直往下执行,不会因为遇到另一个case而直接跳出switch 根据实际需要,可以没有default 若需要跳出switch,可使用break语句 case和default的顺序不影响执行结果,C语言程序设计

13、- 第3章 C语言的基本语句和程序结构设计,26,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“);,C语言程序设计 - 第3章 C语言的基本语句和

14、程序结构设计,27,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: printf(“其他学院n“);,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,28,分支程序设计举例,求一元二次方程的根当a=0时,不是一元二次方程 当a0时,方程的根为当b2-4ac0,方程有两个实根 当b2-4ac

15、0,方程有两个共轭复根,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,29,例1:求一元二次方程的根,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,30,循环程序设计,while语句 do-while语句 for语句 break和continue语句 循环程序设计举例,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,31,while语句,while (expression)statement while型循环 先判断表达式,后执行语句 一般情况下,循环中应含有能使循环语句结束的操作,statement,a,b,expr.,真,假,C语言程序设计 - 第3

16、章 C语言的基本语句和程序结构设计,32,while语句举例,int i, sum; i = 1; sum = 0; while(i=100) sum += i; /* 循环体缩进书写 */i+; /* 使循环趋向结束 */,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,33,do-while语句,dostatement while (expression); 类似于Until型循环 先执行一次循环体语句,后判断表达式,statement,a,b,expr.,真,假,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,34,do-while语句举例,int i, sum;

17、 i = 1; sum = 0; do sum += i;i+; while(i=100);,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,35,do-while与Until型循环,do sum+=i;i+;while(i=100);C语言形式,repeat sum+=i;i+;until(i100);Until型循环,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,36,for语句,for (expr1; expr2; expr3)statementexpr1; while (expr2) statementexpr3;,C语言程序设计 - 第3章 C语言的基本语句

18、和程序结构设计,37,for语句的说明,三个表达式的说明 expr1:初始化 expr2:循环条件 expr3:一般是循环变量的改变 三个表达式都可以省略 分隔表达式的分号不能省略 expr1省略,不进行初始化 expr2省略,认为循环条件永为“真” expr3省略,不在这里改变循环变量,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,38,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

19、+= i;,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,39,break语句,形式 break; 说明 跳出switch语句 跳出本层循环语句 如果有多层循环存在,break只跳出它所在的那一层循环语句,不影响外层循环的执行 不能用于循环语句和switch语句之外的任何其他场合,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,40,continue语句,形式 continue; 说明 结束本次循环 跳过循环体中余下的其他语句,接着进行下一次循环的判定 只能用于循环语句中,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,41,break和continue语句,break语句 跳出本层循环while(i100)break;.,continue语句 结束本次循环while(i100)continue;.,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,42,循环程序设计举例,求最大公约数和最小公倍数,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,43,例2:求最大公约数和最小公倍数,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,44,结束,The End,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学课件 > 大学教育

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1