C语言程序设计教案 第五章 选择结构程序设计_选择结构程序设计教案

2020-02-29 教案模板 下载本文

C语言程序设计教案 第五章 选择结构程序设计由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“选择结构程序设计教案”。

第五章 选择结构程序设计

课题:

教学目的: 教学重点: 教学难点: 第五章 选择结构程序设计

1、掌握实现选择结构的两种语句、一个运算符

2、学会编写选择结构的程序

if-else语句、switch语句、条件运算符

嵌套if-else语句中的if与else匹配问题

步骤一 复习引导

上一次课已经介绍了程序基本结构之一,但在大多数情况下都要用到选择结构。

步骤二 讲授新课

 在C语言中实现选择结构的控制语句主要有if语句、switch语句

一、条件语句

1、if语句的三种形式

语法1:if(表达式)语句;如:#include main(){ char ch;ch=getchar();

if(ch>‟a‟&&ch

putchar(ch);}

语法2:if(表达式)语句1;

else

语句2; 如:#include

main()

{ int a,b;

scanf(“%d%d”,&a,&b);

if(a>b)printf(“max=%dn”,a);

else printf(“max=%dn”,b);

}

语法3:if(表达式1)语句1;

else if(表达式2)语句2;

else

if(表达式3)语句3;

„„

else 语句n+1;

例如:从键盘上输入字符,判别其分类:控制符、数字、大写字母、小写字母、其他字符。#include “stdio.h” main(){ char c;c=getchar();if(c

else if(c>=„0‟&&c

else if(c>=„A‟&&c

else if(c>=„a‟&&c

else

printf(“This is an other charater.n”);说明:

1、三种形式的 if 语句中,if 关键字后均为表达式(逻辑表达式、关系表达式、赋值表达式、变量等);

如:if(a=5)语句;

if(b)语句;

2、if 语句中,条件表达式必须用括号括起来,在语句后必须加分号;

满足条件需执行一组语句时,该组语句必须用{ }括起来; 如:if(a+b>c&&b+c>a&&a+c>b)

{ s=0.5*(a+b+c);

area=sqrt(s*(s-a)*(s-b)*(s-c));

printf(“area=%6.2fn”,area);

}

else

printf(“It is not a trilateral.”);

3、if 语句嵌套时,else 总是与它最靠近的if 匹配;

如:有一数学函数:x0时,y=1 编写程序,输入x的值,输出相应y的值 main(){ int x,y;

scanf(“%d”,&x);

if(x

else if(x= =0)y=0;

else y=1;

printf(“x=%d,y=%dn”,x,y);}

说明:因为if 语句执行时总是简单地测试其中作为条件的“表达式”的值是0还是非0,便可利用这种特性来简化程序设计。如对于:

if(expreion!=0)

完全可用

if(expreion)来代替;

同理:

if(!exp)语句;等价于:if(exp= =0)语句; 二、三目条件运算符及其表达式

1、条件运算符:?:

2、格式:e1?e2:e33、语义:判e1的值,为1时计算e2,否则计算e3;

如:max=(a>b)?a:b 等价于 if(a>b)max=a;

else max=b;

4、说明:

1)条件运算符的结合方向自右至左

如:a>b?a:c>d?c:d 等价于 a>b?a:(c>d?c:d)若int a=1,b=2,c=3,d=4;则表达式的值为________ 例:输入一个正整数i,输出第i个英文字母,若i大于26则输出一个„*‟。#include main(){ int i;

scanf(“%d”,&i);

i=(i

putchar(i);} 2)条件运算符的优先级仅高于逗号运算符与赋值运算符;

3)只有当if语句的真假均只执行一个赋值语句且给同一变量赋值时,才能用条件表达式取代;

如:if(a>b)max=a;

else max=b;思考:int x=1,y=0;x-->(y+x)?5:25>y++?‟1‟:‟2‟的值是______

三、switch 语句

语法1:switch(表达式)

{ case C1:语句序列1;

case C2:语句序列2;

……

case Cn:语句序列n;

default:语句序列n+1;

} 语法2:switch(表达式)

{ case C1:语句序列1;break;

case C2:语句序列2;break;

……

case Cn:语句序列n;break;

default: 语句序列n+1;break;

} 其中:

 switch后括号中的表达式可以为任何类型;

 C1至Cn 是常量表达式,一般是整数或字符,与switch中表达式的取值对应;  default可缺省,当表达式e的值不是C1到Cn的情况。

注意两种语法的执行顺序!

例:switch(grade)

{ case „A‟: printf(“85~100n”);break;

case „B‟: printf(“70~84n”);break;

case „C‟: printf(“60~69n”);break;

case „D‟: printf(“

default: printf(“errorn”);break;

}

 允许多个case共用一个执行语句 例:switch(ch){ case „0‟: case „1‟: case „2‟: case „3‟: case „4‟: case „5‟: case „6‟: case „7‟: case „8‟:

case „9‟:digit++;break;

case „ „: case „t‟: case „n‟: white++;break;

default: character++;}

 break语句只能跳出一层,内外层情况常可相同; 如:

int x=1, y=0;switch(x){ case 1: switch(y)

{case 0: printf(“**1**n”);break;

case 1: printf(“**2**n”);break;

}

case 2: printf(“**3**n”);} 运行结果为:**1**

**3**

五、程序举例

例:求ax2+bx+c=0方程的根。分析:

(1)a=0,不是二次方程。

(2)b2-4ac=0,有两个相等的实根。(3)b2-4ac>0,有两个不等的实根。(4)b2-4ac

步骤三 课堂小结

1、两种选择语句:if-else、switch语句,注意选择条件的描述;

2、在编写程序过程中,注意分支的作用范围,及复合语句的运用。

步骤四 布置作业

1、上机作业(第五章课后练习):5.5、5.62、书面作业(第五章课后练习)5.3、5.9

《C语言程序设计教案 第五章 选择结构程序设计.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
C语言程序设计教案 第五章 选择结构程序设计
点击下载文档
相关专题 选择结构程序设计教案 第五章 程序设计 教案 选择结构程序设计教案 第五章 程序设计 教案
[教案模板]相关推荐
    [教案模板]热门文章
      下载全文