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

C语言Day 03 学习总结

Day 03 学习总结


流程控制语句

  1. 顺序结构

    • 程序从上到下依次执行。
    • 每一条语句顺序执行,直到结束。
  2. 选择结构

    • 程序根据条件选择执行某一条分支。
    • 包括 if-elseswitch-case
  3. 循环结构

    • 程序反复执行某段代码。
    • 包括 forwhiledo-while
  4. 跳转结构

    • 控制程序直接跳转到指定位置。
    • 包括 breakcontinuegotoreturn

选择结构

1. 单个 if
if (条件表达式)
{// 条件为真时执行
}
2. if-else
if (条件表达式)
{// 条件为真时执行
}
else
{// 条件为假时执行
}
3. 多分支 if-else if
if (条件表达式1)
{// 条件1为真时执行
}
else if (条件表达式2)
{// 条件1为假,条件2为真时执行
}
else
{// 所有条件为假时执行
}
4. switch-case
switch (变量)
{case1:// 执行语句break;case2:// 执行语句break;default:// 默认执行语句break;
}

循环结构

1. for 循环
for (初始化; 条件; 迭代)
{// 循环体
}

示例:输出 1 到 10 的数字。

for (int i = 1; i <= 10; i++)
{printf("%d ", i);
}
2. while 循环
while (条件)
{// 循环体
}

示例:输出 1 到 10 的数字。

int i = 1;
while (i <= 10)
{printf("%d ", i);i++;
}
3. do-while 循环
do
{// 循环体
} while (条件);

示例:至少执行一次循环体。

int i = 1;
do
{printf("%d ", i);i++;
} while (i <= 10);

跳转结构

  1. break:跳出最近一层循环。
  2. continue:跳过当前循环,直接进入下一轮。
  3. goto:跳转到指定标签。
  4. return:结束函数并返回值。

示例:

for (int i = 1; i <= 10; i++)
{if (i == 5)break;  // 终止循环if (i % 2 == 0)continue;  // 跳过偶数printf("%d ", i);
}

循环思想与应用

  1. 数据分离

    • 将一个数字分解为个位、十位、百位等。
    • 示例:三位数分离。
      int n = 123;
      int ge = n % 10;
      int shi = n / 10 % 10;
      int bai = n / 100;
      
  2. 计数思想

    • 统计满足条件的数量。
    • 示例:统计 1 到 100 中能被 3 整除的数。
      int count = 0;
      for (int i = 1; i <= 100; i++)
      {if (i % 3 == 0)count++;
      }
      printf("数量:%d", count);
      
  3. 求和思想

    • 累加满足条件的数。
    • 示例:计算 1 到 100 的和。
      int sum = 0;
      for (int i = 1; i <= 100; i++)
      {sum += i;
      }
      printf("总和:%d", sum);
      
  4. 累积思想

    • 求积(阶乘)。
    • 示例:计算 n 的阶乘。
      int n = 5, result = 1;
      for (int i = 1; i <= n; i++)
      {result *= i;
      }
      printf("%d 的阶乘是:%d", n, result);
      

循环嵌套

示例 1:打印矩形数字
for (int i = 1; i <= 5; i++) // 行
{for (int j = 1; j <= 10; j++) // 列{printf("%d ", j);}printf("\n");
}
示例 2:打印三角形数字
for (int i = 1; i <= 9; i++) // 行
{for (int j = 1; j <= i; j++) // 列{printf("%d ", j);}printf("\n");
}
示例 3:打印等腰三角形
for (int i = 1; i <= 9; i++) // 行
{for (int z = 1; z <= 9 - i; z++) // 空格{printf("  ");}for (int j = 1; j <= i; j++) // 左半部分数字{printf("%d ", j);}printf("\n");
}

作业

  1. 输出 100 到 500 内能被 3 整除且个位是 7 的数,并统计数量。

    int count = 0;
    for (int i = 100; i <= 500; i++)
    {if (i % 3 == 0 && i % 10 == 7){printf("%d ", i);count++;}
    }
    printf("\n总数量:%d", count);
    
  2. 输入数据 n,计算 1 - 2 + 3 - 4 + … + n。

    int n, sum = 0;
    printf("请输入 n:");
    scanf("%d", &n);
    for (int i = 1; i <= n; i++)
    {if (i % 2 == 0)sum -= i; // 偶数减elsesum += i; // 奇数加
    }
    printf("结果是:%d", sum);
    
  3. 输入两个数,求最大公约数和最小公倍数。

    int a, b, gcd, lcm;
    printf("请输入两个数:");
    scanf("%d %d", &a, &b);for (int i = (a < b ? a : b); i >= 1; i--)
    {if (a % i == 0 && b % i == 0){gcd = i;break;}
    }
    lcm = a * b / gcd;printf("最大公约数:%d\n", gcd);
    printf("最小公倍数:%d", lcm);
    
  4. 判断一个五位数是否为回文数字。

    int n, ge, shi, bai, qian, wan;
    printf("请输入一个五位数:");
    scanf("%d", &n);ge = n % 10;
    shi = n / 10 % 10;
    qian = n / 1000 % 10;
    wan = n / 10000;if (ge == wan && shi == qian)printf("%d 是回文数字", n);
    elseprintf("%d 不是回文数字", n);
    

