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

C 语言学习-04【结构化程序设计】

1、单分支结构语句

用单分支结构进行奇偶判断:

#include <stdio.h>int main() {int num;printf("Please enter an integer: ");scanf("%d", &num);if (num % 2 != 0) {printf("%d is odd! \n", num);}if (num % 2 == 0) {printf("%d is even! \n", num);}return 0;
}
  • 运行结果:
    在这里插入图片描述

2、双分支结构语句

用双分支结构进行奇偶判断:

#include <stdio.h>int main() {int num;printf("Please enter an integer: ");scanf("%d", &num);if (num % 2 != 0) {printf("%d is odd! \n", num);} else {printf("%d is even! \n", num);}return 0;
}
  • 运行结果:
    在这里插入图片描述

3、多分支结构语句

用多分支结构进行学生成绩的判断:

#include <stdio.h>int main() {int score;printf("Please enter score: ");scanf("%d", &score);if (score >= 90) {printf("A\n");} else if (score >= 80) {printf("good\n");} else if (score >= 70) {printf("medium\n"); } else if (score >= 60) {printf("pass\n");} else {printf("fail");}return 0;
}
  • 运行结果:
    在这里插入图片描述

4、分支语句的嵌套

判断某学生成绩 score 是否及格:

#include <stdio.h>int main() {int score;printf("Please enter score: ");scanf("%d", &score);if (score >= 60) {if (score >= 90) {printf("A\n");} else {printf("pass\n");}} else {printf("fail\n");}return 0;
}
  • 运行结果:
    在这里插入图片描述

5、switch 选择语句

输入一个简单的四则运算表达式,包含两个实数和一个运算符,输出计算结果:

#include <stdio.h>int main() {char op;double x, y;printf("Please enter an expression: ");scanf("%lf %c %lf", &x, &op, &y);switch (op) {case '+':printf("The expression results in: %.2f\n", x + y);break;case '-':printf("The expression results in: %.2f\n", x - y);break;case '*':printf("The expression results in: %.2f\n", x * y);break;case '/':printf("The expression results in: %.2f\n", x / y);break;default:printf("Operator error! \n");}return 0;
}
  • 运算结果:
    在这里插入图片描述

6、while 循环结构与执行流程

用 while 循环语句计算输入的 10 个整数和奇数的和:

#include <stdio.h>int main() {int num;int i = 1, sum = 0;int count = 0;printf("Please enter 10 integers at a time: ");while (i <= 10) {scanf("%d", &num);if (num % 2 != 0) {sum += num;count++;}i++;}if (count == 0) {printf("There are no odd numbers in the data!");} else {printf("Odd numbers are: %d\n", count);printf("Odd sum: %d", sum);}return 0;
}
  • 运算结果:
    在这里插入图片描述

7、for 循环语句与执行流程

打印出所有”水仙花数“:

#include <stdio.h>int main() {int a, b, c;int i;for (i = 100; i < 1000; i++) {a = i % 10;b = (i / 10) % 10;c = i / 100;if (a * a * a + b * b * b + c * c * c == i) {printf("%d\t", i);}}return 0;
}
  • 运行结果:
    在这里插入图片描述

用嵌套 for 循环方式计算 1 到 100 的素数和:

#include <stdio.h>int main() {int sum = 0, i = 0, j = 0;int count;printf("The prime numbers from 1 to 100 are: ");for (i = 2; i <= 100; i++) {count = 0;for (j = 2; j <= i / 2; j++) {if (i % j == 0) {count++;break;}}if (count == 0) {printf("%d ", i);sum += i;}}printf("\nThe sum of primes from 1 to 100 is: %d", sum);return 0;
}
  • 运算结果:
    在这里插入图片描述
    images%5Cimage-20241107233301176.png&pos_id=img-piAAi8Jj-1731048018050)

8、do-while 循环结果与执行流程

计算两个数的最大公约数

#include <stdio.h>int main() {int m, n, r, t;int m1, n1;printf("Please enter the first number: ");scanf("%d", &m);printf("Please enter the second number: ");scanf("%d", &n);m1 = m;n1 = n;if (m < n) {t = m;m = n;n = t;}do {r = m % n;m = n;n = r;} while (r != 0);printf("The greatest common divisor of %d and %d is %d\n", m1, n1, m);return 0;
}
  • 运行结果:
    在这里插入图片描述

