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);
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/20619.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

(一)Ubuntu22.04服务器端部署Stable-Diffusion-webui AI绘画环境

一、说明 cup型号&#xff1a; Intel(R) Celeron(R) CPU G1610 2.60GHz 内存大小&#xff1a; 8G 显卡型号&#xff1a;NVIDIA P104-100 注意&#xff1a;系统睡眠问题 sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target 网卡设置 …

springboot:少量配置信息情形

发现无论怎么改都还是指向8001 所以换一种方法 通过 结果 代码 import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.web.server.ConfigurableWebServerFactory; import org.springframework.boot.web.server.WebServerFactoryCusto…

SpringBoot的快速入门

Maven Maven可以方便管理依赖的 Jar 包 IDEA 自带Maven&#xff0c;也可以选择自己安装 安装Maven:https://blog.csdn.net/qq_59636442/article/details/142314019 创建项目 通过Spring Initializr 快速创建项目&#xff1a;https://start.springboot.io/ 我的项目名叫blog&a…

2024中国高校计算机大赛 — 大数据挑战赛-赛后复盘

一、赛题描述 基于气象大数据的自动站实况联合预测 风光清洁能源的管理与气象关系密不可分&#xff0c;因为风能和太阳能的发电效率直接依赖于气象条件。风力发电需要精确的风速和风向预测&#xff0c;而太阳能发电则依赖于日照时间和云层覆盖情况的准确预报。优质的气象预测…

J.U.C - 深入解析ReentrantLock原理源码

文章目录 概述synchronized的缺陷1&#xff09;synchronized不能控制阻塞&#xff0c;不能灵活控制锁的释放。2&#xff09;在读多写少的场景中&#xff0c;效率低下。 独占锁ReentrantLock原理ReentrantLock概述AQS同步队列1. AQS实现原理2. 线程被唤醒时&#xff0c;AQS队列的…

基于Java+Springboot+Jpa+Mysql实现的在线网盘文件分享系统功能设计与实现二

一、前言介绍&#xff1a; 免费学习&#xff1a;猿来入此 1.1 项目摘要 在线网盘文件分享系统的课题背景主要源于现代社会对数字化信息存储和共享需求的日益增长。随着互联网的普及和技术的快速发展&#xff0c;人们越来越依赖电子设备来存储和传输各种类型的数据文件。然而…

DBSCAN聚类——基于密度的聚类算法(常用的聚类算法)

DBSCAN&#xff08;Density-Based Spatial Clustering of Applications with Noise&#xff09;简称密度聚类或密度基础聚类&#xff0c;是一种基于密度的聚类算法&#xff0c;也是一种常用的无监督学习算法&#xff0c;特别适用于形状不规则的聚类和含有噪声的数据集。主要用于…

C++:指针和引用

指针的基础 数据在内存当中是怎么样被存储的 数据在内存中的存储方式取决于数据的类型和计算机的体系结构 基本数据类型 整数类型&#xff1a;整数在内存中以二进制补码的形式存储。对于有符号整数&#xff0c;最高位为符号位&#xff0c;0 表示正数&#xff0c;1 表示负数。…

LabVIEW多通道面阵烟雾透过率测试系统

LabVIEW面阵烟雾透过率测试系统通过高精度多通道数据采集和实时处理技术&#xff0c;能够实现对固体推进剂烟雾的透过率进行精确测量。系统利用了LabVIEW的图形化编程环境及其丰富的设备驱动接口&#xff0c;有效提升了测试的自动化程度和数据处理的实时性。 项目背景&#xf…

PDF电子发票信息转excel信息汇总

PDF电子发票信息提取&#xff0c;支持将pdf发票文件夹下的剩所有发票&#xff0c;转为excel格式的信息&#xff0c;对于发票量比较大&#xff0c;不好统计&#xff0c;需要一个一个去统计的情况&#xff0c;可节省2个点以上的时间&#xff0c;一次下载&#xff0c;终身有效。 使…