相关文章:

C语言Day 03 学习总结

Day 03 学习总结 流程控制语句 顺序结构 程序从上到下依次执行。每一条语句顺序执行&#xff0c;直到结束。 选择结构 程序根据条件选择执行某一条分支。包括 if-else 和 switch-case。 循环结构 程序反复执行某段代码。包括 for、while、do-while。 跳转结构 控制程序直接跳…...

kafka中是如何快速定位到一个offset的

定位到具体的segment日志文件&#xff0c;采用二分法先定位到index索引文件计算查找的offset在日志文件的相对偏移量 1、分区和日志段&#xff1a; 每个主题的分区&#xff08;Partition&#xff09;被划分为多个日志段&#xff08;Log Segment&#xff09;。每个日志段是一个…...

视频对接rtsp协议学习

RTSP协议在视频平台中的应用‌ RTSP&#xff08;Real Time Streaming Protocol&#xff09;是一种基于TCP/IP的应用层协议&#xff0c;主要用于控制流媒体数据的传输和播放。它通过定义一系列命令和请求&#xff0c;实现对流媒体服务器的远程控制&#xff0c;但不传输媒体数据…...

【系统架构设计师】真题论文: 论企业信息化规划的实施与应用(包括解题思路和素材)

更多内容请见: 备考系统架构设计师-专栏介绍和目录 文章目录 真题题目(2012年 试题4)解题思路论文素材参考企业信息化规划概念与主要内容企业信息化规划实施的步骤企业信息化规划的应用案例真题题目(2012年 试题4) 企业信息化建设是一项长期而艰巨的任务,不可能在短时间…...

【ARM Coresight OpenOCD 系列 6.1 -- JTAG Commands】

请阅读【嵌入式开发学习必备专栏】 文章目录 JTAG Transport使用场景配置示例JTAG Speed配置示例初始化过程中的速度调整自适应时钟选择合适的速度Low Level JTAG Commandsdrscanflush_countirscanpathmoveruntestverify_ircaptureverify_jtagJTAG Transport OpenOCD 是一个强…...

开源许可协议

何同学推动了开源协议的认识&#xff0c;功不可没&#xff0c;第一次对开源有了清晰的认识&#xff0c;最宽松的MIT开源协议 源自OSC开源社区&#xff1a;何同学使用开源软件“翻车”&#xff0c;都别吵了&#xff01;扯什么违反MIT...

241121学习日志——[CSDIY] [InternStudio] 大模型训练营 [11]

CSDIY&#xff1a;这是一个非科班学生的努力之路&#xff0c;从今天开始这个系列会长期更新&#xff0c;&#xff08;最好做到日更&#xff09;&#xff0c;我会慢慢把自己目前对CS的努力逐一上传&#xff0c;帮助那些和我一样有着梦想的玩家取得胜利&#xff01;&#xff01;&…...

跟千里马学框架 遇到的坑

在编译 aosp 的 所有的东西都是和他一样的&#xff0c; 但是出现了这个问题 emulator: command not found 明明所有的都是一样的但是出现了这个问题 &#xff0c; 啥情况 。 首先你的 ubuntu 要开启虚拟机 。 这个自己百度去 重新进行这些步骤 1、 . build/envsetup.s…...

Swift从0开始学习 协议和扩展 day5

协议:定义行为的契约 协议类似于其他语言中的接口。它们定义了一组方法、属性或其他需求,供结构体、类、枚举等类型去遵循和实现。协议并不实现这些需求,而是作为一种约定或合同,确保实现协议的类型会遵循特定的行为。 协议的定义和遵循 在 Swift 中,使用 protocol 关键…...

javaScript交互案例

1、模态框(弹出框) &#xff08;1&#xff09;、需求&#xff1a; 点击弹出层&#xff0c;会弹出模态框&#xff0c;并且显示灰色半透明的遮挡层点击关闭按钮&#xff0c;可以关闭模态框&#xff0c;并且同时关闭半透明遮挡层鼠标放在模态框最上面一行&#xff0c;可以按住鼠…...

【自动驾驶】数据集合集!

本文将为您介绍经典、热门的数据集&#xff0c;希望对您在选择适合的数据集时有所帮助。 1 Automatic-driving-Test 更新时间&#xff1a;2024-07-26 访问地址: GitHub 描述&#xff1a; 该模型使用 ultralytics yolo v8 和 deepsort 方法来检测车道与车轮的碰撞并跟踪车辆。…...

el-table表头前几列固定,后面几列根据接口返回的值不同展示不同

在使用 Element UI 的 el-table 组件时&#xff0c;如果想要实现表头的前几列固定&#xff0c;而后面的列根据接口返回的数据动态展示&#xff0c;可以通过以下步骤来实现&#xff1a; 1. 固定表头前几列 在 el-table-column 中使用 fixed 属性来固定表头的前几列。例如&…...