9、循环结构嵌套

九九乘法表的打印:

#include <stdio.h>int main() {int i = 0, j = 0;printf("*");for (i = 1; i <= 9; i++) {printf("%8d", i);}printf("\n");for (i = 1; i <= 9; i++) {printf("%d", i);for (j = 1; j <= i; j++) {printf("%3d*%d=%2d", i, j, i * j);}printf("\n");}return 0;
}
  • 运行结果:
    在这里插入图片描述

10、辅助语句 break 和 continue

输入大于 2 的整数,判断该数是否为素数:

#include <stdio.h>int main() {int m, i, flag;flag = 1;printf("Please enter an integer greater than 2: ");scanf("%d", &m);for (i = 2; i < m; i++) {if (m % i == 0) {flag = 0;break;}}if (flag) {printf("%d is prime number! \n", m);} else {printf("%d is not prime number! \n", m);}return 0;
}
  • 运行结果为
    在这里插入图片描述

判断 1800 年到 2024 年之间的所有闰年并输出:

#include <stdio.h>int main() {int year;for (year = 1800; year <= 2024; year++) {if (!(year % 4 == 0 && year % 100 != 0 || year % 400 == 0)) {continue;}printf("%d ", year);if (year % 10 == 0) {printf("\n");}}return 0;
}
  • 运行结果:
    在这里插入图片描述

11、改良的计算器

改良版实现四则运算功能的计算器:

#include <stdio.h>int main() {double displayed_value;double new_entry;char command_character;printf("Improved computer program\n");printf("Tip: (number> )Enter number, (command> )Enter Operator +、-、*、/\n");printf("number> ");scanf("%lf", &displayed_value);getchar();printf("command> ");scanf("%c", &command_character);while (command_character != 'Q') {switch (command_character) {case 'c':case 'C':scanf("%lf", &displayed_value);break;case '+':printf("number> ");scanf("%lf", &new_entry);displayed_value += new_entry;break;case '-':printf("number> ");scanf("%lf", &new_entry);displayed_value -= new_entry;break;case 'x':case 'X':case '*':printf("number> ");scanf("%lf", &new_entry);displayed_value *= new_entry;break;case '/':printf("number> ");scanf("%lf", &new_entry);while (new_entry == 0) {printf("Divisor cannot be 0, please re-enter! \n");printf("number> ");scanf("%lf", &new_entry);}displayed_value /= new_entry;break;default:printf("Invalid input, please re-enter the command type! \n");}printf("Value: %lf\n", displayed_value);getchar();printf("command> ");scanf("%c", &command_character);}return 0;
}
  • 运算结果:
    在这里插入图片描述

相关文章:

C 语言学习-04【结构化程序设计】

1、单分支结构语句 用单分支结构进行奇偶判断&#xff1a; #include <stdio.h>int main() {int num;printf("Please enter an integer: ");scanf("%d", &num);if (num % 2 ! 0) {printf("%d is odd! \n", num);}if (num % 2 0) {prin…...

机器视觉:轮廓匹配算法原理

轮廓匹配的模板变量主要包括模板图像&#xff08;Template&#xff09;和待检测图像&#xff08;Source Image&#xff09; 在轮廓匹配中&#xff0c;模板变量主要包括一下几个关键部分&#xff1a; ‌模板图像&#xff08;Template&#xff09;‌&#xff1a;这是进行匹配的…...

动力商城-02 环境搭建

1.父工程必须满足&#xff1a;1.1删除src目录 1.2pom 2.依赖继承 //里面的依赖&#xff0c;后代无条件继承<dependencies></dependencies>//里面的依赖&#xff0c;后代想要继承&#xff0c;得自己声明需要使用&#xff0c;可以不写版本号&#xff0c;自动继承&l…...

【react】Redux基础用法

1. Redux基础用法 Redux 是一个用于 JavaScript 应用的状态管理库&#xff0c;它不依赖于任何 UI库&#xff0c;但常用于与 React 框架配合使用。它提供了一种集中式的状态管理方式&#xff0c;将应用的所有状态保存在一个单一的全局 Store&#xff08;存储&#xff09;中&…...

使用Python分析股票价格数据并计算移动平均线的实用指南

使用Python分析股票价格数据并计算移动平均线的实用指南 在金融市场中,移动平均线(Moving Average, MA)是一种常用的技术分析工具,用于平滑价格数据,帮助投资者识别趋势。本文将详细介绍如何使用Python分析股票价格数据,并计算移动平均线。我们将通过一个实际的案例来演…...

