【重拾C语言】三、分支程序设计(双分支和单分支程序设计、逻辑判断、多分支程序设计、枚举类型表示;典型例题:判断闰年和求一元二次方程根)
目录
前言
三、分支程序设计
3.1 判断成绩是否及格——双分支程序设计
3.2 成绩加上获奖信息—单分支程序设计
3.3 逻辑判断——布尔类型
3.4 获奖分等级——多分支程序设计
3.5 表示汽车种类——枚举类型
3.6 例题
3.6.1 例题——判断某个年份是否闰年
3.6.2 例题——求一元二次方程根
前言
ChatGPT
C语言是一种通用的、过程式的计算机编程语言,由贝尔实验室的Dennis Ritchie在20世纪70年代初开发。它被设计成一种简单、高效和可移植的语言,用于系统级编程和应用程序开发。
以下是C语言的一些主要特点:
1. 结构化编程:C语言支持结构化编程,它提供了顺序执行、条件语句(如if-else和switch)和循环结构(如for和while),使程序更易于阅读、理解和维护。
2. 中级语言:C语言同时具备高级语言和低级语言的特点。它提供了丰富的控制结构和操作符,可以直接访问内存和硬件,并且允许程序员进行底层的操作,如位操作和指针运算。
3. 可移植性:C语言编写的程序具有很高的可移植性,因为它的语法和特性在不同的计算机系统上基本保持一致。这使得程序可以在不同的平台上进行编译和执行,而无需对代码进行太多的修改。
4. 强大的标准库:C语言提供了一个丰富的标准库,其中包含了各种函数和工具,用于处理输入输出、字符串操作、内存管理、数学运算等。这些函数可以提高程序开发的效率,并且可以跨平台使用。
5. 面向系统编程:由于C语言具有直接访问内存和硬件的能力,它经常用于开发操作系统、嵌入式系统和驱动程序等底层软件。C语言还提供了位操作和指针等特性,使得程序员可以更好地控制系统资源。
6. 扩展性:C语言允许程序员编写自定义的函数和库,以扩展语言的功能。这使得C语言非常适合大型项目的开发,可以将代码组织成模块化的结构,并通过函数调用进行复用。
尽管C语言相对较为底层,但它仍然是一种非常重要和广泛应用的编程语言。它为程序员提供了强大的控制能力和性能优势,并且在各种领域,如系统编程、嵌入式开发、游戏开发等方面都得到了广泛应用。许多现代编程语言,如C++、Java和Python,都受到了C语言的影响,并在其基础上进行了扩展和改进。
三、分支程序设计
3.1 判断成绩是否及格——双分支程序设计
双分支程序设计是一种基本的条件控制结构,用于根据条件结果执行不同的代码路径。在C语言中,可以使用if-else语句实现双分支程序设计来判断学生成绩是否及格。如果学生成绩达到及格标准,执行一组代码;否则,执行另一组代码。
#include <stdio.h>int main() {int score = 75;if (score >= 60) {printf("成绩及格\n");} else {printf("成绩不及格\n");}return 0;
}
输出:
成绩及格
3.2 成绩加上获奖信息—单分支程序设计
单分支程序设计是另一种条件控制结构,用于根据条件结果执行不同的代码路径。在这种情况下,可以使用单分支程序设计来判断学生成绩,并在成绩达到一定条件时添加获奖信息。如果学生成绩满足特定标准,可以执行一组代码来添加获奖信息。
#include <stdio.h>int main() {int score;char award;printf("请输入成绩:");scanf("%d", &score);getchar(); // 消耗输入缓冲区中的换行符printf("请输入获奖信息:");scanf("%c", &award);if (award == 'Y') {score += 10;}printf("最终得分:%d\n", score);return 0;
}
输出:

3.3 逻辑判断——布尔类型
C语言中的逻辑判断可以使用布尔类型来表示。在C语言中,布尔类型的值可以是true或false。C语言中没有内置的布尔类型,但可以使用整数类型来表示布尔值,其中0表示false,非零值表示true。
#include <stdbool.h>
#include <stdio.h>int main() {bool isTrue = true;if (isTrue) {printf("条件为真\n");} else {printf("条件为假\n");}return 0;
}
输出:
条件为真
3.4 获奖分等级——多分支程序设计
多分支程序设计是一种条件控制结构,用于根据不同的条件结果执行不同的代码路径。在C语言中,可以使用if-else if-else语句实现多分支程序设计,根据获奖分数的不同等级执行相应的代码。
#include <stdio.h>int main() {int score = 75;if (score >= 90) {printf("一等奖\n");} else if (score >= 80) {printf("二等奖\n");} else if (score >= 70) {printf("三等奖\n");} else {printf("未获奖\n");}return 0;
}
3.5 表示汽车种类——枚举类型
枚举类型是一种特殊的数据类型,用于定义一组具名的常量值。在表示汽车种类的情况下,可以使用枚举类型来定义不同的汽车种类并为其分配特定的常量值。这样可以在程序中使用这些枚举值来表示不同的汽车种类,并进行相应的操作或判断。
#include <stdio.h>int main() {enum CarType {SEDAN,SUV,HATCHBACK};enum CarType myCar = SUV;if (myCar == SUV) {printf("这辆车是SUV类型\n");}
}
3.6 例题
3.6.1 例题——判断某个年份是否闰年
#include <stdio.h>int main() {int year;printf("请输入年份: ");scanf("%d", &year);if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {printf("%d年是闰年\n", year);} else {printf("%d年不是闰年\n", year);}return 0;
}



