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

【重拾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) 认证(你是谁&#xff1f;) 判断你(被认证者)是谁的过程。通常被认证者提供用户名和密码。 常见的认证包含如下几种&#xff1a; 匿名认证&#xff1a;允许访问资源&#xff0c;不做任何类型的安全检查。表单认证&#xff1a;访问资源之前&#xff0c;需要提…...

【POST请求-腾讯翻译君-爬虫案例】

原因&#xff1a;尝试多个在线翻译平台&#xff0c;由于返回数据存在加密原因&#xff08;暂时不会解密&#xff09;&#xff0c;最总找到 ”腾讯翻译君“ 完成爬虫案例POST请求测试 案例测试网址 腾讯翻译 &#xff1a;https://fanyi.qq.com/ import requests import jsoncla…...

多卡片效果悬停效果

效果展示 页面结构 从页面的结构上看&#xff0c;在默认状态下毛玻璃卡片是有层次感的效果叠加在一起&#xff0c;并且鼠标悬停在卡片区域后&#xff0c;卡片整齐排列。 CSS3 知识点 transform 属性的 rotate 值运用content 属性的 attr 值运用 实现页面整体布局 <div …...

首饰饰品经营商城小程序的作用是什么

首饰如耳钉、戒指、手镯等除了高价值产品外&#xff0c;还有很多低价产品&#xff0c;市场需求客户众多&#xff0c;在实际经营中&#xff0c;商家们也会面临一些痛点。 私域话题越来越多加之线上线下同行竞争、流量匮乏等&#xff0c;更对商家选择自建商城经营平台。 通过【…...

华为OD机试真题【服务器能耗统计】

1、题目描述 【服务器能耗统计】 服务器有三种运行状态:空载、单任务、多任务,每个时间片的能耗的分别为1、3、4; 每个任务由起始时间片和结束时间片定义运行时间; 如果一个时间片只有一个任务需要执行,则服务器处于单任务状志; 如果一个时间片有多个任务需要执行,则服务器处于…...

ubuntu按下del却出现空格(命令行下键盘错乱)

问题&#xff1a; 有一天远程我的ubuntu 20.04&#xff0c;发现为何按 del 会产生空格后移的效果&#xff0c;up键也会重叠显示&#xff0c;首先感觉是这个远程软件有问题&#xff0c;于是又换了xshell&#xff0c;发现还是不行&#xff0c;只能打开积灰已久的笔记本&#xff0…...

Go开始:Go基本元素介绍

目录 标识符与关键字Go中的标识符Go关键字关键字示例 具名的函数常规函数代码示例 方法代码示例 高阶函数代码示例 匿名函数与Lambda表达式代码示例 闭包代码示例 具名的值变量基本数据类型复合数据类型指针类型 常量基本常量类型枚举常量常量表达式 定义类型和类型别名类型定义…...

十二、【漏洞复现】Rails任意文件读取(CVE-2019-5418)

十二、【漏洞复现】Rails任意文件读取(CVE-2019-5418&#xff09; 12.1、漏洞原理 Ruby on Rails是一个使用 Ruby 语言写的开源 Web 应用框架&#xff0c;它是严格按照 MVC 结构开发的。它努力使自身保持简单&#xff0c;来使实际的应用开发时的代码更少&#xff0c;使用最少…...

【计算机视觉|人脸建模】学习从4D扫描中获取的面部形状和表情的模型

本系列博文为深度学习/计算机视觉论文笔记&#xff0c;转载请注明出处 标题&#xff1a;Learning a model of facial shape and expression from 4D scans 链接&#xff1a;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&#xff1a;除用户模式以外的其他模式被称为非用户模式或特权模式&#xff1b;除用户模式及系统模式以外的其他模式可称为异常模式 Cortex-A8存储器管理​​​​​​​ ARM的基本数据类型 字节&#xff08;Byte&#xff09;&#…...

计算机竞赛 身份证识别系统 - 图像识别 深度学习

文章目录 0 前言1 实现方法1.1 原理1.1.1 字符定位1.1.2 字符识别1.1.3 深度学习算法介绍1.1.4 模型选择 2 算法流程3 部分关键代码 4 效果展示5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 毕业设计 图像识别 深度学习 身份证识别…...

StarRocks数据导入

1、相关环境 Flink作为当前流行的流式计算框架&#xff0c;在对接StarRocks时&#xff0c;若直接使用JDBC的方式"流式"写入数据&#xff0c;对StarRocks是不友好的&#xff0c;StarRocks作为一款MVCC的数据库&#xff0c;其导入的核心思想还是"攒微批降频率&qu…...

JavaSE | 初识Java(一) | JDK \ JRE \ JVM

Java初识 Java 是一门半编译型、半解释型语言。先通过 javac 编译程序把源文件进行编译&#xff0c;编译后生成的 .class 文件是由字节 码组成的平台无关、面向 JVM 的文件。最后启动 java 虚拟机 来运行 .class 文件&#xff0c;此时 JVM 会将字节码转换成平台能够理…...

6轮面试阿里Android开发offer,薪资却从21k降到17k,在逗我?

一小伙工作快3年了&#xff0c;拿到了阿里云Android开发岗位P6的offer&#xff0c;算HR面一起&#xff0c;加起来有6轮面试了&#xff0c;将近3个月的时间&#xff0c;1轮同级 1轮Android用人部门leader 1轮Android 组leader 1轮项目CTO 1轮HR 1轮HRBP。 一路上各种事件分…...

基于混合蛙跳优化的BP神经网络(分类应用) - 附代码

基于混合蛙跳优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码 文章目录 基于混合蛙跳优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码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 定义 &#xff08;1&#xff09;MTTF&am…...

selenium自动化测试环境安装教程

0X00前言&#xff1a; Selenium是一个广泛应用于Web应用程序测试的工具。它提供了一组功能强大的API&#xff0c;用于模拟用户与Web浏览器的交互。以下是对Selenium的简要介绍&#xff1a; 功能&#xff1a;Selenium能够自动化执行各种Web浏览器上的操作&#xff0c;如点击、输…...

如何修改springboot项目启动时的默认图标?

如下所示为springboot项目启动时的默认图标&#xff0c;我们可以把它换成我们自己喜欢的图片 方法如下&#xff1a; 第一步&#xff1a;我们需要将图片放置当前项目的resources目录下 如下所示为我自定义的一张照片 第二步&#xff1a; 方法1:在application.properties文件中…...

linux之kylin系统nginx的安装

一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源&#xff08;HTML/CSS/图片等&#xff09;&#xff0c;响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址&#xff0c;提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

2024年赣州旅游投资集团社会招聘笔试真

2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

MMaDA: Multimodal Large Diffusion Language Models

CODE &#xff1a; https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA&#xff0c;它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

什么是库存周转?如何用进销存系统提高库存周转率?

你可能听说过这样一句话&#xff1a; “利润不是赚出来的&#xff0c;是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业&#xff0c;很多企业看着销售不错&#xff0c;账上却没钱、利润也不见了&#xff0c;一翻库存才发现&#xff1a; 一堆卖不动的旧货…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

DBAPI如何优雅的获取单条数据

API如何优雅的获取单条数据 案例一 对于查询类API&#xff0c;查询的是单条数据&#xff0c;比如根据主键ID查询用户信息&#xff0c;sql如下&#xff1a; select id, name, age from user where id #{id}API默认返回的数据格式是多条的&#xff0c;如下&#xff1a; {&qu…...

Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)

在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马&#xff08;服务器方面的&#xff09;的原理&#xff0c;连接&#xff0c;以及各种木马及连接工具的分享 文件木马&#xff1a;https://w…...

用机器学习破解新能源领域的“弃风”难题

音乐发烧友深有体会&#xff0c;玩音乐的本质就是玩电网。火电声音偏暖&#xff0c;水电偏冷&#xff0c;风电偏空旷。至于太阳能发的电&#xff0c;则略显朦胧和单薄。 不知你是否有感觉&#xff0c;近两年家里的音响声音越来越冷&#xff0c;听起来越来越单薄&#xff1f; —…...