C语言--if...else语句【语法讲解】

news2024/10/1 23:40:07


一.if...else语句的介绍

if…else 语句是编程中常用的一种分支语句,用于根据条件执行不同的操作。
它的基本语法如下:
if (条件表达式)
{
   // 当条件表达式为真时执行的代码块
} 
else 
{
   // 当条件表达式为假时执行的代码块
}

当条件表达式为真时,执行 if 语句块中的代码;否则执行 else 语句块中的代码。else 语句块是可选的,可以省略。

if (条件表达式1) 
{
   // 当条件表达式1为真时执行的代码块
} 
   else if (条件表达式2) 
{
   // 当条件表达式1为假且条件表达式2为真时执行的代码块
} 
   else 
{
   // 当条件表达式1和条件表达式2都为假时执行的代码块
}

二.例题

例题一.
用if..else语句求一元二次方程的根.
#define _CRT_SECURE_NO_WARNINGS//这一句必须放在第一行
#include<stdio.h>
#include<math.h>
int main() 
{
    int a, b, c;
    scanf("%d%d%d",&a,&b,&c);
    double x1, x2;
    int d = b*b -4*a*c;
    if (a == 0)
    {
        printf("%lf\n",-1.0*c/b);
    }
    else
    {
        if (d > 0)
        {
            x1 = (-b + sqrt(d)) / (2*a);
            x2 = (-b - sqrt(d)) / (2 * a);
            printf("%lf,%lf\n",x1,x2);
        }
        else //d <= 0
        {
            if (d == 0)
            {
                x1 = x2 = -b / (2.0 * a);
                printf("x1=x2=%lf\n",x1);
            }
            else //d<0
            {
                printf("无实根\n");
            }
        }
    }
    return 0;
}


例题二.

判断一个数n能否同时被3和5整除

#define _CRT_SECURE_NO_WARNINGS//这一句必须放在第一行
#include<stdio.h>
int main()
{
	int n;
	scanf("%d",&n);
	if (n % 3 == 0 && n % 5 == 0)
		printf("%d能整除\n", n);
	else
		printf("%d不能整除3和5\n",n);

	return 0;
}


除了if...else是分支语句以外,还有switch也是分支语句。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1332719.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PWM/PFM 自动切换升压型转换器系统(一)

通过对芯片整体设计要求的考虑&#xff0c;搭建全负载高效率升压型 DC-DC 转换器的整体系 统框架&#xff0c;对系统的工作过程和模块电路的功能进行简要阐述&#xff0c;对外围电路的选取进行准确计 算&#xff0c;分析系统的损耗来源&#xff0c;实现高效率的设计目标。 芯片…

电商数仓项目----笔记七(数仓DIM层)

所谓的维度层其实就是分析数据的角度&#xff0c;维度层保存的表其实是分析数据的角度&#xff0c;比如&#xff1a; --性别&#xff0c;年龄&#xff0c;品牌&#xff0c;品类 这层的表主要用于统计分析&#xff0c;因此DIM层的数据存储格式为orc列式存储snappy压缩&#xff…

细粒度语义对齐

抽象 大规模的视觉语言预训练在广泛的下游任务中显示出令人印象深刻的进展。现有方法主要通过图像和文本的全局表示的相似性或对图像和文本特征的高级跨模态关注来模拟跨模态对齐。然而&#xff0c;他们未能明确学习视觉区域和文本短语之间的细粒度语义对齐&#xff0c;因为只有…

Spring系列学习一、Spring框架的概论

Spring框架的概论 一、 Spring框架的起源与历史二、 Spring框架的核心理念与特点三、 Spring与其他框架的对比1、首先介绍下Spring与其平替的EJB的对比&#xff1a;2、接下来介绍下Spring与基于Java EE原生技术的对比3、Spring与Hibernate的对比4、Spring与Struts的对比 四、Sp…

docker的基本管理和相关概念

docker的基本管理和概念 docker&#xff1a;开源的应用容器引擎。基于go语言开发的。运行在linux系统当中的开源的&#xff0c;轻量级的“虚拟机” docker的容器技术可以在一台主机上轻松的为任何应用创建一个轻量级的&#xff0c;可移植的&#xff0c;自给自足的容器 docke…

计算机网络——数据链路层(三)

前言: 前面我们已经对计算机网络的物理层有了一个大概的了解&#xff0c;今天我们学习的是物理层服务的上一层数据链路层&#xff0c;位于物理层和网络层之间。数据链路层在物理层提供的服务的基础上向网络层提供服务&#xff0c;其最基本的服务是将源自物理层来的数据可靠地传…

RabbmitMQ基础

RabbmitMQ基础 1.1 什么是MQ MQ(Message Queue)&#xff0c;从字面意思看&#xff0c;本质是个队列&#xff0c;FIFO先入先出&#xff0c;队列中存放的是message。是一种跨进程的通信机制&#xff0c;用于上下游传递消息。在互联网架构中&#xff0c;MQ是一种非常常见的上下游…

