当前位置: 首页 > news >正文

c语言第七天笔记

作业题:

设计TVM(地铁自动售票机)机软件。

输入站数,计算费用,计费规则,6站2元,7-10站3元,11站以上为4元。 输入钱数,计算找零(找零时优先找回面额大的钞票),找零方式为各种面额张数,可识别面额: 100,50,20,10,5,1

案例代码:

运行效果:

循环结构

什么是循环

代码的重复执行,就叫做循环。

循环的分类

无限循环:程序设计中尽量避免无限循环。(程序中的无限循环必须可控)

有限循环:循环限定循环次数或者循环的条件。

循环的构成

循环体

循环条件

当型循环的实现

while

语法:

说明:

1. 循环条件的返回值必须是布尔类型,在C语言中,布尔类型为真使用 非0 来表示,布尔类型为假使 用 0 表示。

2. {} 包起来的内容整体称之为为 循环体 。

3. 我们要在 循环体 中控制 循环条件 的变化,否则会产生死循环。

执行过程:

特点:

先判断,后执行,循环体语句有可能一次都不执行。

案例:

案例:

死循环

for..

语法:

说明:

1. () 中可以只保留两个分号,举例: (;;)

2. ① 是循环变量,我们需要赋初值,循环变量可以是列表,多个循环变量使用逗号分隔,举例: in t i=0,j=0

3. ② 是循环条件,用来限制循环的次数,循环条件支持关系表达式,如果加入逻辑表达式,会变成 复合表达式,举例: i < 10 && j < 10

4. ③ 改变循环条件,支持列表,这里可以使用赋值表达式,举例: i++,j++

5. 执行顺序:①②④③ --> ②④③ --> ②④③ ... --> ②,这里①只执行1次。

执行过程:

特点:

先判断,后执行,循环体语句有可能一次都不执行。

案例:

案例:

总结

for语句使用语法规则上,降低/避免因为忘记循环条件更新操作,而引起的产生无限循环的几率。

应用场合:for语句往往应用于循环次数事先可以确定的场景。

死循环

循环实现的三要素

循环变量初始化

循环条件

循环变量更新

案例:

直到型循环的实现

do..while

语法:

说明:

1. 循环条件的返回值必须是布尔类型,在C语言中,布尔类型为真使用 非0 来表示,布尔类型为假使 用 0 表示。

2. {} 包起来的内容整体称之为为 循环体 。

3. 我们要在 循环体 中控制 循环条件 的变化,否则会产生死循环。

执行过程:

特点:

先执行,后判断,循环体语句至少执行一次。

案例:

循环的嵌套

3种循环(while、do……while、for)可以互相嵌套。在前一个循环结构的内部又存在一个完整的循环 结构,如:

案例:

循环结构的典型应用场景

求累和:举例 1+2+3+4+..+100的和

求累乘:举例 1*2*3*4*..*100的积

求均值:举例: (1+2+3+4+..+100) / 100的值

求极值:举例: 12,34,55,2,66中的最大值或者最小值

元素遍历:常用于数组元素的遍历,比如:从 [1,2,3,4,5] 获取每一个元素。数组我们后续课程讲 解。

...

基础算法模型

1. 累加和

定义一个变量(sum),并赋初值为0;

用该变量累加(+=)每一个数据项(i)

当访问完每一个数据项,此时该变量的取值就是累加和的结果。

2. 累乘

定义一个变量,并赋初值为1;

用该变量累乘(*=)每一个数据项;

当访问完每一个数据项,此时该变量的取值就是累乘的结果。

3. 极值【知识点:数组】

定义一个变量,并赋初值为第一个数据项

从第二个数据项开始,一次性与该变量进行比较,如果大于/小于该变量,则将当前数据项的数 据赋值给该变量。

当访问完每一个数据项,此时该变量的取值就是求极值的结果。

补充

什么是素数

素数也被称作质数,只能被1和自身整除的数就叫做素数。

作业

上机题

1. 计算n以内所有正奇数的和 ? n值通过键盘输入

2. 计算 1 + 1/(2 * 3) + 1/(3 * 4) + ...+ 1/(n * (n + 1)) = ?直到最后一相值小于0.00001为至。

3. 计算1+1/2 - 1/3 + 1/4 - 1/5 ...+1/n= ? n通过键盘输入

4. 计算n的阶乘 ? n! = 123.....*n n值通过键盘输入

5. 输出半径为1~10的圆面积,面积大于100时停止

6. 求输入的十个整数中正数的个数及其平均值

7. 打印出100以内能整除7之外的的自然数

8. 打印乘法表

9. 我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三 值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?

10. 从键盘上输入多个无符号整型数据,直到 0 结束 ,输出所输入数据中的最大值。

思考题

11. 判断一个数是不是回文数。(回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整 数。如:12321

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • IPython的魔法:深入探索%%pastebin命令的奥秘
  • Python切片的用法
  • STM32DMA数据传输
  • Golang之OpenGL(一)
  • 平舌、翘舌音学习: z、c、s--zh、ch、sh
  • 使用 MinIO、Langchain 和 Ray Data 构建分布式嵌入式子系统
  • electron-builder打包vue2项目问题合集
  • Java | Leetcode Java题解之第316题去除重复字母
  • MongoDB简介及其在Java中的应用
  • 大语言模型(LLM)快速理解
  • 记录一次服务器被(crontab)木马入侵事件
  • 【Nuxt】服务端渲染 SSR
  • [Meachines] [Easy] Mirai Raspberry树莓派默认用户登录+USB挂载文件读取
  • 栈和队列——2.逆波兰表达式求值
  • ReactiveStream
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • 2017 年终总结 —— 在路上
  • CentOS 7 修改主机名
  • cookie和session
  • golang中接口赋值与方法集
  • gulp 教程
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • Javascript基础之Array数组API
  • Java教程_软件开发基础
  • Objective-C 中关联引用的概念
  • PhantomJS 安装
  • scala基础语法(二)
  • spring-boot List转Page
  • 猴子数据域名防封接口降低小说被封的风险
  • 离散点最小(凸)包围边界查找
  • 前端性能优化--懒加载和预加载
  • 区块链将重新定义世界
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 一道面试题引发的“血案”
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • #《AI中文版》V3 第 1 章 概述
  • #laravel部署安装报错loadFactoriesFrom是undefined method #
  • (CVPRW,2024)可学习的提示:遥感领域小样本语义分割
  • (SpringBoot)第七章:SpringBoot日志文件
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (二)c52学习之旅-简单了解单片机
  • (二)延时任务篇——通过redis的key监听,实现延迟任务实战
  • (离散数学)逻辑连接词
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • (一)认识微服务
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • (转)大道至简,职场上做人做事做管理
  • (自用)网络编程
  • .bat批处理(十一):替换字符串中包含百分号%的子串
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .net 后台导出excel ,word
  • .NET大文件上传知识整理