首页 > 其他分享 >C语言-选择结构

C语言-选择结构

时间:2024-07-21 22:42:41浏览次数:11  
标签:语句 break else 选择 case printf C语言 表达式 结构

在C语言中,一共有三种程序结构:
顺序结构、选择结构(分支结构)和循环结构。
C语言提供2种类型的选择语句:if语句和switch语句。
C语言由一个分号;隔开的就是一条语句。
在C语言中 0表示假,非0表示真。
if语句可以是任何语句,也可以是有若干语句组成的一个语句组,在这种情况下,这组语句需要用花括号“{}”括起来。

if语句
单分支if选择语句
格式:
if(表达式)
语句;
功能:首先计算"表达式"的值,如果表达式的值为真,则执行"语句",否则不执行,而是转去执行本语句后面的语句。

双分支if_else语句
格式:
if(表达式)
语句块1;
else
语句块2;
功能:首先计算"表达式"的值,如果表达式的值为真,语句块1,否则执行else后面的语句块2。

例:判断学生分数及格

#include<stdio.h>
int main()
{
	int i = 0;
	scanf("%d", &i);
 
	if (i >= 60)
		printf("及格");
	else
		printf("不及格");
	return 0;
}

注意点:
else和它离的最近的未匹配的if进行匹配。,如有如下代码不返回打印值。
相当于下面这样代码,判断a==1,为假,不执行嵌套if语句。

多分支if_else选择语句
格式:
if(表达式1)
语句块1;
else if(表达式2)
语句块2;
else if(表达式3)
语句块3;
else if(表达式4)
语句块4;
else
语句块5;

例:年龄分段

#include <stdio.h>
int main()
{
    int age = 0;
    scanf("%d", &age);
    if (age < 18)
    {
        printf("少年\n");
    }
    else if (age >= 18 && age < 30)
    {
        printf("青年\n");
    }
    else if (age >= 30 && age < 50)
    {
            printf("中年\n");
    }
    else if (age >= 50 && age < 80)
    {
        printf("老年\n");
    }
    else
    {
        printf("老寿星\n");
    }
    return 0;
}

switch语句

多分支开关语句switch
格式:
switch(整型表达式)
{
case 整型常量表达式1: 语句块1;
break;
case 整型常量表达式2: 语句块2;
break;
...
case 整型常量表达式n: 语句块n;
break;
default: 语句块n+1;
}
首先,计算switch后圆括号内的表达式的值,然后,再这个值逐个与各xase的常量表达式i的值进行比较。当找到与其相等(匹配)的case时,就执行该case中的语句块,如果再语句块中有break语句,便退出该switch语句。如果没有break语句,则执行完某个语句块后,连续执行其后的语句块,直到遇到另外一个break语句,结束switch的执行,或者一直执行到最后的语句块,然后,结束switch语句的执行。

例:判断星期

#include <stdio.h>
int main()
{
    int day = 0;
    scanf("%d", &day);
    switch (day)
    {
    case 1:
        printf("星期一\n");
        break;
    case 2:
        printf("星期二\n");
        break;
    case 3:
        printf("星期三\n");
        break;
    case 4:
        printf("星期四\n");
        break;
    case 5:
        printf("星期五\n");
        break;
    case 6:
        printf("星期六\n");
        break;
    case 7:
        printf("星期天\n");
        break;
    default:
        printf("输入错误");
    }
    return 0;
}

标签:语句,break,else,选择,case,printf,C语言,表达式,结构
From: https://www.cnblogs.com/anhuizjh/p/18315068