DDS深度揭秘:数字音乐的心灵密码

嗨&#xff0c;音乐奇迹的探索者们&#xff01;今天&#xff0c;我们将揭开音乐数字化的神秘面纱&#xff0c;深入探讨Direct Digital Synthesis&#xff08;DDS&#xff09;这项数字音乐技术。别担心&#xff0c;我们将用通俗易懂的语言为你解析DDS是什么、它是如何工作的&…

零基础学人工智能:TensorFlow 入门例子

识别手写图片 因为这个例子是 TensorFlow 官方的例子&#xff0c;不会说的太详细&#xff0c;会加入了一点个人的理解&#xff0c;因为TensorFlow提供了各种工具和库&#xff0c;帮助开发人员构建和训练基于神经网络的模型。TensorFlow 中最重要的概念是张量&#xff08;Tenso…

【论文解读】3D视觉标定的显式文本解耦和密集对齐(CVPR 2023)

来源&#xff1a;投稿 作者&#xff1a;橡皮 编辑&#xff1a;学姐 论文链接&#xff1a;https://arxiv.org/abs/2209.14941 开源代码&#xff1a;https://github.com/yanmin-wu/EDA 图1所示。文本解耦&#xff0c;密集对齐的3D视觉标定。文本中的不同颜色对应不同的解耦分量。…

Pinely Round 3 (Div. 1 + Div. 2) E. Multiple Lamps(思维题 暴力 补写法)

题目 n(n<2e5)盏灯&#xff0c;编号1到n&#xff0c;一开始全是熄灭的 n个开关&#xff0c;第i个控制着所有i的倍数&#xff0c;按下i的时候&#xff0c;i、2i、...这些灯的状态会被翻转&#xff0c; m(m<2e5)个限制&#xff0c;第j条限制形如uj,vj&#xff0c;表示uj…

智能优化算法应用:基于向量加权平均算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于向量加权平均算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于向量加权平均算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.向量加权平均算法4.实验参数设定…

springboot整合JPA 多表关联 :一对多 多对多

补充一下自定义SQL 这是连表查询&#xff0c;可以任意查出字符&#xff0c;用Map接收 Testvoid test3() {JPAQueryFactory jpaQueryFactory new JPAQueryFactory(em);QStudent student QStudent.student;QMessage message QMessage.message;//constructor(StuMesDto.class, …

【pynput】鼠标行为追踪并模拟

文章目录 前言基本思路安装依赖包实时鼠标捕获捕获鼠标位置捕获鼠标事件记录点击内容 效果图 利用本文内容从事的任何犯法行为和开发与本人无关&#xff0c;请理性利用技术服务大家&#xff0c;创建美好和谐的社会&#xff0c;让人们生活从繁琐中变得更加具有创造性&#xff01…

7. 结构型模式 - 代理模式

亦称&#xff1a; Proxy 意图 代理模式是一种结构型设计模式&#xff0c; 让你能够提供对象的替代品或其占位符。 代理控制着对于原对象的访问&#xff0c; 并允许在将请求提交给对象前后进行一些处理。 问题 为什么要控制对于某个对象的访问呢&#xff1f; 举个例子&#xff…

Oracle研学-查询

学自B站黑马程序员 1.单表查询 //查询水表编号为 30408 的业主记录 select * from T_OWNERS where watermeter30408 //查询业主名称包含“刘”的业主记录 select * from t_owners where name like %刘% //查询业主名称包含“刘”的并且门牌号包含 5 的业主记录 select * from…

Redis-运维

转自 极客时间 Redis 亚风 原文视频&#xff1a;https://u.geekbang.org/lesson/535?article681062 Redis 同步 Redis主从数据同步,主从第⼀次同步是全量同步 replicaof 主机 端口 #当前这个机器做Master的备份master如何判断slave是不是第⼀次来同步数据&#xff1a; Repl…

linux循环调度执行

9.2 循环调度执行 9.2.1 简介 cron的概念和crontab是不可分割的。 ​ crontab是一个命令&#xff0c;常见于Unix和Linux的操作系统之中用于设置周期性被执行的指令。 ​ 该命令从标准输入设备读取指令&#xff0c;并将其存放于“crontab”文件中&#xff0c;以供之后读取和执…

基于AT89C51单片机的8位密码锁仿真与实物制作

点击链接获取Keil源码与Project Backups仿真图&#xff1a; https://download.csdn.net/download/qq_64505944/88657969?spm1001.2014.3001.5503 源码获取 C 源码仿真图毕业设计实物制作步骤01 摘要 在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表…

在使用 npm install的时候提示node-sass command faile 解决方案

在使用npm install的时候错误提示node-sass 相关的。错误信息如下图&#xff1a; 解决方法&#xff08;PS&#xff1a;凯哥的不适用&#xff09; 出现这种问题基本是由于node版本与sass版本不匹配导致的 方案1&#xff1a;卸载node&#xff0c;安装对应版本 方案2&#xff1…