C程序设计教程(第2版)第3章 分支结构程序设计.pptVIP

  • 1
  • 0
  • 约7.01千字
  • 约 54页
  • 2019-12-02 发布于湖北
  • 举报

C程序设计教程(第2版)第3章 分支结构程序设计.ppt

#include stdio.h main( ) { int a=0; printf(Input a:\n); scanf(%d,a); if ( a%2==0 ) printf(Even number\n); else printf(Odd number\n); } 第1次运行 16? 输出 Even number 第2次运行 5? 输出 Odd number 关键字 带else的if语句形式 if (表达式) if子句 else else子句 必须与if配对使用 语法上都要求一条语句 语法上都要求一条语句 执行过程 非0 表达式 if子句 0 else子句 3.3.2 if语句的嵌套 【例3.9】嵌套if语句的示例。 P67 int a=0,b=0; a=b=3; if( a5 ) if( a10 ) a++; else a--; if ( b5 ) { if( b10 ) b++; } else b--; printf(a=%d,b=%d\n,a,b); 内嵌if语句 构成 if 子句 是 if( a5 ) if( a5 ) if( a5 ) if( a5 ) if子句 是复合语句 运行结果 a=3,b=2 注意if和else的配对 【例3.5】编写输出如下分段函数值的程 序,要求x的值从键盘输入。 1 (0x≤1) x+1 (x≤0) x (x1) y= 【例3.10】编写求下面分段函数值的程序,其中x的值从键盘输入 。 x3+5 (当0≤x10时) x2+1 (当20≤x30时) y= 0 (当x0时) 2x2-x-6 (当10≤x20时) x+3 (当x≥30时) scanf(%f,x); scanf(%f,x); if(x0) y=0; else scanf(%f,x); if(x0) y=0; else if(x10) y=x*x*x+5; else scanf(%f,x); if(x0) y=0; else if(x10) y=x*x*x+5; else if(x20) y=2*x*x-x-6; else if(x30) y=x*x+1; else y=x+3; printf(x=%f,y=%f\n,x,y); 被嵌套的if语句 3.4 switch语句 解决多分支问题 P69 返回 【例3.11】从键盘输入一个整数 输入1时 显示A 输入2时 显示B 输入3时 显示C 输入其他数时 显示D scanf(%d,a); switch ( a ) { case 1: printf(”A”); break; case 2: printf(”B”); break; case 3: printf(”C”); break; default: printf(”D”); break; } 关键字 第一次运行输入 1? 1 输出 A 退出switch语句体 第二次运行输入 2? 2 输出 B 退出switch语句体 入口 入口 第三次运行输入 3? 3 入口 输出 C 退出switch语句体 第四次运行输入 5? 5 入口 输出 D 退出switch语句体 switch语句的一般形式 switch ( 表达式 ) { case 常量表达式1: 语句组1 break; case 常量表达式2: 语句组2 break; … … case 常量表达式n: 语句组n break; default: 语句组n+1 break; } 整型或字符型 值不能相等 switch语句常用于处理键盘命令 执行过程( 以例3.11为例) a=? 输入a的值 输出A 输出B 输出C 输出D =1 =2 =3 =其他 【例3.1

文档评论(0)

1亿VIP精品文档

相关文档