相关文章

  • 数据结构——李超线段树 学习笔记
    数据结构——李超线段树学习笔记维护直线考虑线段树维护区间最优线段。其中,最优线段指的是,在区间\([l,r]\)中,中点\(mid\)处最优的线段。我们称一个线段在单点更优/最优,显然,是指此处的函数值更大。我们下面称一个线段在区间内更优/最优,是指在中点处的比较。......
  • C语言:键盘录入案例
    主要使用了scanf;scanf的使用方法和注意事项:1.作用:用于接收键盘输入的数据并赋值给对应的变量2.使用方式;scanf("占位符",&变量名);3.注意事项;占位符后面的的变量要对应第一个参数中不写换行案例1:键盘录入求和#include<stdio.h>intmain(){ inta;//......
  • 【c语言】数组
    一:数组的概念数组是⼀组相同类型元素的集合;•数组中存放的是1个或者多个数据,但是数组元素个数不能为0。•数组中存放的多个数据,类型是相同的。二:⼀维数组的创建和初始化1.数组创建存放在数组的值被称为数组的元素,数组在创建的时候可以指定数组的⼤⼩和数组的元素类型。......
  • 时间序列分析方法汇总对比及优缺点和适用情况(下)-- 11. 卡尔曼滤波 12. 广义自回归条件
    目录11.卡尔曼滤波(KalmanFilter)12.广义自回归条件异方差模型(GARCH)13.贝叶斯结构时间序列模型(BayesianStructuralTimeSeries,BSTS)14.动态因子模型(DynamicFactorModel,DFM)15.隐马尔科夫模型(HiddenMarkovModel,HMM)16.分段线性回归(PiecewiseLinearRegress......
  • 算法设计与数据结构系列【超详细、超全面、小白可入,期末复习】持续更新中...
    算法设计与数据结构系列【超详细、超全面、小白可入,期末复习】持续更新中…24.07.21代码采用语言:Java1、位运算(BitwiseOperation)常见操作:与(&)、或(I)、非(~)、异或(^)移位运算:>>和<<分别为左移和右移>>>运算符:用0填充高位,>>用符号位填充高位,没有<<<运算符真值表ab~a~b......
  • 数据结构:栈的基本概念、顺序栈、共享栈以及链栈
    相关概念栈(Stack)是只允许在一端进行插入或删除操作的线性表。栈顶(Top):线性表允许插入删除的那一端。栈底(Bottom):固定的,不允许进行插入和删除的另一端。栈的基本操作InitStack(&S):初始化一个空栈S。StackEmpty(S):判断一个栈是否为空,若栈S为空则返回true,否则返回false。......
  • C语言数据类型和变量
    1.数据类型介绍C语言提供了丰富的数据类型来描述生活中的各种数据。所谓“类型”,就是相似的数据所拥有的共同特征,编译器只有知道了数据的类型,才知道怎么操作数据。1.1数据类型下面盘点一下C语言提供的各种数据类型,本章节主要探讨内置数据类型:具体解释:1.2各种数据类型......
  • ffmpeg基本结构
    FFmpeg是一个领先的多媒体框架,可以解码、编码、转码、mux、demux、流、过滤和播放几乎任何由人类和机器创造的内容。它支持最晦涩的古老格式到最尖端的格式。图中展示了FFmpeg的整体结构,分为多个组件,每个组件在多媒体处理流程中扮演特定角色。以下是对每个组件的详细讲解:顶层组......
  • C++学习之路——第一天(结构体、C++程序从编写到运行)
    引子:兜兜转转还是你~C++数据类型int占用4个字节(32位机)char占用1个字节(8位机)short占用2个字节(16位机)long占用4个字节(32位机)float占用4个字节(32位机)double占用8个字节(64位机)longdouble占用16个字节(64位机)define和const的区别define在......
  • ARM体系结构和接口技术(十)按键中断实验①
    一、按键中断实验(一)分析按键电路图(二)芯片手册二、按键中断实验分析注:NVIC----Cortx-M核GIC----Cortx-A核(一)查看所有外设的总线以及寄存器基地址注:GIC的总线是A7核的内部总线,也就是说,它是由ARM公司完成的注:EXTI的时钟源无需手动使能,它一直是使能状态(二)RCC章节(......