C语言程序设计任务1 购物计算器主讲:朱清妍目 录CONTENTS目 录CONTENTS循环概念C语言程序设计循环:事物周而复始地运动或变 化 — —《战国策·燕策二》循环概念C语言程序设计循环:1、皮皮佑小朋友在一分钟内的重复跳 绳;2、走路时重复使用左右脚;3、打乒乓球重复挥拍的动作循环概念C语言程序设计重复执行同一代码块,让计算机重复执行相同的任务C语言 中的循环循环语句C语言程序设计while循环语句do…while循环语句for循环语句特点C语言程序设计当给定条件成立时,反复执行 某程序段,直到条件不成立为止循环体循环条件案例任务C语言程序设计购物计算器猜数游戏数的阶乘计算素数问题凑硬币问题目 录CONTEN TS任务陈述C语言程序设计本次任务通过输入用户购买商品的种类数,以及每种商品的单价和数量,来统计此次购物的总数量和总金额。运行结果 目 录CONTENTSwhile循环语句C语言程序设计while(表达式){ 语句序列}循环条件循环体循环体中包含两条或两 条以上语句时一定要使用花括号一般形式while语句的执行过程C语言程序设计(1) 计算while后面的表达式,若表达式的值不为0( 即为真),则转向(2),否则转向(3)。(2)执行循环体,循环体执行完毕,转向(1)。(3)退出该循环结构,去执行该结构的后续语句 。流程图表达式语句序列FTwhile(表达式){ 语句序列}while语句的执行过程C语言程序设计(1)表达式的值一开始就 为零,那么循环体一次也不执行(2)当语句序列为一条语句时,花括号可以省略不写(但不推荐这种用法)(3)为了避免出现“无限循环”,一 定要在循环体或表达式中有修改表达式值的操作,否则就成了常说的“死循环”流程图表达式语句序列FTwhile(表达式){ 语句 序列}while语句的应用场合C语言程序设计可用于解决任何涉及需要重复操作的实际问题,特别是无法确定循环次数的实际问题精典案例C语 言程序设计【例4-1】编写程序,用while语句计算从1加到100的值。流程图分析:1、本题的数学表达式为: 1+ 2+3+…+1002、定义: sum为该表达式的和 i为循环变量3、循环计算表达式: sum=sum+i精典案例C语言程序设计流程图#include int main(){ int i,su m=0; i=1; while(i<=100) { sum=sum+i; i++; } printf("%d\n",sum) ; return 0;}程序温馨提示1温馨提示2温馨提示3精典案例C语言程序设计【例4-2】编写程序,统计从键盘输入一行字符的个数 。流程图分析:1、定义计算变量:n(初值为0);2、判断输入的字符是否为’\n’;3、输入的字符不是’\n’时,n=n+1;4、重 复执行第2、3步;5、当输入的字符为’\n’时结束重复操作,输出n。精典案例C语言程序设计流程图#include >int main(){ int n=0; printf("input a string:\n"); while(getchar( )!=''\n'') n++; printf("%d\n",n); return 0;}程序说明第一,while语句中的循环条件表达 式一般是关系表达式或逻辑表达式,只要表达式的值为真(非0)即可继续循环。#include int main(){ int i,sum=0; i=100; while(i) { sum=sum+i; i--; } printf("%d\n",sum); return 0;}第二,循环体若包括有一条以上的语 句,则必须用{}括起来,组成复合语句。第三,应注意循环条件的选择以避免死循环。#include int main (){ int a,n = 0; while(a = 5) printf(“%d",n++); ret urn 0;}C语言程序设计目 录CONTENTS任务实施C语言程序设计本次任务通过输入用户购买商品的种类数,以及每种商品的单价和 数量,来统计此次购物的总数量和总金额。运行结果任务实施流程(1)分析解决该任务的步骤、方法(2)把解决该任务的步骤(算法)用流程图 进行描述(4)测试执行程序C语言程序设计(3)根据流程图编写程序实施步骤第一步,定义变量,赋初值int grade,num,k,s um;float price,money;第二步,输入本次购买商品种类数量存储到grade中;第四步,输出购物总数量及总金额。C语 言程序设计第三步,当grade大于0时,进入循环 输入第k种商品的数量num和单价price, 计算购物总数量sum和总价格money, 完成一种商品的计算后k加1,商品种类grade减1 , 继续去判断grade的值,如大于0,重复输入下一种商品并计算sum和money,直到grade不大于0 ,退出循环;开始sum=0money=0k=1输入gradegrade>0输入第k种商品的num、pricesum=sum+num money=money+numpricek++grade-- 输出结果F结束T流程图编写程序C语言程序设计#includ e int main(){ int grade,num,k,sum; float price,money; su m=0; money=0.0; k=1; printf("本次购买了几种商品:"); scanf("%d",&grade); wh ile(grade>0) { printf("输入第%d种商品的单价:",k); scanf("%f",&price); p rintf("输入第%d种商品的购买数量:",k); scanf("%d",&num); sum=sum+num; money=money+pricenum; k++; grade--; } printf("本次购买商品的总数量:%d\t总价:%.2f\n",sum,money); return 0;}程序流程图测试程序C语言程序设计运行结果C语言程序设计再见 |
|