理工c语言笔记

上传人:ji****72 文档编号:50729029 上传时间:2018-08-10 格式:PPT 页数:61 大小:388KB
返回 下载 相关 举报
理工c语言笔记_第1页
第1页 / 共61页
理工c语言笔记_第2页
第2页 / 共61页
理工c语言笔记_第3页
第3页 / 共61页
理工c语言笔记_第4页
第4页 / 共61页
理工c语言笔记_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《理工c语言笔记》由会员分享,可在线阅读,更多相关《理工c语言笔记(61页珍藏版)》请在金锄头文库上搜索。

1、C语言程序设计第五章第五章 选择结构程序结构控制流 程序结构 顺序结构 选择结构(分支结构、判断结构) 循环结构(重复结构) 选择语句是控制程序执行选择结构的语句,是程序实现逻辑 判断的唯一形式。自然语言:如果 那么否则APB真假2第五章 选择结构本章内容 5.1 关系运算符和关系表达式 5.2 逻辑运算符和逻辑表达式 5.3 选择语句 5.4 条件运算符和条件表达式 5.5 应用举例3第五章 选择结构5. 关系运算符和关系表达式4第五章 选择结构5.1.1 关系运算符(Relational operators) “关系运算”就是“比较运算”,关系运算符的功能是对两个操 作数(operand)

