选择结构程序设计.ppt_第1页
选择结构程序设计.ppt_第2页
选择结构程序设计.ppt_第3页
选择结构程序设计.ppt_第4页
选择结构程序设计.ppt_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章(1) 2 C语言与省二级考试FTP:/0 张建宏 2 第 三 章 语 句 3.1 基本语句 一个c程序可以有若干个源程序文件组成 一个源文件可以有若干个函数和预处理命令 以及全局变量声明部分组成 一个函数有函数首部和函数体组成 函数体由数据声明和执行语句组成 C语句分为 5类 控制语句 函数调用语句 表达式语句 空语句 复合语句 3 C语言与省二级考试FTP:/0 张建宏 3 第 三 章 语 句一、表达式语句 有一个表达式加一个分号构成一个语句 a = 3 ; 分号赋值表达式表达式语句 4 C语言与省二级考试FTP:/0 张建宏 4 第 三 章 语 句 二、空语句 只有一个分号的语句 ; (什么也不做) 用来做流程的转向点 用来作为循环语句中的循环体 5 C语言与省二级考试FTP:/0 张建宏 5 第 三 章 语 句 三、复合语句 用一对括起来的语句 z=x+y; t=z/100; printf(“%f”,t); 一般格式: 变更定义; 语句1; 语句n; (1)复合语句的 之前的分号不可省略,之后,分号 可有可无。 (2)在复合语句中说明的变量,仅在复合语句中有效。 注意 6 C语言与省二级考试FTP:/0 张建宏 6 第 三 章 语 句 四、控制语句 完成一定的控制功能 1 if() else 条件语句 2 for() 循环语句 3 while()循环语句 4 do while();循环语句 5 continue 继续语句 6 break 间断语句 7 switch() 开关语句 8 goto 转向语句 9 return 返回语句 7 C语言与省二级考试FTP:/0 张建宏 7 第 三 章 语 句 五、函数调用语句 函数调用+语句 例如: sin(0.5); scanf(“%d”, 等等 l 本节要点 n 关系运算符与关系表达式P27 n 逻辑运算符与逻辑表达式P27 n 选择结构程序设计 n n 循环的基本概念循环的基本概念 n n 不同形式的循环控制不同形式的循环控制 n n 多重循环问题多重循环问题 3.2控制语句 l 主要内容 一、关系运算符和关系表达式 二、逻辑运算符和逻辑表达式 三、if语句 四、witch语句 10 C语言与省二级考试FTP:/0 张建宏 10 第 三 章 语 句 一、关系运算符和关系表达式 1、关系运算符及其优先次序 1) (大于) 4)= (大于或等于) 5)= (等于) 6)!= (不等于) 优先级相同(高) 优先级相同(低) 说明: 注意写法 关系运算符的优先级低于算术运算符 关系运算符的优先级高于赋值运算符 11 C语言与省二级考试FTP:/0 张建宏 11 第 三 章 语 句 2、关系表达式 用关系运算符将两个表达式(可以是算术表达式或 关系表达式,逻辑表达式,赋值表达式,字符表达式) 接起来的式子,称关系表达式 例:ab,a+bb+c,(a=3)(b=5),ab)(bb”的值为“真”,表达式的值为1。 C语言中没有专用 的逻辑值,1代表 真,0代表假 12 C语言与省二级考试FTP:/0 张建宏 12 第 三 章 语 句 3、关系运算符的结合律 C语言规定关系表达式采取左结合律。表达式 中出现优先级别为同一级别的运算符时,则按从 左到右结合方向处理。 int a=2,b=3,c=1; abb,值是0 , 再计算 033 ,值是1 , 再计算 1bc); printf(“%dn“,d); 0 13 C语言与省二级考试FTP:/0 张建宏 13 第 三 章 语 句 二、 逻辑运算符和逻辑表达式 1、逻辑运算符及其优先次序 1) printf(“%d“,0y) printf(“%d”,x); 表达式 语句 真(非0) 假 (0) #include main() float x , y; scanf(“%f ”, y = 2 * x ; if ( x b) c=a,a=b,b=c; B)if(ab)c=a,a=b,b=c; C)if(ab)c=a;a=b;b=c; D)if(ab)c=a;a=b;b=c; 全国计算机等级考试二级笔试原题 C 23 C语言与省二级考试FTP:/0 张建宏 23 第 三 章 语 句 (2)双分支选择语句 格式:if(表达式) 语句1 else 语句2 条件 语语句1 语语句2 YN 执行过程:首先先判断表达式的值若为非0则执行语句1。若为0 则执行语句2 例: if (xy) printf(“%d”,x); else printf(“%d”,y); #include main() float x , y; scanf(“%f ”, if ( x b) a=b; c=a; if(c!=a) c=b; printf(“%d,%d,%dn“,a,b,c); 其输出结果是( ) A、程序段有语法错 B、3,5,3 C、3,5,5 D、3,5,7 (全国计算机等考试原题) D A 25 C语言与省二级考试FTP:/0 张建宏 25 第 三 章 语 句 说明: (1)2种形式的if语句中在if后面都有表达式, 一般为逻辑表达式或关系表达式,但可以是任意 数值型表达式。 (2)第一,第二种形式的if语句中,在每个 else前面有一个分号,整个语句结束处有一 个分号。 (3)在if和else后面可以只含有一个内嵌的操 作语句,也可以由多个操作语句,此时用花 括号将几个语句括起来成为一个复合语句。 26 C语言与省二级考试FTP:/0 张建宏 26 第 三 章 语 句 v C语言中条件运算符的优先级高于赋值运算符,但低于逻 辑运算符。 v 条件运算符要求有三个操作对象,称三目(元)运算符。 v 条件运算符的结合方向为“自右至左”。如条件表达式: y=x10?x/10:x0?x:-x; 从右至左结合,等价于: y=x10?x/10:(x0?x:-x); 它的功能是:当x10时,y的值为x/10; 当x0? (3)条件运算符 ?:P28 格式:表达式1?表达式2:表达式3 表达式1 表达式2表达式3 YN 27 C语言与省二级考试FTP:/0 张建宏 27 第 三 章 语 句 说明: (1)条件运算符的执行顺序:先求解表达式,若为非(真) 则求解表达式,此时表达式的值就作为整个条件表达式 的值。若表达式的值为(假),则求解表达式,表达 式的值就是整个条件表达式的值。 (2)条件运算符优先级高于赋值运算符 ,低于关系运算符 和算术运算符。 (3)条件运算符的结合方向为“自右至左”。 (4)“表达式2”和“表达式3”不仅可以是数值表达式,还可以 是赋值表达式或函数表达式。 (5)条件表达式中,表达式的类型可以与表达式和表达 式的类型不同。 28 C语言与省二级考试FTP:/0 张建宏 28 第 三 章 语 句 例、以下程序段中,与语句:k=ab?(bc?1:0):0;功能相 同的是( ) A)if(ab) else k=0; B)if(ab)|(bc) k=1; else k=0; C)if(ab) k=1; else if(bc) k=1; else k=0; 全国计算机等级考试二级笔试原题 A 29 C语言与省二级考试FTP:/0 张建宏 29 第 三 章 语 句 例、输入两个实数,按代数值由小到大的顺序输出这两个数。 #include void main() float a,b,t; scanf(%f,%f, if(ab) t=a; a=b; b=t; printf(%5.2f,%5.2fn,a,b); y n ab t=a a=b b=t 30 C语言与省二级考试FTP:/0 张建宏 30 第 三 章 语 句 例、输入三个数a,b,c,要求按由小到大的顺序输出。 If ab 将a和b对换 If ac 将a和c对换 If bc 将b和c对换 ab ac bc a和b交换a和c交换c和b交换 y y y n n 31 C语言与省二级考试FTP:/0 张建宏 31 第 三 章 语 句 #include void main ( ) float a,b,c,t; scanf(%f,%f,%f, if(ab) t=a;a=b;b=t; if(ac) t=a;a=c;c=t; if(bc) t=b;b=c;c=t; printf(“%5.2f,%5.2f,%5.2fn“,a,b, c); 32 C语言与省二级考试FTP:/0 张建宏 32 第 三 章 语 句 2、If语句的嵌套 在if语句中又包含一个或多个if语句称为if语句的嵌套。 形式: If() if() 语句1 else 语句2 else if() 语句3 else 语句4 内嵌if 内嵌if 33 C语言与省二级考试FTP:/0 张建宏 33 第 三 章 语 句 匹配规则: else总是与它上面的,最近的,同一复合语句中的,未配 对的if语句配对。 例: If() if() 语句1 else if() 语句2 else 语句3 例: If() if() 语句1 else if() 语句2 else 语句3 当if和else数目不同时,可以加花括号来确定配对关系。 34 C语言与省二级考试FTP:/0 张建宏 34 第 三 章 语 句 -1 (x0) 值,输出y值。 算法1: 算法1: 输入x 输入x 若x0,则y=1 若x=0,则y=0 输出y 若x0,则y=1 输出y 35 C语言与省二级考试FTP:/0 张建宏 35 第 三 章 语 句 #include void main() int x,y; scanf(“%d”, 程序段 printf(“x=%d,y=%dn”,x,y); 36 C语言与省二级考试FTP:/0 张建宏 36 第 三 章 语 句 上例中的程序段有四个,请判断哪个是正确的? 程序1: 程序2: If(x=0) Y=-1; if(x0) y=1; Else else y=0; If(x=0) y=0; else y=-1; Else y=1; 程序3: 程序4: Y=-1; y=0; If(x!=0) if(x=0) If(x0) y=1; if(x0) y=1; Else y=0; Else y=-1; 正 确 正 确 37 C语言与省二级考试FTP:/0 张建宏 37 第 三 章 语 句 例、输入一个字符,判别它是否大写字母,如果是, 将它转换成小写字母;如果不是,不转换。然后输出 最后得到的字符。 #include void main ( ) char ch; scanf(“%c“, ch=(ch=A switch(x) case 1: switch(y) case 0: a+; break; case 1: b+; break; case 2: a+; b+; break; case 3: a+; b+; printf(“a=%d,b=%dn”,a,b); 程序的运行结果是( )。 A、a=1,b=0 B、a=2,b=2 C、a=1,b=1 D、a=2,b=1 内层的break;只 能跳出所在的层 (全国计算机等考试原题) D 47 C语言与省二级考试FTP:/0 张建宏 47 第 三 章 语 句 例、有以下程序 #include main( ) int c=0,k; for(k=1;k void main() int year, leap; scanf(“%d“, if (year%4=0) if (year%100=0) if (year%400=0) leap=1; else leap=0; else leap=1; else leap=0; if (leap) printf(“%d is “,year); else printf(“%d is not “,year); printf(“a leap year.n“); (!) ; (!) ; (!) ; ; 运行情况: . . 50 C语言与省二级考试FTP:/0 张建宏 50 第 三 章 语 句例、求x2方程的解。 基本的算法: ,不是二次方程。 ,有两个相等实根。 ,有两个不等实根。 ,有两个共轭复根。 51 C语言与省二级考试FTP:/0 张建宏 51 第 三 章 语 句 52 C语言与省二级考试FTP:/0 张建宏 52 第 三 章 语 句 #include #include void main ( ) float a,b,c,disc,x1,x2,realpart,imagpart; scanf(“%f,%f,%f“, printf(“the equation “); if(fabs(a)1e-6) x1=(-b+sqrt(disc)/(2*a); x2=(-b-sqrt(disc)/(2*a); printf(has distinct real roots:%8.4f and %8.4fn,x1,x2); else realpart=-b/(2*a); imagpart=sqrt(-disc)/(2*a); printf(has complex rootsn); printf(%8.4f+%8.4fin,realpart,imagpart); printf(%8.4f-%8.4fin,realpart,imagpart); 54 C语言与

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论