如何解决FPS低的问题?代码优化方法有哪些?

如果你是一名游戏开发者&#xff0c;或者对电脑性能有所追求的用户&#xff0c;那么你一定遇到过帧率&#xff08;FPS&#xff09;低的问题。帧率低会导致游戏卡顿、画面不流畅等问题&#xff0c;极大地影响了用户体验。本文将从代码层面探讨FPS低的原因&#xff0c;并提供一些…...

QT信号和槽与自定义的信号和槽

QT信号和槽与自定义的信号和槽 1.概述 这篇文章介绍下QT信号和槽的入门知识&#xff0c;通过一个案例介绍如何创建信号和槽&#xff0c;并调用他们。 2.信号和槽使用 下面通过点击按钮关闭窗口的案例介绍如何使用信号和槽。 创建按钮 在widget.cpp文件中创建按钮代码如下 …...

LC:二分查找——杂记

文章目录 268. 丢失的数字162. 寻找峰值 268. 丢失的数字 LC将此题归类为二分查找&#xff0c;并且为简单题&#xff0c;下面记一下自己对这道题目的思考。 题目链接&#xff1a;268.丢失的数字 第一次看到这个题目&#xff0c;虽然标注的为简单&#xff0c;但肯定不能直接排…...

GA/T1400视图库平台EasyCVR多品牌摄像机视频平台前端监控摄像头镜头的基础知识

在现代安全监控系统中&#xff0c;摄像机镜头作为捕捉图像的关键组件&#xff0c;其选择和应用直接影响到监控图像的质量和系统的整体性能。随着技术的发展&#xff0c;摄像机镜头的种类和功能也在不断扩展&#xff0c;以适应各种复杂的监控环境和需求。对于相机成像来讲&#…...

【C++】踏上C++的学习之旅(六):深入“类和对象“世界,掌握编程的黄金法则(一)

文章目录 前言1. "面向过程"和"面向对象"的碰撞1.1 面向过程1.2 面向对象 2. "类"的引入3. "类"的定义3.1 &#x1f349;语法展示&#xff1a;3.2 "类"的两种定义方式3.3 "类"的命名规则 4. 类的访问限定符以及封…...

【物联网技术】ESP8266 WIFI模块在STA模式下作为TCP客户端上电自动进入透传数据模式

前言:讲解如何在ESP8266 WIFI模块在STA模式下作为TCP客户端与网络调试助手(TCP服务器)上电自动进入透传数据模式,而不需重新再发指令配置进入透传模式。 演示视频: ESP8266 WIFI模块在STA模式下作为TCP客户端上电自动进入透传数据模式 wifi模块在STA模式下作为TCP客户端相…...

重构代码之用委托替代继承

在代码重构中&#xff0c;用委托替代继承 是一种用于改善代码设计和提高灵活性的重要技术。它的核心思想是&#xff0c;将子类与父类的直接继承关系转换为委托关系&#xff0c;即子类不再直接继承父类&#xff0c;而是通过持有父类的实例来访问所需的功能。 一、为什么需要用委…...

软件设计师下午题UML15分

一、涉及到的图及对应关系 二、例题 1.用例图和类图的例题 解析及答案 2.状态图和类图的例题 3.通信图和类图例题 例题...

css background-image背景图片轮播

1、CSS背景样式有以下几种&#xff1a; 背景颜色&#xff08;background-color&#xff09;&#xff1a;设置元素的背景颜色。背景图片&#xff08;background-image&#xff09;&#xff1a;设置元素的背景图片。背景重复&#xff08;background-repeat&#xff09;&#xff…...

java---认识异常(详解)

还有大家来到权权的博客~欢迎大家对我的博客提出意见哦&#xff0c;有错误会及时改进的~点击进入我的博客主页 目录 一、异常的概念及体系结构1.1 异常的概念1.2 异常的体系结构1.3异常的分类 二、异常的处理2.1防御式编程2.2 异常的抛出2.3 异常的捕获2.3.1异常声明throws2.3.…...

Linux基础学习笔记

Linux基础学习笔记 Linux目录结构&#xff1a; 具体的目录结构: /bin [重点] (/usr/bin 、 /usr/local/bin) • 是Binary的缩写, 这个目录存放着最经常使用的命令 /home [重点] • 存放普通用户的主目录&#xff0c;在Linux中每个用户都有一个自己的目录&#xff0c;一…...