2、进行比较,并产生运算结果 1 (真) 或 0 (假)。 语言中的关系运算符(均为双目运算符)有种:算术运算符 (高) 关系运算符 | 赋值运算符 (低)运算 符含 义优先 级结合 性 大于10从左 至右 (左结 合)大于等 于 小于 小于等 于 等于9 !不等于例:a=b!=b=b)!=(b b b) y、s+f d、 a(b=1)、(ab)(b b; /*值为0(假)*/(a - b) = 1; /*值为1(真)*/(b + c) 4 3; /*值为0(假)*/例:设 a=5, b=3,求下列关系表达式的值。a b != 7; /*值为1(真)*/(a = b) 10; /*值为0(假)*/

3、a + b main() int b=2,c=1;printf(“%d“, c b); 用程序验证7第五章 选择结构5.2 逻辑运算符和逻辑表达式8第五章 选择结构5.2.1 逻辑运算符(Logical operators ) C语言提供三种逻辑运算符: a 等价 (a-(!d)|(m(n+3);9第五章 选择结构逻辑运算真值表xyx 0 10 0 10+2 | a; 0 5 3 用程序验证12第五章 选择结构逻辑表达式的求解过程 见右图演示 实际上,在逻辑表达式的求解过 程中,并非所有的逻辑运算符都被 执行,只有在必须执行下一个逻辑符 才能求出表达式的解时,才执行该运算符。 a | b |

4、c 如果a为真,就不再判断b和c。 a b = a printf(“%d %d“, a, b); #include main() int a=1, b;b = a | printf(“当a为假时打印,a为真时不打印n“);printf(“%d %d“, a, b); printf函数返回打印的字符数; 出错时返回负数。14第五章 选择结构5.3 选择语句 Selection statement 选择结构(分支结构、判断结构)分为: 单选择结构 双选择结构 多重选择结构 选择结构的嵌套15第五章 选择结构5.3.1 if 语句 根据逻辑表达式的值(也叫做控制条件)决定要执行的操作( 即程序的走向

5、)。APB真假16第五章 选择结构1. 单选择if语句 语句格式: 执行过程: 计算表达式的值,判断表达式值为真时 执行语句组,否则跳过语句继续执行后 续语句。 表达式可以是任意类型的表达式 只要不等于0就为真,等于0就为假。 语句组只有一条语句时,可省略。 例: if (ab) x=a;语语句零表达式非零if (表达式) 语句组; 17第五章 选择结构举例按由小到大的顺序输出两个数。 #include main( ) int a, b, t;printf(“Input a and b=“);scanf(“%d%d“, if ( ab ) t=a; a=b; b=t; printf(“%d,%

6、dn“, a, b); ab?输入数据:a, bYN开始交换a、b t=a; a=b; b=t;输出:a、b结束定义整型a, b, t18第五章 选择结构2. 双选择if语句 语句格式: if (表达式) 语句组1; else 语句组2; 执行过程: 当表达式为非零时执行语句组1 否则执行语句组2。APB非零零19第五章 选择结构输出成绩(及格、不及格) #include main() int a;scanf(“%d“, if(a=60)printf(“及格n“);else printf(“不及格n“); 举例a=60?输入成绩:aYN开始结束输出:及格输出:不及格定义整型变量a20第五章 选

7、择结构5.3.2 if语句的嵌套 先判断外层表达式的值,若为非0,再判断表达式1的值,若 为非0,执行语句11,否则执行语句12。 若外层表达式的值为0,再判断表达式2的值,若为非0,执 行语句21,否则执行语句22 注意:else不能单独使用,必须与if成对出现,且else总是与 最近的if相配对。在if语句中又包含着if语句if(表达式) if ( 表达式1) 语句11; else 语句12; else if (表达式2) 语句21; else 语句22; 外层if内嵌if21第五章 选择结构举例数学公式:-1 (x0)x main() int x, y;scanf(“%d“, if (x

8、0) y=2*sin(x);else y=0;程序段表示的数学公式:0 (x0)程序段表示的数学公式:-1 (x0)对上面的程序修改了一下: y=-1; if (x!=0)if (x0) y=2*sin(x); else y=0;举例23第五章 选择结构if 语句的多重分支结构形式 仅执行表达式为真的else if后的内嵌语句,若所有的表达式 值都为0,则执行最后一个else后的内嵌语句。if (表达式1) 语句 1 else if (表达式2) 语句 2 else if (表达式3) 语句 3 else if (表达式n) 语句 n else 语句 n+1表达式1YN语句n+1表达式2语句1

9、语句2YN表达式n语句n后续语句NY24第五章 选择结构举例 已知 编写程序,输入一个x的值,输出y值。#include main( ) int x, y;scanf(“%d“, if(x main() int a, b, c=25;a=10c;b=a=a;printf (“a=%d,b=%d,“, a, b);if (c) printf(“c=%d“, c); 结果:a=0,b=1,c=2526第五章 选择结构注意:不要用“= =“比较两个浮点数是否相等。 可使用如下方式:if ( fabs( x-y ) #include main() float a, b;a = 2.1;b = 0.1;

10、if (a - b = 2.0) /应该用:if (fabs(a - b - 2) main( ) int c=3;switch(c) case 1: c+;default: c+;case 3: c+;case 2: c+;printf(“c=%dn“, c); 说明:多个case可以执行同一个语句序列。 switch (c=getchar( ) case y: case Y: printf(“Yesn“); switch中的case如果没有break,则一直向下执行 34第五章 选择结构#include main( ) int a=10;switch (a) case 10: case 9

11、: a+;case 8:case 7: a+=2; break;case 6: a+=3;default: a+=4;printf(“a=%dn“, a); 【例5-4】试分析以下程序的输出结果。结果:a=1335第五章 选择结构5.4 条件运算符和条件表达式 C语言中唯一的一个三目运算符,要求有三个操作对象。 Conditional operator(ternary operator) ?:36第五章 选择结构条件表达式(Conditional expression) 格式:表达式 ?表达式:表达式 功能:判断表达式的值,若该值为“非0”,则取表达式2的 值,若为“ 0 ”时,取表达式3的值

12、。 例:int a=3, b=2; max=ab ? a : b; 则 max= 3 优先级:仅高于赋值运算符和逗号运算符。 结合方向:“从右至左”。 如:当x=1, y=0, a=3, b=-3时, 表达式 (yx?a:b) 值为: 0 如:当a=1,b=2,c=3, d=4 时, 表达式 ab ? a : cd ? c : d ; 值为: 437第五章 选择结构说明:条件运算符( ? : ) 与if else语句 条件运算符( ? : )可以完成与if else语句完全相同的任务, 并且可以进行相应的转换。if ( y main( ) int a, b, min;scanf(“%d%d“,

13、 min=a main( ) int a, b, min;scanf(“%d%d“, if (ay ? 1.2 : 6; 当xy成立时条件表达式的值为1.2,否则 为实型数据6.0。 例:c=xy ? 1 : A , 当xy成立时c=1, 否则c= 65。 练习:已知int a = 0; 问a = 0 ? a += 1: a += 2; 合法吗? 40第五章 选择结构5.5 应用举例41第五章 选择结构练习 1. 设有变量定义 int z; 分析 z%2=0的值? 如果z为偶数,则 z%2=0的值为1; 否则z为奇数,则 z%2=0的值为0; 因此,z%2=0是断言“z是偶数”的c语言判断式。

14、 2. 判断整数x与y的个位数字是否相同? x%10=y%10如何判断十位数上数字相同?x/10%10=y/10%1042第五章 选择结构例1 单选择if语句#include main() int a,b,s;scanf(“%d%d“,s=a;if(a 输出:16#include main() int a;scanf(“%d“, if (a50) printf(“%d“, a);if (a40) printf(“%d“, a);if (a30) printf(“%d“, a); 输入 58 输出? 输入 30 输出?43第五章 选择结构#include main( ) int a,b,max;printf(“Input a and b=“);scanf(“%d%d“, if ( ab ) max=a; else max=b; printf(“The max of a and b is : %

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

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号