内容正文:
厦门市松柏中学初中信息技术
廖鹭峰
第五课 顺序结构
主题2:算术运算
1
运算规则
2
动手实践:三个小朋友分糖果
3
实践创新:求三位数数字之和
1
运算规则
课堂任务一:尝试输入以下4个代码片段,观察它们的运行结构.说明了除法运算的哪些特征?
#include <stdio.h>
int main()
{
{ int x=10;float y; y=x/3; printf("%f
",y);}
{float x=10; float y; y=x/3; printf("%f
",y);}
{int x=10; float y; y=x/3.0; printf("%f
",y);}
{float x=10; int y; y=x/3; printf("%f",y);}
return 0;
}
算术运算
输出结果分析:
变量x整型,x/3为整除,赋值给y值为3;变量y实型,输出没有规定小数位数,默认为6位小数
变量x实数,x/3不是整除,赋值给y值为3.333333;默认为6位小数
虽然变量x整型,x/3.0不是整除,赋值给y值为3.333333;默认为6位小数
变量y定义为整型,输出格式规定为实型,类型错误,结果都为0
+(加号) 加法运算 (3+3)
–(减号) 减法运算 (3–1) 负 (–1)
*(星号) 乘法运算 (3*3)
% 取模运算符,结果为整除后的余数(取余)
/ 分子除以分母
++ 自增运算符,整数值增加1
-- 自减运算符,整数值减少1
运算规则
示例
定义变量x为整型,并赋值10;
变量x+20=10+20=30,并赋值给y;
定义变量x-20=10-20=-10;
定义变量x*20=10*20=200;
定义变量x/3=10/3=3,整除3,结果为整数;
定义变量x%3=10%3=1,%求余数;
先执行y=x=10,再执行x++,x++ ——→ x=x+1=10+1=11;
先执行y=x=11,再执行x--,x-- ——→ x=x-1=11-1=10,;
2
动手实践
三个小朋友分糖果
三个小朋友分糖果(p70)
算法分析
算法分析
自然语言描述
有甲、乙、丙三个小朋友。甲有x粒糖果,乙有y粒糖果,丙有z粒糖果。现在他们做一个游戏:从甲开始,将自己的糖果平均分三份,自己留一份,其余两份分别给乙和丙,多余糖果自己吃掉,然后乙与丙也依次这样做。问最后甲、乙、丙三人各有多少粒糖果?
用x、y、z三个整型变量表示甲、乙、丙的初始糖果数。
先将甲的糖果分成三份,每份为x/3,那么现在甲的糖果数为x=x/3,乙的糖果数y=y+x,丙的糖果数z=z+x;
接着,将乙的糖果分成三份,每份为y/3,现在乙的糖果数为y=y/3,甲的糖果数是x=x+y,丙的糖果数为z=z+y;
最后,将丙的糖果数分成三份,每份为z/3,现在丙的糖果数为z=z/3,甲的糖果数是x=x+z,乙的糖果数为y=y+z。
三个小朋友分糖果(p70)
流程图
算法分析
开始
输入x,y,z的值
x=x/3;y=y+x;z=z+x
y=y/3;x=x+y;z=z+y
z=z/3;x=x+z;y=y+z
输出x,y,z的值
结束
三个小朋友分糖果(p70)
程序代码
3
实践创新
三位数数字之和
完成教材p71的实践创新任务,输入一个三位正整数,求出每个数位上的数字之和。如123,每个数位上的数字之和为6。(1+2+3=6)
百位:bai=i/100
十位:shi=(i-bai*100)/10
个位:ge=i-bai*100-shi*10
算法分析
百位:bai=i/100
十位:shi=i/10%10
个位:ge=i%10
算法分析一
算法分析二
变量名
百位:bai
十位:shi
个位:ge
三位数数字之和(p71)
三位数数字之和(p71)
流程图
算法分析
开始
输入三位正整数
求百位数字:bai=i/100
求十位数字:shi=i/10%10
求个位数字:ge=i%10
输出sum的值
结束
求三个数之和:sum=bai+shi+ge
程序代码
三位数数字之和(p71)
谢谢光临指导
$