自动泊车端到端算法 ParkingE2E 介绍

01 算法介绍 自主泊车是智能驾驶领域中的一项关键任务。传统的泊车算法通常使用基于规则的方案来实现。因为算法设计复杂&#xff0c;这些方法在复杂泊车场景中的有效性较低。 相比之下&#xff0c;基于神经网络的方法往往比基于规则的方法更加直观和多功能。通过收集大量专家…...

《手写Spring渐进式源码实践》实践笔记(第十七章 数据类型转换)

文章目录 第十七章 数据类型转换工厂设计实现背景技术背景Spring数据转换实现方式类型转换器&#xff08;Converter&#xff09;接口设计实现 业务背景 目标设计实现代码结构类图实现步骤 测试事先准备属性配置文件转换器工厂Bean测试用例测试结果&#xff1a; 总结 第十七章 数…...

W3C HTML 活动

关于W3C&#xff08;万维网联盟&#xff09;的HTML活动&#xff0c;我们可以从HTML的不同版本的发展历程中了解其主要的活跃时期和贡献。 HTML 2.0&#xff1a;这个版本的HTML是由Internet工程工作小组&#xff08;IETF&#xff09;的HTML工作组于1996年开发的。它是HTML的早期…...

机器学习—为什么我们需要激活函数

如果我们使用神经网络中每个神经元的线性激活函数&#xff0c;回想一下这个需求预测示例&#xff0c;如果对所有节点使用线性激活函数&#xff0c;在这个神经网络中&#xff0c;事实证明&#xff0c;这个大神经网络将变得与线性回归没有什么不同&#xff0c;所以这将挫败使用神…...

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势&#xff1a;专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发&#xff0c;是一款收费低廉但功能全面的Windows NAS工具&#xff0c;主打“无学习成本部署” 。与其他NAS软件相比&#xff0c;其优势在于&#xff1a; 无需硬件改造&#xff1a;将任意W…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会&#xff0c;其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具&#xff0c;对过去十年 WWDC 主题演讲内容进行了系统化分析&#xff0c;形成了这份…...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分

一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计&#xff0c;提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合&#xff1a;各模块职责清晰&#xff0c;便于独立开发…...

【开发技术】.Net使用FFmpeg视频特定帧上绘制内容

目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法&#xff0c;当前调用一个医疗行业的AI识别算法后返回…...

Linux 内存管理实战精讲:核心原理与面试常考点全解析

Linux 内存管理实战精讲&#xff1a;核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用&#xff0c;还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...

LabVIEW双光子成像系统技术

双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制&#xff0c;展现出显著的技术优势&#xff1a; 深层组织穿透能力&#xff1a;适用于活体组织深度成像 高分辨率观测性能&#xff1a;满足微观结构的精细研究需求 低光毒性特点&#xff1a;减少对样本的损伤…...

【Elasticsearch】Elasticsearch 在大数据生态圈的地位 实践经验

Elasticsearch 在大数据生态圈的地位 & 实践经验 1.Elasticsearch 的优势1.1 Elasticsearch 解决的核心问题1.1.1 传统方案的短板1.1.2 Elasticsearch 的解决方案 1.2 与大数据组件的对比优势1.3 关键优势技术支撑1.4 Elasticsearch 的竞品1.4.1 全文搜索领域1.4.2 日志分析…...

6个月Python学习计划 Day 16 - 面向对象编程(OOP)基础

第三周 Day 3 &#x1f3af; 今日目标 理解类&#xff08;class&#xff09;和对象&#xff08;object&#xff09;的关系学会定义类的属性、方法和构造函数&#xff08;init&#xff09;掌握对象的创建与使用初识封装、继承和多态的基本概念&#xff08;预告&#xff09; &a…...

2025年低延迟业务DDoS防护全攻略:高可用架构与实战方案

一、延迟敏感行业面临的DDoS攻击新挑战 2025年&#xff0c;金融交易、实时竞技游戏、工业物联网等低延迟业务成为DDoS攻击的首要目标。攻击呈现三大特征&#xff1a; AI驱动的自适应攻击&#xff1a;攻击流量模拟真实用户行为&#xff0c;差异率低至0.5%&#xff0c;传统规则引…...