当前位置:
文档之家› C语言教学——结构化程序设计方法
C语言教学——结构化程序设计方法
1、一般形式
switch(表达式) { case 常量表达式1:语句1;break;
case 常量表达式2:语句2;break; ……
case 常量表达式n:语句n; break; default:语句n+1; }
6.2 选择结构程序设计
表达式
常
常
量
量
常
否
量
则
n
1
2
语
语 句 组
语 句 组
……
语 句 组
3)求1*2*3*……*10的积 main( )
S1:pro=1; i=1; S2:pro=pro*i; S3:i=i+1;
{ long int pro=1;int i=1; do { pro=pro*i; i=i+1;
S4:如果 i<=10 ,转S2,否则转S5 }while(i<=10);
S5:输出pro
main( ) { int sum=0,i=1;
while( i<=100) { sum=sum+i;
i=i+1; } printf(“\nsum=%d”,sum); }
S1:sum=0; i=1; S2:当i<=100,转S3,
否则转S5
S3:sum=sum+i; S4:i=i+1; S5:输出sum
奇数,输出“It is an odd number! ”,否则输出“It is
an even number!”,
main( ) {
选择结构
1)基本框架 2)变量定义 输入提示
3)相关变量赋值
4)运算
用if_else语句实现
}
5)结果输出
6.2 选择结构程序设计
一、if语句
1、一般形式
if(表达式) 语句组1
4)运算
else if(score>=70) grade=‘C’ 5)结果输出 else if(score>=60) grade=‘D’
else grade=‘E’
} printf(“\nscore=%f,grade=%c”,score,grade);
6.2 选择结构程序设计
二、Switch语句(多分支语句)
main( )
1)基本框架
{ float score; char grade;
2)变量定义
printf(“\nPlease input the score:”); 输入提示
scanf(“%f”,&score); if(score>=90) grade=‘A’;
3)相关变量赋值
else if(score>=80) grade=‘B’
可否先执行循
S1:pro=1; i=1; S2:pro=pro*i;
环体,然后再 判断条件呢?
S3:i=i+1;
S4:如果 i<=10 ,转S2,否则转S5
S5:输出pro
6.3 循环结构程序设计
【举一反三】:
1)求1+1/2+1/3+……+1/100的和
2)求1-1/2+1/3-1/4……-1/100的和
【例6-5】:已知y和x的对应关系如下,编程实现从键盘输
入x的值,输出对应的y的值。
x (x<1) y= 2x-1 (1≤x<10)
1)基本框架 2)变量定义 输入提示
3x+8 (x≥10)
3)相关变量赋值
4)运算
5)结果输出
6.2 选择结构程序设计
一、if语句
3、特殊形式
1)单分支形式 if(表达式)
S1:sum=0; i=1; S2:sum=sum+i;1/i S3:i=i+1; S4:如果i<=100,转S2,否则转S5 S5:输出sum
6.3 循环结构程序设计
【举一反三】:
1)求1+1/2+1/3+……+1/100的和
2)求1-1/2+1/3-1/4……-1/100的和
3)求1*2*3*……*10的积 S1:sum=0; i=1; t=1;
【例6-5】:期终时,老师常根据同学们的表现给其打等级:
若成绩>=90,等级为优秀(A);
否则,若成绩>=80,等级为良(B);
否则,若成绩>=70,等级为中(C);
否则,若成绩>=60,等级为良及格(D);
否则,
等级为不及格(E);
试编程实现从键盘输入某学生成绩,输出其对应等级。
6.2 选择结构程序设计
C语言程序设计基础
讲授班级:电子072 授课老师:***
第五章 复习
数据(编程对象)
编程 编程方法(步骤)
数据结构 (数据的组织形式)
算法
程序= 算法 + 数据结构(数据类型)
顺序 选择 循环 int float char
6.2 选择结构程序设计
【例6-1】:奇偶数识别
从键盘输入一个整数,判断其是奇数还是偶数,若是
t为符号位
S2:sum=sum+1/it;*1/i
S3:i=i+1;
t=-t;
S4:如果i<=100,转S2,否则转S5
S5:输出sum
6.3 循环结构程序设计
【举一反三】:
1)求1+1/2+1/3+……+1/100的和
2)求1-1/2+1/3-1/4……-1/100的和
3)求1*2*3*……*10的积
} printf(“\n10!=%ld”,pro);
6.3 循环结构程序设计
二、do_while语句
1、一般形式
do {
循环体语句
} while(p) ;
2、求解过程
A Y
P N
6.3 循环结构程序设计
【举一反三】: 1)求1+1/2+1/3+……+1/100的和 2)求1-1/2+1/3-1/4……-1/100的和 3)求1*2*3*……*10的积
scanf(“%d%d”,&a,&b);
if(a>b) { t=a;a=b;b=t; } else a=a+20; printf(“a=%d,b=%d”,a,b);
}
3)相关变量赋值 4)运算
5)结果输出
6.2 选择结构程序设计
【例6-3】:编程从键盘输入一个字符,若为大写,将其转
换为小写。
main( ) { char ch;
复合语句。
if(x>=y) t=x;x=y;y=t;
printf(“x=%d,y=%d”,x,y); 2、执行下列程序段后,x=? a=b=c=0;
看if_else的匹配 关系时,从后住
前看
x=35;
if(!a) x--; else if(b) if(c) x=3;else x=4;
6.2 选择结构程序设计
1)基本框架 2)变量定义
printf(“\nPlease input a character:”); 输入提示
scanf(“%c”,&ch); if(ch>=‘A’ && ch<=‘Z’) { ch=ch+32;}
3)相关变量赋值 4)运算
printf(“ch=%c”,ch);
}
5)结果输出
6.2 选择结构程序设计
i=i+2; } printf(“\nsum=%d”,sum); }
算法
S1:sum=0; i=1; S2:当i<=99,转S3,
否则转S5 S3:sum=sum+i; S4:i=i+2;
S5:输出sum
6.3 循环结构程序设计
【举一反三】: 1)求1+1/2+1/3+……+1/100的和 2)求1-1/2+1/3-1/4……-1/100的和 3)求1*2*3*……*10的积
t为符号位
S2:sum=sum+1/it;*1/i
S3:i=i+1;
t=-t;
S4:如果i<=100,转S2,否则转S5
S5:输出sum
6.3 循环结构程序设计
isfw(sictcohre(>s=cko9r0e) )grade=‘A’;
常量,怎么办?
e{lse ciafs(secore1>0 =8:0) grade=‘B’
cealssee i>f(=s9c9o0re:g>r=ad7e0=) ‘gAr’;abdree=ak‘C;’ case e>ls=e88i0f(:sgcroardee>==‘B60’;)brgeraakd;e=‘D’ case >=77e0ls:geragdrea=d‘eC=’;‘bEr’eak;
6.3 循环结构程序设计
【例5-3】:累加求和 加数i 1)求全班同学的年龄和
局部和sum
2)求1+2+3+……+100的和
循环结构
S0:局部和 0 + 1, 得 1
S1:sum=0; i=1;
S1:局部和 1 + 2, 得 3
S2:sum=sum+i;
S2:局部和 3 + 3, 得 6 S3:局部和 6 + 4, 得 10
6.3 循环结构程序设计
一、while语句
1、一般形式
while(p) {
循环体语句 }
2、求解过程
PN Y
A
6.3 循环结构程序设计