3.6.2 例题——求一元二次方程根
#include <stdio.h>
#include <math.h>int main() {double a, b, c;double discriminant, realPart, imaginaryPart;printf("请输入一元二次方程的系数:\n");printf("a: ");scanf("%lf", &a);printf("b: ");scanf("%lf", &b);printf("c: ");scanf("%lf", &c);discriminant = b * b - 4 * a * c;if (discriminant > 0) {// 有两个实数根double root1 = (-b + sqrt(discriminant)) / (2 * a);double root2 = (-b - sqrt(discriminant)) / (2 * a);printf("方程的根为:%.2lf 和 %.2lf\n", root1, root2);} else if (discriminant == 0) {// 有一个实数根double root = -b / (2 * a);printf("方程的根为:%.2lf\n", root);} else {// 有两个虚数根realPart = -b / (2 * a);imaginaryPart = sqrt(-discriminant) / (2 * a);printf("方程的根为:%.2lf + %.2lfi 和 %.2lf - %.2lfi\n", realPart, imaginaryPart, realPart, imaginaryPart);}return 0;
}

相关文章:
【重拾C语言】三、分支程序设计(双分支和单分支程序设计、逻辑判断、多分支程序设计、枚举类型表示;典型例题:判断闰年和求一元二次方程根)
目录 前言 三、分支程序设计 3.1 判断成绩是否及格——双分支程序设计 3.2 成绩加上获奖信息—单分支程序设计 3.3 逻辑判断——布尔类型 3.4 获奖分等级——多分支程序设计 3.5 表示汽车种类——枚举类型 3.6 例题 3.6.1 例题——判断某个年份是否闰年 3.6.2 例题—…...
Shiro应用到Web Application
一、权限基础 a) 认证(你是谁?) 判断你(被认证者)是谁的过程。通常被认证者提供用户名和密码。 常见的认证包含如下几种: 匿名认证:允许访问资源,不做任何类型的安全检查。表单认证:访问资源之前,需要提…...
【POST请求-腾讯翻译君-爬虫案例】
原因:尝试多个在线翻译平台,由于返回数据存在加密原因(暂时不会解密),最总找到 ”腾讯翻译君“ 完成爬虫案例POST请求测试 案例测试网址 腾讯翻译 :https://fanyi.qq.com/ import requests import jsoncla…...
多卡片效果悬停效果
效果展示 页面结构 从页面的结构上看,在默认状态下毛玻璃卡片是有层次感的效果叠加在一起,并且鼠标悬停在卡片区域后,卡片整齐排列。 CSS3 知识点 transform 属性的 rotate 值运用content 属性的 attr 值运用 实现页面整体布局 <div …...
首饰饰品经营商城小程序的作用是什么
首饰如耳钉、戒指、手镯等除了高价值产品外,还有很多低价产品,市场需求客户众多,在实际经营中,商家们也会面临一些痛点。 私域话题越来越多加之线上线下同行竞争、流量匮乏等,更对商家选择自建商城经营平台。 通过【…...
华为OD机试真题【服务器能耗统计】
1、题目描述 【服务器能耗统计】 服务器有三种运行状态:空载、单任务、多任务,每个时间片的能耗的分别为1、3、4; 每个任务由起始时间片和结束时间片定义运行时间; 如果一个时间片只有一个任务需要执行,则服务器处于单任务状志; 如果一个时间片有多个任务需要执行,则服务器处于…...
ubuntu按下del却出现空格(命令行下键盘错乱)
问题: 有一天远程我的ubuntu 20.04,发现为何按 del 会产生空格后移的效果,up键也会重叠显示,首先感觉是这个远程软件有问题,于是又换了xshell,发现还是不行,只能打开积灰已久的笔记本࿰…...
Go开始:Go基本元素介绍
目录 标识符与关键字Go中的标识符Go关键字关键字示例 具名的函数常规函数代码示例 方法代码示例 高阶函数代码示例 匿名函数与Lambda表达式代码示例 闭包代码示例 具名的值变量基本数据类型复合数据类型指针类型 常量基本常量类型枚举常量常量表达式 定义类型和类型别名类型定义…...
十二、【漏洞复现】Rails任意文件读取(CVE-2019-5418)
十二、【漏洞复现】Rails任意文件读取(CVE-2019-5418) 12.1、漏洞原理 Ruby on Rails是一个使用 Ruby 语言写的开源 Web 应用框架,它是严格按照 MVC 结构开发的。它努力使自身保持简单,来使实际的应用开发时的代码更少,使用最少…...
【计算机视觉|人脸建模】学习从4D扫描中获取的面部形状和表情的模型
本系列博文为深度学习/计算机视觉论文笔记,转载请注明出处 标题:Learning a model of facial shape and expression from 4D scans 链接:Learning a model of facial shape and expression from 4D scans | ACM Transactions on Graphics Pe…...
【ADB】蓝牙总结
ADB 打开蓝牙关闭蓝牙打开Setting查看蓝牙地址查看蓝牙名称查看蓝牙是否开启车机蓝牙Setting配置路径wifi 打开蓝牙 adb root adb shell svc bluetooth enable 关闭蓝牙 adb root adb shell bluetooth disable 打开Setting adb shell am start -n com.android.settings/.S…...
嵌入式系统设计与应用---ARM处理器体系结构(学习笔记)
ARM处理器概述 Cortex-A8处理器工作模式 ps:除用户模式以外的其他模式被称为非用户模式或特权模式;除用户模式及系统模式以外的其他模式可称为异常模式 Cortex-A8存储器管理 ARM的基本数据类型 字节(Byte)&#…...
计算机竞赛 身份证识别系统 - 图像识别 深度学习
文章目录 0 前言1 实现方法1.1 原理1.1.1 字符定位1.1.2 字符识别1.1.3 深度学习算法介绍1.1.4 模型选择 2 算法流程3 部分关键代码 4 效果展示5 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 毕业设计 图像识别 深度学习 身份证识别…...
StarRocks数据导入
1、相关环境 Flink作为当前流行的流式计算框架,在对接StarRocks时,若直接使用JDBC的方式"流式"写入数据,对StarRocks是不友好的,StarRocks作为一款MVCC的数据库,其导入的核心思想还是"攒微批降频率&qu…...
JavaSE | 初识Java(一) | JDK \ JRE \ JVM
Java初识 Java 是一门半编译型、半解释型语言。先通过 javac 编译程序把源文件进行编译,编译后生成的 .class 文件是由字节 码组成的平台无关、面向 JVM 的文件。最后启动 java 虚拟机 来运行 .class 文件,此时 JVM 会将字节码转换成平台能够理…...
6轮面试阿里Android开发offer,薪资却从21k降到17k,在逗我?
一小伙工作快3年了,拿到了阿里云Android开发岗位P6的offer,算HR面一起,加起来有6轮面试了,将近3个月的时间,1轮同级 1轮Android用人部门leader 1轮Android 组leader 1轮项目CTO 1轮HR 1轮HRBP。 一路上各种事件分…...
基于混合蛙跳优化的BP神经网络(分类应用) - 附代码
基于混合蛙跳优化的BP神经网络(分类应用) - 附代码 文章目录 基于混合蛙跳优化的BP神经网络(分类应用) - 附代码1.鸢尾花iris数据介绍2.数据集整理3.混合蛙跳优化BP神经网络3.1 BP神经网络参数设置3.2 混合蛙跳算法应用 4.测试结果…...
[架构之路-230]:计算机硬件与体系结构 - 可靠性、可用性、稳定性;MTTF、MTTR、MTBF
目录 一、软件质量属性 二、可靠性、可用性、稳定性区别 2.1 比较 2.2 公式比较 2.3 "正常工作时间"和"正常运行时间" 2.4 比较案例 2.5 可用性好但可靠性较差的示例 三、MTTF、MTTR、MTBF 3.1 图示 3.2 定义 (1)MTTF&am…...
selenium自动化测试环境安装教程
0X00前言: Selenium是一个广泛应用于Web应用程序测试的工具。它提供了一组功能强大的API,用于模拟用户与Web浏览器的交互。以下是对Selenium的简要介绍: 功能:Selenium能够自动化执行各种Web浏览器上的操作,如点击、输…...
如何修改springboot项目启动时的默认图标?
如下所示为springboot项目启动时的默认图标,我们可以把它换成我们自己喜欢的图片 方法如下: 第一步:我们需要将图片放置当前项目的resources目录下 如下所示为我自定义的一张照片 第二步: 方法1:在application.properties文件中…...
【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...
8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...
QMC5883L的驱动
简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...
Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...
iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版分享
平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...
渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止
<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet: https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...
