当前位置: 首页 > 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;所以这将挫败使用神…...

【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15

缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下&#xff1a; struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...

synchronized 学习

学习源&#xff1a; https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖&#xff0c;也要考虑性能问题&#xff08;场景&#xff09; 2.常见面试问题&#xff1a; sync出…...

centos 7 部署awstats 网站访问检测

一、基础环境准备&#xff08;两种安装方式都要做&#xff09; bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats&#xff0…...

解锁数据库简洁之道:FastAPI与SQLModel实战指南

在构建现代Web应用程序时&#xff0c;与数据库的交互无疑是核心环节。虽然传统的数据库操作方式&#xff08;如直接编写SQL语句与psycopg2交互&#xff09;赋予了我们精细的控制权&#xff0c;但在面对日益复杂的业务逻辑和快速迭代的需求时&#xff0c;这种方式的开发效率和可…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

GitHub 趋势日报 (2025年06月08日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

CMake 从 GitHub 下载第三方库并使用

有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

数据库分批入库

今天在工作中&#xff0c;遇到一个问题&#xff0c;就是分批查询的时候&#xff0c;由于批次过大导致出现了一些问题&#xff0c;一下是问题描述和解决方案&#xff1a; 示例&#xff1a; // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

稳定币的深度剖析与展望

一、引言 在当今数字化浪潮席卷全球的时代&#xff0c;加密货币作为一种新兴的金融现象&#xff0c;正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而&#xff0c;加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下&#xff0c;稳定…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中&#xff0c;车辆不再仅仅是传统的交通工具&#xff0c;而是逐步演变为高度智能的移动终端。这一转变的核心支撑&#xff0c;来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒&#xff08;T-Box&#xff09;方案&#xff1a;NXP S32K146 与…...