计算机二级C语言程序设计第4讲.ppt
《计算机二级C语言程序设计第4讲.ppt》由会员分享,可在线阅读,更多相关《计算机二级C语言程序设计第4讲.ppt(47页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 1 第第4讲讲 选择结构程序设计选择结构程序设计要设计选择结构程序,要考虑两个方面的问题:一是要设计选择结构程序,要考虑两个方面的问题:一是在在C语言中如何来表示条件,二是在语言中如何来表示条件,二是在C语言中实现选择结语言中实现选择结构用什么语句。构用什么语句。在在C语言中表示条件,一般用关系表达式或逻辑表达语言中表示条件,一般用关系表达式或逻辑表达式,实现选择结构用式,实现选择结构用if语句或语句或switch语句。语句。4.1 if语句语句4.2 switch语句语句4.3 选择结构程序举例选择结构程序举例 2 4.1 if 语句语句if if 语句是用来判断所给定的条件是否满足,根据
2、判定的结果语句是用来判断所给定的条件是否满足,根据判定的结果(真真或假或假)决定执行给定的某种操作之一。决定执行给定的某种操作之一。3 一、一、if 语句的形式语句的形式1单边选择结构单边选择结构格式格式:if(表达式表达式)语句语句 执行过程:执行过程:判断条件判断条件表达式取值非表达式取值非0,0,即条件成立即条件成立,执行语句后执行语句后继续向下执行继续向下执行表达式取值为表达式取值为0 0,即条件不成立,跳过语句,即条件不成立,跳过语句向下执行向下执行P语句语句(入口)(入口)(出口)(出口)YN 4 一、一、if 语句的形式语句的形式1单边选择结构单边选择结构main()main()
3、int x,y=0;int x,y=0;scanf(%d,&x);scanf(%d,&x);if(x=0)if(x=0)y=2*x+1;y=2*x+1;/*/*语句语句 */*/printf(x=%d,y=%dn,x,y);printf(x=%d,y=%dn,x,y);程序运行后,当从键盘上输入程序运行后,当从键盘上输入3时,程序运行时,程序运行的结果是多少?的结果是多少?程序运行后,当从键盘上输入程序运行后,当从键盘上输入-5时,程序运行时,程序运行的结果是多少?的结果是多少?x=3,y=7x=-5,y=0例如,求:例如,求:y=2x+1 x=00 x=0)y=2*x+1;/*语句语句1 *
4、/else y=x*x+1;/*语句语句2 */printf(x=%d,y=%dn,x,y);程序运行后,当从键盘上输入程序运行后,当从键盘上输入3时,程序运行时,程序运行的结果是多少?的结果是多少?程序运行后,当从键盘上输入程序运行后,当从键盘上输入-5时,程序运行时,程序运行的结果是多少?的结果是多少?x=3,y=7x=-5,y=26例如,求:例如,求:y=2x+1 x=0 x2+1 xb)l t=a;a=b;b=t;/*复合语句复合语句 */l printf(%8.2f,%8.2fn,a,b);l printf(Endn);程序运行后,如果从键程序运行后,如果从键盘上输入盘上输入6,2.
5、8,则程序,则程序运行的顺序为:运行的顺序为:程序运行后,如果从键程序运行后,如果从键盘上输入盘上输入2.8,6,则程序,则程序运行的顺序为:运行的顺序为:2.80,6.00End 2.80,6.00End 10 两个变量交换数据的实现方法两个变量交换数据的实现方法变量变量a3变量变量b5变量变量a5变量变量b5 执行执行a=b;后;后注意:变量注意:变量a,b交换内容不能简单地用交换内容不能简单地用a=b;b=a;来实现来实现 正确的方法是借助一个中间变量(如正确的方法是借助一个中间变量(如t)来实现)来实现变量变量a5变量变量b5 执行执行b=a;后;后变量变量a3变量变量b5 随机随机变
6、量变量t变量变量a3变量变量b5 执行执行t=a;后后3变量变量t变量变量a5变量变量b5 执行执行a=b;后后3变量变量t变量变量a5变量变量b3 执行执行b=t;后后3变量变量t 先执行先执行t=a;将将a的值保存在中间变量的值保存在中间变量t中中 再执行再执行a=b;将将b的值赋给变量的值赋给变量a 最后执行最后执行b=t;将将t中保存的变量中保存的变量a的原来值赋给变量的原来值赋给变量b main()float a,b,t;scanf(%f,%f,&a,&b);if(ab)t=a;a=b;b=t;/*变量交换变量交换 */printf(%5.2f,%5.2fn,a,b);printf(
7、Endn);11 复合语句及其花括号的使用复合语句及其花括号的使用 main()float a,b,t;scanf(%f,%f,&a,&b);if(ab)t=a;a=b;b=t;/*用花括号括起来构成用花括号括起来构成1个复合语句个复合语句*/printf(%5.2f,%5.2fn,a,b);printf(Endn);有花括号时程序的运行顺序有花括号时程序的运行顺序(假设从键盘上输入(假设从键盘上输入2.8,6)2.80,6.00End 12 复合语句及其花括号的使用复合语句及其花括号的使用 main()float a,b,t;scanf(%f,%f,&a,&b);if(ab)t=a;a=b;
8、b=t;/*去掉花括号就成为去掉花括号就成为3个语句个语句*/printf(%5.2f,%5.2fn,a,b);printf(Endn);去掉花括号时程序的运行顺序去掉花括号时程序的运行顺序(假设从键盘上输入(假设从键盘上输入2.8,6)6.00,随机值随机值End 13 复合语句及其花括号的使用复合语句及其花括号的使用将前将前2个分号改为逗号时程序的运行情况个分号改为逗号时程序的运行情况(假设从键盘上输入(假设从键盘上输入2.8,6)main()float a,b,t;scanf(%f,%f,&a,&b);if(ab)t=a,a=b,b=t;/*将分号改为逗号则成为一个语句将分号改为逗号则成
9、为一个语句*/printf(%5.2f,%5.2fn,a,b);printf(Endn);2.80,6.00End 14 复合语句及其花括号的使用复合语句及其花括号的使用将前将前2个分号改为逗号时程序的运行情况个分号改为逗号时程序的运行情况(假设从键盘上输入(假设从键盘上输入2.8,6)main()float a,b,t;scanf(%d,%d,&a,&b);if(ab)t=a,a=b,b=t;/*将分号改为逗号则成为一个语句将分号改为逗号则成为一个语句*/printf(%5.2f,%5.2fn,a,b);printf(Endn);2.80,6.00End结论:将条件成立时要进行的所有操作变成
10、一个语句结论:将条件成立时要进行的所有操作变成一个语句 15 if 语句的嵌套语句的嵌套一般形式一般形式:if(条件条件1)if(条件条件2)语句语句1 else 语句语句2 else if(条件条件3)语句语句3 else 语句语句4在在if if 语句中又包含一个或多个语句中又包含一个或多个if if 语句语句,称为称为if if 语句的嵌套语句的嵌套if if 与与 else else 的配对关系:从最内层开始的配对关系:从最内层开始,else,else 总是与它上总是与它上面最近的且尚未配对的面最近的且尚未配对的if if 配对。配对。16 求分段函数的值求分段函数的值 1 (x0)0
11、 (x=0)-1 (x=0)if(x0)y=1;else y=0;else y=-1;printf(x=%d,y=%dn,x,y);/*x=0不成立,即不成立,即x=0成立且成立且x0不成立,即不成立,即x=0 */从键盘上输入从键盘上输入2时程序的运行顺序时程序的运行顺序x=2,y=1 18 用多层选择结构求分段函数的值用多层选择结构求分段函数的值 main()int x,y;scanf(%d,&x);if(x0)y=1;else if(x=0)y=0;else y=-1;printf(x=%d,y=%dn,x,y);/*x0和和x=0都不成立,即都不成立,即x0不成立再判断不成立再判断x=
12、0是否成立是否成立*/从键盘上输入从键盘上输入2时程序的运行顺序时程序的运行顺序x=2,y=1 19 条件运算符条件运算符l条件运算符条件运算符(三目三目):):?:?:l(表达式表达式1 1)?(表达式)?(表达式2 2):表达式):表达式3 3)l条件运算符的结合性条件运算符的结合性:自右向左自右向左l条件运算符的执行:先计算表达式条件运算符的执行:先计算表达式1 1之值,若条之值,若条件表达式的值非件表达式的值非0(0(即条件成立即条件成立),计算表达式,计算表达式2 2之之值并将该值作为条件表达式之值;若表达式值并将该值作为条件表达式之值;若表达式1 1的的值为值为0(0(即条件不成立
13、即条件不成立),计算表达式,计算表达式3 3之值并将表之值并将表达式达式3 3之值作为整个条件表达式的值。之值作为整个条件表达式的值。条件运算符的优先等级条件运算符的优先等级:高于赋值和逗号运算高于赋值和逗号运算符符,比其它运算符都低比其它运算符都低 20 条件运算符使用举例条件运算符使用举例有如下程序:有如下程序:main()int a=3,b=4,c;c=ab?a:b;printf(max=%dn,c);语句:语句:c=ab?a:b;执行以后,变量执行以后,变量c中存放的是中存放的是变量变量a,b中的最大值中的最大值 21 输入一个字母并将其转换为小写(小写不变)输入一个字母并将其转换为小
14、写(小写不变)main()main()char ch;char ch;scanf(%c,&ch);scanf(%c,&ch);ch=(ch=(ch=A&ch=A&chy&y!=0);C)if(x0)x-else y+;D)if(y=0)y=sqrt(-x)(x=0)y=sqrt(x);B)y=sqrt(x)elsey=sqrt(-x);if(x=0)y=sqrt(x);D)y=sqrt(x=0?x:-x);if(x0)y=sqrt(-x);4、以下程序的功能是、以下程序的功能是:输出输出a、b、c三个变量中的最小值三个变量中的最小值.请填空。请填空。#includemain()inta,b,c
15、,t1,t2;scanf(%d%d%d,&a,&b,&c);t1=ab?_;t2=cb)a=b;c=a;if(c!=a)c=b;printf(%d,%d,%dn,a,b,c);其输出的结果是其输出的结果是A)程序段有语法错程序段有语法错B)3,5,3C)3,5,5D)3,5,76、有以下程序段、有以下程序段inta,b,c;a=10;b=50;c=30;if(ab)a=b,b=c;c=a;printf(a=%db=%dc=%dn,a,b,c);程序的输出结果是程序的输出结果是A)a=10b=50c=10B)a=10b=50c=30C)a=10b=30c=10D)a=50b=30c=502008
16、-42008-9 25 7、有以下程序、有以下程序#includemain()intx=1,y=2,z=3;if(xy)if(yz)printf(%d,+z);elseprintf(%d,+y);printf(%dn,x+);程序的运行结果是程序的运行结果是A)331B)41C)2D)12008-9 26 8、以下是、以下是if语句的基本形式语句的基本形式:if(表达式表达式)语句语句 其中其中表达式表达式A)必须是逻辑表达式必须是逻辑表达式 B)必须是关系表达式必须是关系表达式C)必须是逻辑表达式或关系表达式必须是逻辑表达式或关系表达式 D)可以是任意合法的表达式可以是任意合法的表达式200
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 二级 语言程序设计
限制150内