51c视觉~合集7

我自己的原文哦~ https://blog.51cto.com/whaosoft/11536996 #Arc2Face 身份条件化的人脸生成基础模型&#xff0c;高一致性高质量的AI人脸艺术风格照生成 将人脸特征映射到SD的CLIP的编码空间&#xff0c;通过微调SD实现文本编码器转换为专门为将ArcFace嵌入投影到CLIP潜在…

【西瓜书】机器学习的模型评估

来源于西瓜书、南瓜书等内容。 误差与偏差 学习器的实际预测输出与样本的真实输出之间的差异&#xff0c;称为”误差“&#xff08;error&#xff09;。学习器在训练集上的误差&#xff0c;称为”训练误差“&#xff08;training error&#xff09;或”经验误差“&#xff08;…

Mac安装Docker Desktop搭建K8s集群,解决镜像无法下载的问题

使用 Docker Desktop可以在本地方便地搭建出 K8s集群&#xff0c;但开启 K8s集群后往往会遇到 K8s 镜像拉取失败问题&#xff0c;本文旨在解决该问题&#xff0c;从而在本地搭建 K8s 集群。 安装Docker Desktop 安装 Docker Desktop 建议安装历史版本, 不建议安装最新版。因为…

【Leecode】Leecode刷题之路第54天之旋转矩阵

题目出处 54-螺旋矩阵-题目出处 题目描述 个人解法 思路&#xff1a; todo代码示例&#xff1a;&#xff08;Java&#xff09; todo复杂度分析 todo官方解法 54-旋转矩阵-官方解法 方法1&#xff1a;模拟 思路&#xff1a; 代码示例&#xff1a;&#xff08;Java&#xff…

【YOLOv8】安卓端部署-1-项目介绍

【YOLOv8】安卓端部署-1-项目介绍 1 什么是YOLOv81.1 YOLOv8 的主要特性1.2 YOLOv8分割模型1.2.1 YOLACT实例分割算法之计算掩码1.2.1.1 YOLACT 的掩码原型与最终的掩码的关系1.2.1.2 插值时的目标检测中提取的物体特征1.2.1.3 coefficients&#xff08;系数&#xff09;作用1.…

Cesium教程01_实现Cartesian3 三维坐标操作

在 Vue 项目中使用 Cesium 实现 Cartesian3 三维坐标操作 目录 一、引言二、Cesium 与 Cartesian3 的优势三、示例应用&#xff1a;在地图上标注和计算距离 1. 项目结构2. 主要代码实现3. 运行与效果 四、代码讲解与扩展 1. Cartesian3 的基础操作2. 距离计算与中点标注 五、…

Qt5-雷达项目

界面: widget.h #ifndef WIDGET_H #define WIDGET_H#include <QTimer> #include <QWidget>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent nullptr);~Widget(); pr…

A040-基于springboot的智能停车计费系统设计与实现

&#x1f64a;作者简介&#xff1a;在校研究生&#xff0c;拥有计算机专业的研究生开发团队&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339; 赠送计算机毕业设计600…

数据结构初识

目录 1.初识 2.时间复杂度 常见时间复杂度举例&#xff1a; 3.空间复杂度 4.包装类&简单认识泛型 4.1装箱和拆箱 5.泛型 6.泛型的上界 7.泛型方法 8.List接口 1.初识 1.多画图 2.多思考 3.多写代码 4.多做题 牛客网-题库/在线编程/剑指offer 算法篇&#xff1a…

CUDA HOME does not exist, unable to compile CUDA op(s),已解决

有一个服务器上没有/usr/loacl/cuda&#xff0c;我也没有权限在这个目录装cuda&#xff0c;使用pip装完torch&#xff0c;llama factory使用时出现&#xff1a; 应该是本地没有nvcc相关执行文件。 先使用了&#xff1a; conda install -c cudatoolkit-dev不管用&#xff0c; …