【Redis】redis缓存击穿,缓存雪崩,缓存穿透

一、什么是缓存&#xff1f; 缓存就是与数据交互中的缓冲区&#xff0c;它一般存储在内存中且读写效率高&#xff0c;提高响应时间提高并发性能&#xff0c;如果访问数据的话可以先访问缓存&#xff0c;避免数据查询直接操作数据库&#xff0c;造成后端压力过大。 但是可能会面…...

HBase Flink操作

Apache Flink 是一个开源的分布式流处理框架&#xff0c;能够高效地处理和分析实时数据流以及批数据。HBase 是一个分布式、面向列的开源数据库&#xff0c;是 Hadoop 项目的子项目&#xff0c;适合非结构化数据结构的存储&#xff0c;并提供实时读写能力。以下是关于 Flink 对…...

C# .Net Core通过StreamLoad向Doris写入CSV数据

以下代码可以只关注StreamLoad具体实现。 1.创建StreamLoad返回值Model public class StreamLoadResponse {public long TxnId { get; set; }public string Label { get; set; }public string Comment { get; set; }public string TwoPhaseCommit { get; set; }public string…...

React-自定义Hook与逻辑共享

#题引&#xff1a;我认为跟着官方文档学习不会走歪路 在 React 中&#xff0c;自定义 Hook 是一种复用逻辑的方式。自定义 Hook 是一个 JavaScript 函数&#xff0c;名称以 use 开头&#xff0c;可以调用其他的 Hook, 可以返回任意值。 创建自定义Hook 假设你正在开发一款重…...

蓝桥杯每日真题 - 第17天

题目&#xff1a;&#xff08;最大数字&#xff09; 题目描述&#xff08;13届 C&C B组D题&#xff09; 题目分析&#xff1a; 操作规则&#xff1a; 1号操作&#xff1a;将数字加1&#xff08;如果该数字为9&#xff0c;变为0&#xff09;。 2号操作&#xff1a;将数字…...

游戏开发实现简易实用的ui框架

游戏开发实现简易实用的ui框架 本文使用cocos引擎实现&#xff0c;框架代码本质上不依赖某一个引擎&#xff0c;稍作修改也能作为其他引擎的实现 1.1 UI管理框架的核心需求剖析 分层与类型管理 对不同类型UI需要进行分层管理。不同层级的UI需要有不同的父节点&#xff0c;保证渲…...

vue3的attr透传属性详解和使用法方式。以及在css样式的伪元素中实现

在 Vue 3 和 TypeScript 中&#xff0c;属性透传&#xff08;attr pass-through&#xff09;是指将组件的属性传递到其根元素或某个子元素中。这个概念在开发可复用的组件时非常有用&#xff0c;尤其是当你希望将父组件的属性动态地传递给子组件的某个 DOM 元素时。 在 Vue 3 …...

【仿真建模-MESA】框架简介

1. 简介 Mesa是一个基于Python3的开源项目&#xff0c;旨在提供一个现代、易用的多智能体仿真环境。它借鉴了NetLogo、Repast和MASON等多智能体仿真框架的优点&#xff0c;并结合Python语言的强大功能&#xff0c;为用户提供了丰富的建模和仿真工具。 《官方文档》 2. 核心组件…...

变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析

一、变量声明设计&#xff1a;let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性&#xff0c;这种设计体现了语言的核心哲学。以下是深度解析&#xff1a; 1.1 设计理念剖析 安全优先原则&#xff1a;默认不可变强制开发者明确声明意图 let x 5; …...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波&#xff1a;可以用来解决所提出的地质任务的波&#xff1b;干扰波&#xff1a;所有妨碍辨认、追踪有效波的其他波。 地震勘探中&#xff0c;有效波和干扰波是相对的。例如&#xff0c;在反射波…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 &#xff08;结构体大小计算及位段 详解请看&#xff1a;自定义类型&#xff1a;结构体进阶-CSDN博客&#xff09; 1.在32位系统环境&#xff0c;编译选项为4字节对齐&#xff0c;那么sizeof(A)和sizeof(B)是多少&#xff1f; #pragma pack(4)st…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

postgresql|数据库|只读用户的创建和删除(备忘)

CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本&#xff1a; 3.8.1 语言&#xff1a; JavaScript/TypeScript、C、Java 环境&#xff1a;Window 参考&#xff1a;Java原生反射机制 您好&#xff0c;我是鹤九日&#xff01; 回顾 在上篇文章中&#xff1a;CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

Linux云原生安全:零信任架构与机密计算

Linux云原生安全&#xff1a;零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言&#xff1a;云原生安全的范式革命 随着云原生技术的普及&#xff0c;安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测&#xff0c;到2025年&#xff0c;零信任架构将成为超…...

Element Plus 表单(el-form)中关于正整数输入的校验规则

目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入&#xff08;联动&#xff09;2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

HashMap中的put方法执行流程(流程图)

1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中&#xff0c;其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下&#xff1a; 初始判断与哈希计算&#xff1a; 首先&#xff0c;putVal 方法会检查当前的 table&#xff08;也就…...