C语言常见几种流程控制语句_图文.ppt

合集下载

C语言程序设计 流程控制语句

C语言程序设计 流程控制语句
常量表达式1
表达式
常量表达式n
其它
常量表达式2
语句1
语句2

语句n
语句n+1
说明: 1.switch后面括弧内的“表达式”和case常量表达式,可 以是任何类型。 2.当表达式的值与某一个case后面的常量表达式的值相 等时,就执行此case后面的语句,若所有的case中的常 量表达式的值都没有与表达式的值匹配的,就执行 default后面的语句。 3.每一个case的常量表达式的值必须不相等,否则就会 出现矛盾的现象(对表达式的同一个值,有多种执行 方案)
5.条件表达式中,表达式1的类型可以与表达式2 和表达式3不同。如: x? ‘a’ : ‘b’ x是整形变量,若x=0,则条件表达式的值为‘b’ 表达式2和表达式3的类型也可以不同。此时条件 表达式的值的类型为二者中较高的类型。如: x>y?1:1.5 如果x≤y,则表达式的值为1.5。若x>y,值应为1, 由于1.5是实型比整型高,因此应转换为1.0
2.语句1与语句2不能同时执行。
举例
例4.2 将例4.1程序中的if语句改成 if-else语句,如果游戏者猜对了,就 显示”**Right**”,若猜错了,就显 示“**Wrong**”。
#include <stdio.h>
main() { int magic=123;
int guess;
printf("Enter your guess:");
4.1.1 if语句
程序设计过程中,常常需要根据某一条件是否满足 来判断做或者不做某件事。这种结构在c中是通过if语句 实现的。
if语句的三种形式
if语句的三种形式(1)
形式一:

C语言C程序的基本控制结构PPT课件

C语言C程序的基本控制结构PPT课件

关于 scanf( ) 函数使用的几点说明:
1 输入数据的分隔符:空格、制表符或回车键
例如, scanf(“%d%d%d”,&i,&j,&k);
输入形式可以是: ① 3 4 5<CR> ② 3 4 5<CR> ③ 3<CR> 4<CR> 5<CR>
输出结果: ***************************
好好学习,天天向上
***************************
第24页/共96页
例3-3:使用printf函数输出如下信息: 姓名 外语 数学 王丽 60 70
程序: #include <stdio.h> void main() {
第15页/共96页
例如, printf(“%10f,%10.2f,%.2f\n”,123.456,123.456,123.4);
输出结果为 123.456000, 123.46,123.40
(3) %m.ne 其中:m 规定输出最小宽度;(n-1)为尾数部分的小数位数。 例如,
printf(“%10e,%10.4e,%.3e\n”,123.456,123.456,123.4); 输出结果为
三种基本结构的共同特点
1. 只有一个入口; 2. 只有一个出口; 3. 结构内的每一部分都有可能被执行到; 4. 结构内不存在“死循环”。
第5页/共96页
3.1.1 C程序的语句
C语言的语句可分为以下四类:
1.表达式语句 2.函数调用语句 3.控制语句 4.复合语句 5.空语句
简单语句
第6页/共96页
#include<stdio.h>

流程控制语句与函数PPT演示文稿

流程控制语句与函数PPT演示文稿
if(表达式1) 语句1; else if(表达式2) 语句2; else if(表达式3) 语句3; …… else 语句n;
6
static void Main(string[] args)
{
double x;
double y = 0;
String s;
Regex r = new Regex("^[0-9]{1,}.[0-9]{1,}$");
Console.WriteLine("恭喜你,通过了这次考试!"); Console.Read(); }
4
5.2.1 if语句
➢ 用if语句实现双分支选择结构 表达式为
if(表达式)
true?
语句1;
else
yes
语句2;
语句 1
no 语句 2
5
5.2.1 if语句
➢ 用if语句实现多分支选择结构
case 8: class1 = 'B'; break;
case 7: class1 = 'C'; break;
case 6: class1 = 'D'; break;
default: class1 = 'E'; break;
}
Console.WriteLine("你的成绩等级为:{0}",class1 ); }
switch(表达式)
{
case常量表达式1: 语句1;
Switch 表达式
break;
case常量表达式2:
语句2; break;
语句 1
语句 2
语句 n
语句 n+1
……

C语言程序设计 C语言控制语句PPT课件

C语言程序设计 C语言控制语句PPT课件

例如: putchar(‘b’); putchar(‘\n’); putchar('\101'); putchar(st);
输出:b 输出:回车换行 输出:A
第6页/共112页
2021/4/6
说明
• putchar是C语言的标准库函数,使用时必须加编译预处理命令:
#include "stdio.h" 或 #include <stdio.h> 【例3.1】利用putchar函数输出字符。

Y?
A
N-S 结构 图
当P成立时 A
直到型循环
A Y
P成立 N?
A 当P成立时
第3页/共112页
2021/4/6
3.1 结构化程序设计
• 3种基本结构特点: • 只有一个入口和一个出口 • 结构内的每一个框都有机会被执行 • 结构内没有死循环
• 仅包含3种基本结构的程序称为结构化程序
第4页/共112页
对f%lolaf、t和%doleu—bl— e型输指入整双数精位度数实+小型数数点 +小数位数
第22页/共112页
2021/4/6
例如: • scanf ("%d%d%d", &a, &b, &c);
输入3个十进制整型数,以空白符 (空格、tab键或回车键)分隔 • scanf ("%d, %o, %f ", &a, &b, &x); 输入3个数,以“,”分隔 • scanf ("a=%d, b=%d", &a, &b); 输入的形式是:a=32, b=28 (普通字符要照原样输入)

★第05章C的流程控制语句

★第05章C的流程控制语句

}
例5.2 求ax2+bx+c=0的根。a、b、c从键盘输入,a≠0。 分析:当输入a、b、c的值后,若b2-4ac<0,则方程无 实根;若b2-4ac>0,则方程有两个不同的实根;若b24ac=O,则方程有两个相等的实根。 #include<iostream.h> #include<math.h>
case 'u': case 'U':
cout<<"这是元音字母\n"; break;
case ' ': case '\n': case '\t':
cout<<"这是空白符\n"; break;
default: cout<<"这是其它字符\n";
} }
若default分支及其语句前移到第一个分支, 则如何修改程序而保持功能不变?
• 格式2:
if(<表达式>) S1 else S2
例5.1 从键盘上输入三个整数,输出三个数中的最大数。 分析:先读入三个数,求出前两个数中的大数,再求出该大数与 第三个数之间的最大数。 #include<iostream.h>
void main(void) { int a,b,c,t;
cout<<"输入三个整数:"; cin>>a>>b>>c;
表达式2也可省: i=2,s=1;
cout<<"1+2+3+…+100="<<s<<endl;for(;;)

C语言程序控制结构PPT课件

C语言程序控制结构PPT课件
y=-1; printf("%d\n",y); }
第26页/共100页
3.多分支语句
几种形式:
if (表达式1) if (表达式2)语句1 else 语句2
else if(表达式3)语句3 else 语句4
内嵌if 内嵌if
if (表达式1) if (表达式2) 语句1
else 语句2
if (表达式1) { if (表达式2) 内嵌if 语句1
第4页/共100页
4.1.3复合语句
• 用 { }括起来的一组语句。 • 一般形式:
{ 执行语句;
}
如:
{ z=x+y; t=z/100; printf("%f",t);
}
▪ 说明: ▪“}”后不加分号
如:
{ z=x+y; { t=z/100;
▪ 其中最后一个语句后也要加分号
printf("%f",t);
运行结果: Enter integer a:12 Enter integer b:9 a!=b
第24页/共100页
分析以下程序的输出结果:
(1) #include <stdio.h>
void main ( ) { int a,b;
scanf("%d",&a); b=1; if(a==5)
b=a+3; b=6; printf("%d\n",b); }
例:执行下列程序段后 a 的值是 ____。
int a=3;
if (2) a=5;
int i ; scanf("%d",&i); if (i <0) i= -i ; printf("%d", i); }

C语言——控制语句(集锦)PPT教学课件

C语言——控制语句(集锦)PPT教学课件
即程序若走到这里,即马上结束本次循环。 跳入循环条件再次判断。
2020/12/11
11
continue (结束本次循环语句)
#include<stdio.h>
main()
{
int a, b(2);
scanf("%d",&a);
do
{
if(a>5)
{printf("此数大于5\n");
continue;
说明: 表示若条件成立则执行~1,否则执行~2. if后面的括号内可以复合条件,但其应等
价于一个条件。 “~”只表示一个语句,且句末应加“;”
但“~”可表示一个复合语句,即用“{}” 包含多个语句。 If 语句可以镶嵌。
2020/12/11
3
if ( ) ~ else ~ (条件语句)
例句:
main()
{
int a, b(2);
scanf("%d",&a);
do
{
if(a>5) printf("此数大于5\n");
printf("此数小于等于5\n");
++b;
}
while(b<7);
}
2020/12/11
10
continue (结束本次循环语句)
说明:提前结束本次循环 常用在循环镶嵌选择句中。 此为独立成句。即后面要加“;”
···········
case 常量n : 语句n;
Default: 语句n+1;
/*表示没有所举常量与A匹
配,则转到default后的语句执行后再向下执行。

C 的流程控制语句讲义(PPT 63张)

C  的流程控制语句讲义(PPT 63张)

例5.4 输入一个字符,判断它是元音字母还是空白符。 #include<iostream.h> •请画程序流程图 void main(void) 单击此处编辑母版标题样式 •用if语句改写本例 { char c; 当省略case后面的语句序列时,则可 cin.get(c); 实现多个入口,执行同一语句序列。 switch(c) • 单击此处编辑母版副标题样式 { case 'a': case 'A': case 'e': case 'E': case 'i': case 'I': case 'o': case 'O': case 'u': case 'U': cout<<"这是元音字母\n"; break; case ' ': case '\n': case '\t': cout<<"这是空白符\n"; break; default: cout<<"这是其它字符\n"; } 若default分支及其语句前移到第一个分支, } 则如何修改程序而保持功能不变?
例5.3 输入三角形的三边,判断其为何种三角形。 #include<iostream.h> 单击此处编辑母版标题样式 void main(void) { int a,b,c; cout<<"输入三角形的三边?"; cin>>a>>b>>c; • if(a+b<=c||b+c<=a||a+c<=b) 单击此处编辑母版副标题样式 cout<<"不能组成三角形!\n"; else if(a==b&&b==c) cout<<"等边三角形\n"; else if(a==b||b==c||c==a) cout<<"等腰三角形\n"; else if(a*a+b*b==c*c||b*b+c*c==a*a||a*a+c*c==b*b) cout<<"直角三角形\n"; else cout<<"普通三角形\n"; }

《C语言流程控制》课件

《C语言流程控制》课件

if-else语句示意图
if-else流程图
C语言中的多分支语句switch-case
1 根据不同的条件执行不同的代码块
2 switch-case与if-else的区别
switch-case结构可以将某一个值与不同的case 情况进行匹配,从而执行不同的代码块。
switch-case适用于已知条件的情况,对代码 的可读性要求较高;而if-else适用于多种条件、 多种分支的情况下。
1 通过实例说明流程控制的应用
通过一个综合应用实例,说明流程控制在程序设计中的应用。
应用实例的示意图
switch-case语句示意图
switch-case流程图
C语言中的for循环
1 循环执行代码块
for循环根据计数器的变化,循环执行指定的 代码块。
2 for循环基本结构
for(初始化表达式; 条件表达式; 更新表达 式){循环体语句}
for循环语句示意图
for循环流程图
C语言中的wh1 指针可以控制程序的流程
指针可以控制程序的流程,从而实现不同功 能。
2 指针在函数调用中的应用
指针可以作为函数参数传递,还可以作为函 数返回值。
指针的示意图
C语言中的数组与流程控制
1 数组可以控制循环次数和判断语句
数组的使用可以控制循环次数和判断语句, 从而实现不同的功能。
C语言中的continue语句
1 跳过本次循环
2 只能用于跳过最近的循环
continue语句可以跳过本次循环,立即进入下 一次循环。
continue语句只能用于跳过当前所在的循环, 而不能跳过多层循环。
continue语句示意图
continue语句流程图

C语言常见几种流程控制语句

C语言常见几种流程控制语句

while循环与do-while 循环
while循环的一般形式为: while(条件) 语句; while循环表示当条件为真时, 便执行语句。直到条件为假才结束循环。并继续 执行循环程序外的后续语句.
#include<stdio.h> main() { char c; c='\0'; /*初始化c*/ while(c!='\X0D') /*回车结束循环*/ c=getche(); /*带回显的从键盘接收字符*/ } 上例中, while循环是以检查c是否为回车符开始, 因其事先被初始化为空,所以条件为真, 进入循环等待 键盘输入字符; 一旦输入回车, 则c='\X0D', 条件为假, 循环便告结束。 与for循环一样, while循环总是在循环的头部检验条件, 这就意味着循环可能什么也不执行就退出。
For语句
for(<初始化>; <条件表过式>; <增量>
(1)初始化总是一个赋值语句, 它用来给循环控制变量赋初值; (2) 条件表达式是一个关系表达式, 它决定什么时候退出循环; (3) 增量定义循环控制变量每循环一次后按什么方式变化。这三个部分之间 用";"分开。 例如: for(i=1; i<=10; i++) 语句; 上例中先给i赋初值1, 判断i是否小于等于10, 若是则执行语句, 之后值增加1。 再重新判断, 直到条件为假, 即i>10时, 结束循环。
注意事项:

1. 条件执行语句中"else 语句2;"部分是选择项, 可以缺省, 此时条件语句变成: if(表达式) 语句1; 表示若表达式的值为非0则执行语句1 , 否则跳过语句1继续执行。 2. 如果语句1或语句2有多于一条语句要执行时, 必须使用"{"和"}" 把这些语句 包括在其中, 此时条件语句形式为: if(表达式) { 语句体1; } else { 语句体2; }
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档