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、单分支结构语句 用单分支结构进行奇偶判断: #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…...
机器视觉:轮廓匹配算法原理
轮廓匹配的模板变量主要包括模板图像(Template)和待检测图像(Source Image) 在轮廓匹配中,模板变量主要包括一下几个关键部分: 模板图像(Template):这是进行匹配的…...

动力商城-02 环境搭建
1.父工程必须满足:1.1删除src目录 1.2pom 2.依赖继承 //里面的依赖,后代无条件继承<dependencies></dependencies>//里面的依赖,后代想要继承,得自己声明需要使用,可以不写版本号,自动继承&l…...

【react】Redux基础用法
1. Redux基础用法 Redux 是一个用于 JavaScript 应用的状态管理库,它不依赖于任何 UI库,但常用于与 React 框架配合使用。它提供了一种集中式的状态管理方式,将应用的所有状态保存在一个单一的全局 Store(存储)中&…...
使用Python分析股票价格数据并计算移动平均线的实用指南
使用Python分析股票价格数据并计算移动平均线的实用指南 在金融市场中,移动平均线(Moving Average, MA)是一种常用的技术分析工具,用于平滑价格数据,帮助投资者识别趋势。本文将详细介绍如何使用Python分析股票价格数据,并计算移动平均线。我们将通过一个实际的案例来演…...

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

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

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

GA/T1400视图库平台EasyCVR多品牌摄像机视频平台前端监控摄像头镜头的基础知识
在现代安全监控系统中,摄像机镜头作为捕捉图像的关键组件,其选择和应用直接影响到监控图像的质量和系统的整体性能。随着技术的发展,摄像机镜头的种类和功能也在不断扩展,以适应各种复杂的监控环境和需求。对于相机成像来讲&#…...

【C++】踏上C++的学习之旅(六):深入“类和对象“世界,掌握编程的黄金法则(一)
文章目录 前言1. "面向过程"和"面向对象"的碰撞1.1 面向过程1.2 面向对象 2. "类"的引入3. "类"的定义3.1 🍉语法展示:3.2 "类"的两种定义方式3.3 "类"的命名规则 4. 类的访问限定符以及封…...
【物联网技术】ESP8266 WIFI模块在STA模式下作为TCP客户端上电自动进入透传数据模式
前言:讲解如何在ESP8266 WIFI模块在STA模式下作为TCP客户端与网络调试助手(TCP服务器)上电自动进入透传数据模式,而不需重新再发指令配置进入透传模式。 演示视频: ESP8266 WIFI模块在STA模式下作为TCP客户端上电自动进入透传数据模式 wifi模块在STA模式下作为TCP客户端相…...
重构代码之用委托替代继承
在代码重构中,用委托替代继承 是一种用于改善代码设计和提高灵活性的重要技术。它的核心思想是,将子类与父类的直接继承关系转换为委托关系,即子类不再直接继承父类,而是通过持有父类的实例来访问所需的功能。 一、为什么需要用委…...

软件设计师下午题UML15分
一、涉及到的图及对应关系 二、例题 1.用例图和类图的例题 解析及答案 2.状态图和类图的例题 3.通信图和类图例题 例题...
css background-image背景图片轮播
1、CSS背景样式有以下几种: 背景颜色(background-color):设置元素的背景颜色。背景图片(background-image):设置元素的背景图片。背景重复(background-repeat)ÿ…...

java---认识异常(详解)
还有大家来到权权的博客~欢迎大家对我的博客提出意见哦,有错误会及时改进的~点击进入我的博客主页 目录 一、异常的概念及体系结构1.1 异常的概念1.2 异常的体系结构1.3异常的分类 二、异常的处理2.1防御式编程2.2 异常的抛出2.3 异常的捕获2.3.1异常声明throws2.3.…...
Linux基础学习笔记
Linux基础学习笔记 Linux目录结构: 具体的目录结构: /bin [重点] (/usr/bin 、 /usr/local/bin) • 是Binary的缩写, 这个目录存放着最经常使用的命令 /home [重点] • 存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一…...

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

《手写Spring渐进式源码实践》实践笔记(第十七章 数据类型转换)
文章目录 第十七章 数据类型转换工厂设计实现背景技术背景Spring数据转换实现方式类型转换器(Converter)接口设计实现 业务背景 目标设计实现代码结构类图实现步骤 测试事先准备属性配置文件转换器工厂Bean测试用例测试结果: 总结 第十七章 数…...
W3C HTML 活动
关于W3C(万维网联盟)的HTML活动,我们可以从HTML的不同版本的发展历程中了解其主要的活跃时期和贡献。 HTML 2.0:这个版本的HTML是由Internet工程工作小组(IETF)的HTML工作组于1996年开发的。它是HTML的早期…...

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

Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...
生成 Git SSH 证书
🔑 1. 生成 SSH 密钥对 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 参数说明: -t rsa&#x…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...

基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...

什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...

分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...

初探Service服务发现机制
1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源…...

AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别
【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而,传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案,能够实现大范围覆盖并远程采集数据。尽管具备这些优势…...