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

《C语言程序设计基本语句和程序结构流程控制、执行.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计基本语句和程序结构流程控制、执行.ppt(43页珍藏版)》请在人人文库网上搜索。

1、目 录,基本语句 关系运算符和关系表达式 逻辑运算符和逻辑表达式 分支程序设计 循环程序设计,基本语句 (Statements),控制语句 表达式语句 函数调用语句 空语句 复合语句,控制语句,完成一定的控制功能 C语言的9种控制语句 if-else while continue switch return,for do-while break goto,表达式语句,形式 expression; 表达式最后加一个分号 举例 a=3;/* 赋值语句 */ z=x*y, z+;/* 一条语句 */ x-y;/* 语句,但无实际意义 */ i+;/* 语句 */ i+/* 表达式,不是语句 */,函。

2、数调用语句,形式 function(arguments); 函数调用后加一个分号 函数调用语句可以看作一种表达式语句 举例 printf(%d, i); getchar(); myfun(a, b);,空语句,形式 ; 只有一个分号 用法 作为转向点 作为循环语句中的循环体 举例 for(i=1; i=100; i+) sum+=i; for(i=1; i=100; sum+=i+);,复合语句 (块语句,Block),形式 statements 用把若干条语句组合成为一个复合语句 内可以没有任何语句,可以只有一条语句,也可以有多条语句 可以包括复合语句、空语句、控制语句等 用法 一个复合语句。

3、当作一条语句来使用 需要把多条语句放在只允许一条语句的场合,复合语句举例,int x, y, t; if (x y) /* 复合语句开始 */ t = x; x = y; y = t; /* 复合语句结束 */ printf(%d, %d, x, y);,C语言语句使用说明,除复合语句外,语句都以分号;作为结束 语句书写格式比较自由,确定语句结束的唯一标准是分号(;) 注意区分表达式和表达式语句,它们的用法不同 举例,if(a=b)0) t=a; 错例,if(a=b;)0) t=a; 举例,if(xy) x-; y+; 错例,if(xy) x-; y+,关系运算符 (Relational Op。

4、erators),关系表达式,用关系运算符将两个表达式连接起来 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 */,逻辑运算符 (Logical Operators),逻辑运算规则,!a 若a为“真”,!a为“假” 若a为“假”,!a为“真” a char c=a; float f=0.0; i=0; !i;/* 两者逻辑值相同 */ i!=0; i;/* 两者逻辑值相同。

5、 */ c /* “假” */,逻辑表达式求值特点,逻辑表达式中的运算符,只有会影响表达式求值时,才会执行 a if (x y)/* d为x和y之间的距离 */ d = x - y; else d = y - x; if (x y);/* 合法,但没有实际操作 */,if语句的嵌套,if语句的各子句都可以又是if语句 应注意if-else的配对关系 else总是与其上面最近的if配对 可以用明确if-else的配对关系 if(exp1)if(exp1) if(exp2) if(exp2) statement1 statement1 elseelse statement2 statement2,。

6、条件运算符 (Conditional Operator),条件运算符?: 条件表达式 exp1?exp2:exp3 先判断exp1 若exp1为“真”,表达式的值为exp2的值 若exp1为“假”,表达式的值为exp3的值 举例,max = (xy) ? x : y; 同:if(xy) max = x; else max = y;,switch语句,switch (expression) case const-exp: statements case const-exp: statements . . case const-exp: statements default: statements。

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

8、: 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); brea。

9、k; default: printf(其他学院n); ,分支程序设计举例,求一元二次方程的根 当a=0时,不是一元二次方程 当a0时,方程的根为 当b2-4ac0,方程有两个实根 当b2-4ac0,方程有两个共轭复根,例1:求一元二次方程的根,循环程序设计,while语句 do-while语句 for语句 break和continue语句 循环程序设计举例,while语句,while (expression) statement while型循环 先判断表达式,后 执行语句 一般情况下,循环 中应含有能使循环 语句结束的操作,statement,a,b,expr.,真,假,while语句举例,。

10、int i, sum; i = 1; sum = 0; while(i=100) sum += i;/* 循环体缩进书写 */ i+;/* 使循环趋向结束 */ ,do-while语句,do statement while (expression); 类似于Until型循环 先执行一次循环体 语句,后判断表达 式,statement,a,b,expr.,真,假,do-while语句举例,int i, sum; i = 1; sum = 0; do sum += i; i+; while(i=100);,do-while与Until型循环,do sum+=i; i+; while(i=100);。

11、 C语言形式,repeat sum+=i; i+; until(i100); Until型循环,for语句,for (expr1; expr2; expr3) statement expr1; while (expr2) statement expr3; ,for语句的说明,三个表达式的说明 expr1:初始化 expr2:循环条件 expr3:一般是循环变量的改变 三个表达式都可以省略 分隔表达式的分号不能省略 expr1省略,不进行初始化 expr2省略,认为循环条件永为“真” expr3省略,不在这里改变循环变量,for语句举例,int i, sum; for (i=1, sum=0; 。

12、i=100; i+) sum += i; for (i=1, sum=0; i=100; ) sum += i+; for (i=0, sum=0; i+100; ) sum += i;,break语句,形式 break; 说明 跳出switch语句 跳出本层循环语句 如果有多层循环存在,break只跳出它所在的那一层循环语句,不影响外层循环的执行 不能用于循环语句和switch语句之外的任何其他场合,continue语句,形式 continue; 说明 结束本次循环 跳过循环体中余下的其他语句,接着进行下一次循环的判定 只能用于循环语句中,break和continue语句,break语句 跳出本层循环 while(i100) break; . ,continue语句 结束本次循环 while(i100) continue; . ,循环程序设计举例,求最大公约数和最小公倍数,例2:求最大公约数和最小公倍数,结束,The End。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值