




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、整理课件产生数据产生数据数据处理、计算数据处理、计算输出结果输出结果顺序结构程序设计定义变量定义变量整理课件三种控制结构的三种控制结构的N-SN-S流程图。流程图。整理课件思考:思考:输入三角形的三边长,求三角形面积。输入三角形的三边长,求三角形面积。 # include main( ) float a, b, c, s, area; scanf(%f%f%f ,&a,&b,&c); s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c); printf(area=%.2fn ,area); 输入输入1,2,31,2,3会有会有正确结果吗?正确结果吗?如何避免发生
2、如何避免发生此类错误此类错误如果任意两边之和大于第三如果任意两边之和大于第三边才能构成三角形,即边才能构成三角形,即a+bc并且并且a+cb并且并且b+ca整理课件第第3 3章章 选择结构程序设计选择结构程序设计 关系运算符和关系表达式关系运算符和关系表达式 逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式 if if 语句语句 switchswitch语句语句 程序举例程序举例整理课件3.1 if3.1 if语句语句l1. 运算符:运算符:、=、b)=c (ab)=c b+ca b+cb d=ab f=abc f=abc 要想表示与数学中的要想表示与数学中的abcabc等价的关系等价的关系怎么办
3、?怎么办?一、关系运算一、关系运算整理课件3.1 if3.1 if语句语句二、逻辑运算二、逻辑运算l1.运算符运算符:&(且)、(且)、|(或)、(或)、!(非)(非)l例如:例如: a&b 若若a、b均为均为真(非真(非0)时,时,a&b为为1 a|b 若若a、b其中之一为非其中之一为非0,a|b为为1 !a 若若a为非为非0 ,则,则 !a为为0 例例: : a=4,b=5 !a a&b a | b !a | b 4&0 | 2 53&2 |8c&b=ca|b+c&b-c!(x=a)&(y=b)&0!(a+b)+c-1&b+c/2x&!xxy-1 !(非)!(非)算术运算符算术运算符关系运
4、算符关系运算符&赋值运算符赋值运算符 高高低低010101整理课件练习练习2 2:a=1a=1,b=2b=2,c=3c=3,d=4d=4,m=1m=1,n=2n=2 y=(m=ab) & (n=cd) y=(m=ab) & (n=cd) y= y= m= m= n= n=0 00 02 2注:在逻辑表达式的求解中,并不是所有的逻辑注:在逻辑表达式的求解中,并不是所有的逻辑运算都被执行,只是在必须执行下一个逻辑运算运算都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符。符才能求出表达式的解时,才执行该运算符。如:如: a&b&ca&b&c a|b|c a|b|c整理课件
5、3.1 if3.1 if语句语句三、三、if语句语句、if语句的语句的3种形式种形式 1if(表达式表达式)语句语句例:例:main( ) int x; scanf(%d,&x); if (x0) printf(“%d”,x); printf(abc ); 4545abc-7abc 2if(表达式表达式)语句语句 1 else 语句语句2表达式表达式真真假假语句语句表达式表达式真真假假语句语句1语句语句2 2例例1 1: 输入一个整输入一个整数,若为偶数则输数,若为偶数则输出出“Yes”Yes”,若为奇,若为奇数则输出数则输出“No”No”。 main( ) int a; scanf(%d,&
6、a); if(a%2=0) printf(Yesn); else printf(Non); ifelse是一个语句是一个语句整理课件思考:思考:输入三角形的三边长,求三角形面积。输入三角形的三边长,求三角形面积。 # include main( ) float a, b, c, s, area; scanf(%f%f%f ,&a,&b,&c); if(a+bc&a+cb&b+ca) s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c); printf(area=%.2fn ,area); else printf(no); 整理课件if(表达式表达式1) 语句语句
7、1else if(表达式表达式2) 语句语句2else if(表达式表达式n) 语句语句nelse 语句语句n+1NN表达式表达式1表达式表达式2语句语句2表达式表达式n语句语句n语句语句n+1YYNY语句语句1整理课件例例2:2:计算分段函数,输入计算分段函数,输入x x的值后,的值后,请输出相应的请输出相应的y y值。值。6 .12sin26 .121032cos16log10729523xexxxxxxy #include math.h main( ) float x, y; scanf(%f,&x); if(x-10) y=5.0/29*fabs(x-7); else if(x12.6
8、) y=log(16)/log(3)+cos(32*3.14/180); else y=(sqrt(2*x)-3.14*sin(x)/(exp(1)*x*x); printf(%fn,y); !注意!注意C C中表达式书写(中表达式书写(p25p25)整理课件【练习】【练习】计算分段函数计算分段函数 3366sin3log2xexxy #include math.h main( ) float x, y; scanf(%f,&x); if(x1&x12&x=27) y=3*x; printf(%fn,y); else printf(wuyiyi); 整理课件(二)(二)if语句的嵌套语句的嵌套
9、: 在在 if 语句中又包含一个或多个语句中又包含一个或多个 if 语句称语句称为为 if语句的嵌套。语句的嵌套。 if ( ) if ( ) 语句语句1 else 语句语句2 else if ( ) 语句语句3 else 语句语句4 !注意注意 if 与与 else 的配对关的配对关系,系,else总是与它上面最近总是与它上面最近的未配对的的未配对的 if 配对配对,若,若if与与 else 的数目不一致,可以加的数目不一致,可以加 来确定配对关系。来确定配对关系。整理课件例:有一函数例:有一函数 输入输入X值,输出值,输出Y值。值。y=-1 (x0) main( ) int x, y; s
10、canf(%d,&x); if(x=0) if (x= =0) y=0; else y=-1; else y=1; printf(x=%d,y=%dn,x,y); if (x=0) if (x0) y=1;else y=0;整理课件(三)条件运算符(三)条件运算符1.形式:形式:表达式表达式1 ? 表达式表达式2 : 表达式表达式32.执行过程:如果表达式执行过程:如果表达式1为真,则条件表达式为真,则条件表达式取表达式取表达式2的值,否则取表达式的值,否则取表达式3的值。的值。例例 有以下有以下if 语句语句: if (ab) max=a; else max=b;可以用条件运算符可以用条件运
11、算符处理处理: max=(ab)?a:b; 3. 属性:三目、右结合、优先级高于属性:三目、右结合、优先级高于=整理课件若若w=1,x=2,y=3,z=4,则条件表达式则条件表达式wx?w:yb) a=b; if(bc) b=c;else c=b;c=a;2、当、当a=1,b=2,c=3时时,执行以下程序段后执行以下程序段后, a的值为的值为【 】,b的值为的值为【 】,c的值为的值为【 】.if (ac) b=a; a=c; c=b;3、下面一段程序的输出结果是【、下面一段程序的输出结果是【 】.int x=2;if(x)printf(TRUE);else;printf(FALSE);a=2
12、,b=1,c=2a=3,b=2,c=2TRUEFALSE整理课件1if(表达式表达式)语句语句 2if(表达式表达式)语句语句 1 else 语句语句23. if(表达式表达式1) 语句语句1 else if(表达式表达式2) 语句语句2 else if(表达式表达式m) 语句语句m else 语句语句n!注意注意1、 if 与与 else 的配对关系,的配对关系,else总是与它上面最近的总是与它上面最近的未配对的未配对的 if 配对配对。2、表达式可为、表达式可为常量常量、变变量量或或任意类型任意类型表达式。表达式。3、if或或else后面可使用后面可使用复复合语句合语句 。4. 优先级由
13、高到低优先级由高到低 !、算术算术、关系关系、& 、|、?:?:、=整理课件3.2 switch语句语句 一般形式:一般形式: switch(表达式表达式) case 常量常量1:语句:语句1 case 常量常量2:语句:语句2 case 常量常量n:语句:语句n default:语句:语句n+1 switch语句,用于直接处理多分支选择。语句,用于直接处理多分支选择。p27必有空格必有空格表达式=常量表达式1表达式=常量表达式2表达式=常量表达式n语句1语句2语句ndefault语句n+1值必互不相同值必互不相同u 整理课件读程序读程序main( )main( ) int i=10 ; in
14、t i=10 ; switch(i) switch(i) case 9 : i+=1; case 9 : i+=1; case 10 :i+=1; case 10 :i+=1; case 11 :i+=1; case 11 :i+=1; default : i+=1; default : i+=1; printf(%d,i); printf(%d,i); 13break;break;break;11整理课件lswitch (表达式表达式)l l case 常量表达式常量表达式1:语句:语句1; break;l case 常量表达式常量表达式2:语句:语句2; break;l l case 常量
15、表达式常量表达式n:语句:语句n; break;l default: 语句语句n+1;l表达式=常量表达式1表达式=常量表达式2表达式=常量表达式n语句1语句2语句ndefault语句n+1breakbreakbreakbreak3.2 switch语句语句整理课件例例: : 根据百分制成绩计算五级分。根据百分制成绩计算五级分。main( ) float x; int y; scanf(%f,&x); If(x100|xb) t=a;a=b;b=t; printf(%d,%d n,a,b);数据交数据交换方法换方法整理课件 main( ) float x,y; scanf(%f,&x); if
16、(x=15&x200) if(x30) y=x; else if(x100) y=50; else y=2*x-3; printf(y=%.2fn, y); else printf(“wuyiyin); 其它无意义2001003210030503015xxxxxy编程编程3:计算分段函数。:计算分段函数。整理课件读程序段读程序段m,n,x,y,z均为整型变量均为整型变量,求执行完该段求执行完该段程序后各变量的值。程序后各变量的值。m=10;n=5;x=(-m=n+)?-m:+n;y=m+;z=n;x=7,y=9,z=7m=10,n=7整理课件1. C1. C程序是由程序是由函数函数构成的,一个
17、构成的,一个C C程序有且仅程序有且仅有一个有一个mainmain函数;函数;2. 2. 一个函数由两部分构成:即一个函数由两部分构成:即函数首部函数首部和和函函数体数体;3. 3. 一个一个C C程序总是从程序总是从mainmain函数函数开始,在开始,在mainmain函函数结束;数结束;4. C4. C程序程序书写自由书写自由;5. 5. 分号分号是是C C语句和声明的语句和声明的结束结束标志;标志;6. C6. C语言本身无输入输出语句,其功能语言本身无输入输出语句,其功能由函数由函数实现实现;7. 7. 可用可用/ /* * */ /对对C C程序中的任何部分作任何程序中的任何部分作
18、任何注释,其对程序的编译执行没有任何影响。注释,其对程序的编译执行没有任何影响。小结一、程序结构:一、程序结构:整理课件二、常量、变量:二、常量、变量:标识符:标识符:标识符由标识符由字母字母、数字数字和和下划线下划线三种字符三种字符组成,且组成,且第一个字符不为数字。第一个字符不为数字。l1.1.整型常量整型常量l2.2.浮点型常量浮点型常量八进制:以八进制:以0 0开头,开头,012012十六进制:以十六进制:以0 x0 x开头,开头,0 x1d30 x1d3十进制小数形式:十进制小数形式:由数字和小数由数字和小数点组成点组成;指数形式:指数形式:字母字母e后必须为整数,后必须为整数,e前
19、必须有数字前必须有数字。l3.3.变量变量(1).(1).严格区分大小写严格区分大小写。(2).(2).变量变量“先定义,后使用先定义,后使用”。(3).(3).变量的值应与定义的变量的值应与定义的类型一致类型一致。(4).(4).变量名变量名不能与关键字重名不能与关键字重名。整理课件三、三、scanf(格式控制,地址表列)(格式控制,地址表列)说明说明:(1) (1) 变量前必须有地址符变量前必须有地址符& &。 (2) “ (2) “格式控制格式控制”若有普通字符,输入时必须输入这若有普通字符,输入时必须输入这些些 字符。字符。scanf(“a=%d,b=%d,&a,&b);scanf(“
20、a=%d,b=%d,&a,&b);输入:输入: a=76,b=28a=76,b=28(3) (3) 输入实数不能规定精度输入实数不能规定精度。(4) (4) 可以可以指定指定输入数据的输入数据的列数列数,系统,系统自动自动按它按它截截 取取所需数据。所需数据。scanf(%7.2f,&a);scanf(%7.2f,&a);(5) (5) * *格式用于格式用于跳过指定列数跳过指定列数。 例:例:scanf(%3d%3d,&a,&b);scanf(%3d%3d,&a,&b); 输入:输入:123456 123456 a a值值123123,b b值值456456 scanf(%2d%scanf(
21、%2d%* *3d%2d,&a,&b);3d%2d,&a,&b); 输入:输入:12345671234567 12a 12a,345345被跳过,被跳过,67b67b。整理课件四、四、C表达式表达式l “*”不能省略;不能省略;l / /:若若/ /号两边都是整型时,结果也为整型;号两边都是整型时,结果也为整型; l % %:求模或求余运算,要求两边的操作数必须求模或求余运算,要求两边的操作数必须是是整型整型;l正确使用数学函数;正确使用数学函数;l运算符优先级:运算符优先级:l 单目(单目(! + - (! + - (类型类型) ))l 双目(算术、双目(算术、&、|、关系)、关系)l 三目(三目(?:?:) l 赋值(赋值(= =) 整理课件常用数学函数常用数学函数(p14)(p14)xsqrt(x)x fabs(x) xeexp(x)xlnlog(x)xlglog10(x)yxpow(x,y)xsinsin(x)xcoscos(x)xtantan(x) 整理课件各类数值型数据的混合运算各类数值型数据的混合运算 高高 doubledoublefloat float long long
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论