已阅读5页,还剩59页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目要求 本项目编写一个供小学生进行十以内的加减法练习的程序 可以让用户来选择进行加法练习或减法练习根据用户的选择随机产生10道加法或减法算术练习题由用户计算并输入答案 根据用户的计算结果 统计并显示用户答对的题目个数 可以提示用户是否继续练习 如果用户选择退出 则结束程序运行 C语言程序设计 项目六循环程序设计 小学加减法练习 学习目标 了解程序的循环结构 熟悉随机数的意义及随机函数 熟悉for循环 熟悉while循环 了解continue语句 了解好程序的标准 任务一显示提示信息 由用户选择执行不同操作任务二出加法题任务三出减法题任务四出10道题任务五对用户计算结果进行判断 给出成绩任务六实现 再来一次 项目六循环程序设计 小学加减法练习 任务一显示提示信息 由用户选择执行不同操作 程序的总体设计首先分析本程序的功能和基本结构 输入错误 选择4 任务一显示提示信息 由用户选择执行不同操作 显示提示信息 printf n n printf Welcometothearithmeticexercisesystem n n printf t t1 Additionexercise n printf t t2 Subtractionexercise n printf t t3 Exit n n printf n n printf Pleaseinputyourchoice 1 2or3 任务一显示提示信息 由用户选择执行不同操作 根据用户选择 执行不同操作 获得用户输入用变量option来保存用户输入的数值 intoption scanf d 输入错误 其它选择 2 执行不同的操作根据变量option的值来确定执行什么操作 使用if语句完成设计if option 1 生成10道加法算术题 并统计答案正确的题的个数 输出结果 elseif option 2 生成10道减法算术题 并统计答案正确的题的个数 输出结果 elseif option 3 printf nGoodbey 打印 再见 exit 0 正常结束程序 else printf Yourinputiserror n 任务一显示提示信息 由用户选择执行不同操作 根据用户选择 执行不同操作 使用switch语句完成设计switch option case1 生成10道加法算术题 break case2 生成10道减法算术题 break case3 printf nGoodbey exit 0 break default printf Yourinputiserror n exit 函数的功能是结束程序的运行 要使用这个函数需要加载头文件 stdlib h stdlib h定义了两个宏作为exit 函数的自变量 EXIT FAILURE和EXIT SUCCESS 如果自变量等于上述两个值之一 此程序就会返回对应系统的特定值 告诉系统此程序成功或失败 defineEXIT FAILURE1 defineEXIT SUCCESS0exit 1 表示进程非正常退出 exit 0 表示进程正常退出 任务二出加法题 程序每次运行时都能出现不同的题目 需要用到随机函数rand 随机函数 rand 功能是产生一个随机整数 这个数的范围是 0 RAND MAX RAND MAX是一个符号常量 代表整型量的最大值 也是可能生成的随机数的最大值 RAND MAX在头函数stdlib h中定义 如果使用rand 函数 要加载此头文件 其实 C语言中使用的随机函数rand 是按照确定的数学方法计算出来的 并不是真正的随机数 通常称为 伪随机数 如何才能得到给定区间的整数呢 如 如何才能得到0 9的任意一个数呢 方法1 rand RAND MAX 10方法2 rand 10 include stdio h include stdlib h voidmain inta b a rand 10 b rand 10 printf d d a b getch 一般地 如果想产生X和Y之间的数 可以使用下面的公式 k rand Y X 1 X 练习 如何利用rand 函数产生1 100的随机整数 k rand 100 1 如何利用rand 函数产生30 50的随机整数 k rand 21 30 include stdio h include stdlib h voidmain inta b a rand 10 b rand 10 printf d d a b 说明 由于计算机生成随机数时需要一个数作为计算的初始数 这个数称为 种子 如果不设定种子 就按默认的值计算 这样每次运行同一个程序 得到的伪随机数都是相同序列的 一般要在程序开始运行的时候使用srand 函数设定一个种子 由于系统时间在每一时刻都是不同的 所以通常利用系统的时间作为随机数种子 设置方法为 srand time 0 time 函数的参数 0 表示取得当前用户所使用的计算机系统的时间 使用该函数需要加载头文件 time h include stdio h include stdlib h include time h voidmain inta b srand time 0 a rand 10 b rand 10 printf t d d a b 产生被减数a和产生减数b这两步操作可能会被执行多次 当程序中出现了需要反复执行的部分 这样的程序就是 循环结构 程序 任务三出减法题 一 了解循环结构当程序中出现了需要反复执行的部分 这样的程序就是 循环结构 程序 其中被执行多次的语句称为 循环体 语句 循环结构是组成程序的三种基本结构之一 在C语言中 循环结构可以分为下面两种情况 第1种情况 先进行条件判断 如果条件成立就反复执行循环体语句 条件不成立 则退出循环 使用while语句来实现第2种情况 先执行一遍循环体语句 然后进行条件判断 如果条件成立就反复执行语句 条件不成立 则退出循环 使用do while语句来实现 任务三出减法题 a 先判断 后执行 b 先执行 后判断 循环结构 任务三出减法题 C语言中 使用while语句完成第1种 先判断 后执行 的循环 使用do while语句完成第2种 先执行 后判断 的循环 二 While语句while语句的一般格式 while 表达式 循环体语句 while 表达式 中的表达式就是循环条件 它与 if 表达式 中的表达式一样 一般为逻辑表达式或关系表达式 也允许是其他类型的数据 如整型 实型 字符型等 循环体语句可以是一条语句 也可以是多条语句 当循环体语句仅由一条语句构成时 可以不使用 任务三出减法题 while语句的一般格式 while 表达式 循环体语句 while语句的执行过程 首先求解表达式的值 当表达式的值为 真 非0 时 执行while语句中的循环体语句 执行完循环体语句后 继续下一次条件判断 否则 跳出while语句中的循环体语句 执行while语句的下一条语句 例子 includemain ints 0 i 0 while i 5 s s i i i 1 printf i ds d i s i 6s 15 例6 7 includemain intn 0 printf inputastring n while getchar n n printf d n 练习 参考以上程序 编写程序 求1 2 3 100 includemain intn 1 sum 0 while n 100 sum sum n n printf d sum 编写程序 求1 2 3 4 5 includemain intn 1 mul 1 while n 5 mul mul n n printf d mul 编写程序 求1 3 5 99 includemain intn 1 sum 0 while n 100 sum sum n n n 2 printf d sum intpassword printf pleaseinputyourpassword n scanf d 进入系统 三 do while语句 do while语句的一般格式 do 循环体语句 while 表达式 do while语句的执行过程首先执行一遍循环体语句 然后求解表达式的值 当表达式的值为真 非0 时 再执行一遍循环体语句 否则 结束循环 执行do while语句的下一条语句 includemain ints 0 i 0 do s s i i i 1 while i 5 printf i ds d i s includemain ints 0 i 0 while i 5 s s i i i 1 printf i ds d i s while语句和do while语句一般都可以相互改写 includemain ints 0 i 6 do s s i i i 1 while i 5 printf i ds d i s getch includemain ints 0 i 6 while i 5 s s i i i 1 printf i ds d i s getch i 7s 6 i 6s 0 do while语句和while语句的区别 do while语句是先执行后判断 因此do while语句至少要先执行一次循环体 而while语句是先判断后执行 如果条件不满足 则一次循环体语句也不执行 include include includemain inta b srand time 0 do a rand 10 b rand 10 while a b printf t d d n a b 改正 用do while语句来解决减法算术题问题 任务四出10道题 出10到加法题 10遍 a rand 10 b rand 10 printf t d d n a b 一 用while语句出10道加法题 while语句和do while语句都能实现这个功能 不过需要一个专门的变量来控制循环的次数 这个变量被称为 循环变量 通常使用i j k等来定义该变量 include include includemain inta b i i 0 srand time 0 课本有误 while i 10 a rand 10 b rand 10 printf t d d n a b i 用while语句出10道加法题 用do while语句出10道加法题 include include includemain inta b i i 0 srand time 0 do a rand 10 b rand 10 printf t d d n a b i while i 10 注意 在循环中 必须要有使循环趋于结束的语句 否则 如果没有使循环变量的值发生改变的语句 或者永远也不能满足循环条件 则程序会一直执行下去 即出现 死循环 应避免此现象的发生 二 出10道减法题 用while语句和do while语句出10道减法题continue语句 只能用在循环体中 其语义是 结束本次循环 即不再执行循环体中continue语句之后的语句 转入下一次循环条件的判断与执行 注意 continue语句只结束本层本次的循环 并不跳出循环 includemain intn 1 while n 10 if n 3 0 continue printf d n n break语句其语义是 中断当前的循环语句 不管循环条件成立不成立 也不管后面还有没有循环体的其他语句 都强行中断 结束当前循环 接着执行循环体后面的语句 注意 break语句只能结束本层循环 而不影响外层的循环 如果外面还有嵌套的循环 则继续执行 main intn 1 while n 10 if n 3 0 break printf d n n 使用while语句来完成出10道减法题 include include includemain inta b i 0 srand time 0 课本有误 while i 10 a rand 10 b rand 10 if a b printf t d d n a b i continue break 使用do while语句来完成出10道减法题 include include includemain inta b i 0 srand time 0 do a rand 10 b rand 10 if a b continue printf t d d n a b i while i 10 三 用for语句出10道加法题 for语句是 语言所提供的功能更强 使用更广泛的一种循环语句 for语句的一般形式 for 表达式1 表达式2 表达式3 循环体语句 表达式1 通常用来给循环变量赋初值 一般是赋值表达式 也允许在for语句外给循环变量赋初值 此时可以省略该表达式 表达式2 通常是循环条件 一般为关系表达式或逻辑表达式 也允许是数值 或字符 表达式 用于判断循环条件是否成立 其值为真时 循环继续 否则 循环中止 表达式3 通常可用来修改循环变量的值 一般是赋值语句 用于定义循环变量的增值 这3个表达式都可以是逗号表达式 即每个表达式都可由多个表达式组成 3个表达式都是任选项 都可以省略 循环体可以是一条语句 或多条语句 如果是一条语句 可以省略 for语句的执行过程 求解表达式1的值 计算表达式2的值 若值为 真 非0 则执行循环体一次 否则跳出循环 求解表达式3的值 然后转回第2步 重复执行 在整个for循环过程中 表达式1只计算一次 表达式2 3则可能计算多次 循环体执行的次数依表达式2而定 for 表达式1 表达式2 表达式3 循环体语句 如 for i 1 i 100 i sum sum i 等价于inti 1 while i 100 sum sum i i 分析下列for语句的执行过程 写出执行结果 for i 1 i 100 i i 2 sum sum 1 for i 0 i 10 i printf d n i for i 0 i 5 i printf n for i 0 i 10 i 2 printf n include include includemain inta b i srand time 0 课本有误 for i 0 i 10 i 课本有误 a rand 10 b rand 10 printf t d d n a b 用for语句出10道加法题 用for语句完成出10道减法题 include include includemain inta b i srand time 0 课本有误 for i 0 i 10 i do a rand 10 b rand 10 while a b printf t d d n a b 循环语句可以用while语句 do while语句完成 也可以用for语句完成 一般来说 在确定循环次数的情况下 使用for循环的程序更简洁 循环的嵌套在一个循环的循环
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房顶安全合同协议书
- 手机售卖协议书范本
- 手机销售保密协议书
- 打印作业协议书模板
- 打桩头劳务合同范本
- 托管服务协议书范本
- 黔东南苗族侗族自治州国家职业技能鉴定考评员理论考试试卷及答案
- 2025年甘肃省公务员考试行测言语理解专项训练试卷(含答案)
- 投资教育新手指南:耐心与价值投资的启示
- 云技术引领:数字经济的未来发展与创新策略
- 缝纫设备日常保养制度
- 中老年人中医养生课件教学
- 检察院实习生管理办法
- DB32-T 5035-2025 改扩建工程老路沥青路面结构内部状况快速检测方法与评价规范
- 小儿泄泻门诊病例分析
- 从科技角度探讨国际教育的同质化与多元化
- 国际学校校庆活动方案
- 2025年物联网技术考试试题及答案文件
- 2024年江苏省南京市中考英语试卷真题(含答案)
- 十五五规划中畜牧业的十项重点工作
- DeepSeek大模型赋能智慧交通解决方案
评论
0/150
提交评论