从零开始的循环之旅(上)

简介: 从零开始的循环之旅(上)

总述


在我们日常生活中处处都面临着选择,每个选择都会或多或少的影响我们的未来。C语言中便有两种选择结构来实现选择,它们是 if els / switch case ,下面我们就来介绍一下吧。


1、分支语句


1.1、if语句


if语句的语法结构:


if(表达式)        
  语句;   
if(表达式)         
    语句1;
else
    语句2;  
if(表达式1)    //多个分支
    语句1;
else if(表达式2)    
    语句2;
else
    语句3;


如果表达式中的语句为真,则语句执行。

那么我们如何判断语句是否为真呢?


在C语言中,0表示假,非零表示真。


我们来看看代码:


#include <stdio.h>
int main()
{
  int age = 0;
    scanf("%d", &age);
    if(age<18)
   {
        printf("未成年\n");
   }
    else if(age>=18 && age<45)
   {
        printf("壮年\n");
   }
   else if(age>=45 && age<59)
   {
      printf("中年/n");
   }
   else 
      printf("老年\n");
  return 0; 
}


提示:如果条件成立,要执行多条语句就需要使用代码块,即{ };如果条件成立,若只需执行一条则可不加。


下面我们来看一个有趣的代码:


#include <stdio.h>
int main()
{                      //大家猜猜看这个代码得到的结果是什么
    int a = 0;
    int b = 2;
    if(a == 1)
        if(b == 2)
       {
            printf("hehe\n");
       }
    else
   {
         printf("haha\n");
   }
   return 0;   
}


相信大家都有答案了吧,其实结果啥也不打印,为啥呢?


因为 else 是和它离的最近的 if 匹配的。

所以 else 其实是与下面的 if 匹配,而 a= 0 ,所以 a==1 为假,说以程序进不去,也就无法完成下面的 if else 了。这就是我们所说的悬空 else。

当然了,我们也可以加代码块来使 else 与上面的 if 对齐。


1.2、switch 语句


switch 语句也是一种分支语句,常常用于多分支的情况。


switch(整型表达式) 
{
    语句项;
}


这就是一个简单的 switch 语句。

下面我们来看一段代码:


#include <stdio.h>
int main()
{
    int day = 0;
    scanf("%d",day);
    switch(day)      //根据day的值来执行语句
   {
        case 1:
            printf("星期一\n");
            break;            //break;是为了退出switch语句
        case 2:               //如果没有break;则程序往下走,执行下一条语句
            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 就像if else 里的 else
        default:                 //当day不等于1~7时,程序进入default
            printf("请输入有效星期(1~7)\n")
            break;
   }
    return 0; 
}


break 语句的实际效果是把语句列表划分为不同的分支部分。

在每个 switch 语句中都放一条default子句是个好习惯,甚至可以在后边再加一个 break 。


总结


当碰到的选择较少时,优先使用 if else

当碰到多种选择,且需控制语句表达时,便使用 switch



本文为个人见解,如有误导,还请见谅。


相关文章
|
资源调度 API 开发者
Three入门 【基础知识,并搭建第一个场景】
Three入门 【基础知识,并搭建第一个场景】
105 0
|
2月前
|
机器学习/深度学习 数据挖掘 Python
Python编程入门——从零开始构建你的第一个程序
【10月更文挑战第39天】本文将带你走进Python的世界,通过简单易懂的语言和实际的代码示例,让你快速掌握Python的基础语法。无论你是编程新手还是想学习新语言的老手,这篇文章都能为你提供有价值的信息。我们将从变量、数据类型、控制结构等基本概念入手,逐步过渡到函数、模块等高级特性,最后通过一个综合示例来巩固所学知识。让我们一起开启Python编程之旅吧!
|
2月前
|
人工智能 数据挖掘 Python
Python编程基础:从零开始的代码旅程
【10月更文挑战第41天】在这篇文章中,我们将一起探索Python编程的世界。无论你是编程新手还是希望复习基础知识,本文都将是你的理想之选。我们将从最基础的语法讲起,逐步深入到更复杂的主题。文章将通过实例和练习,让你在实践中学习和理解Python编程。让我们一起开启这段代码之旅吧!
|
13天前
|
人工智能 Linux 程序员
从零开始_先跑起来_入门编程选什么系统
从零开始_先跑起来_入门编程选什么系统
|
1月前
|
Python
Python编程入门:从零开始的代码旅程
本文是一篇针对Python编程初学者的入门指南,将介绍Python的基本语法、数据类型、控制结构以及函数等概念。文章旨在帮助读者快速掌握Python编程的基础知识,并能够编写简单的Python程序。通过本文的学习,读者将能够理解Python代码的基本结构和逻辑,为进一步深入学习打下坚实的基础。
|
2月前
|
存储 机器学习/深度学习 搜索推荐
Python编程入门:从零开始构建你的第一个程序
【10月更文挑战第32天】本文旨在通过浅显易懂的方式引导编程新手进入Python的世界。我们将一起探索Python的基础语法,并通过实例学习如何构建一个简单的程序。文章将不直接展示代码,而是鼓励读者在阅读过程中自行尝试编写,以加深理解和记忆。无论你是编程初学者还是希望巩固基础知识的开发者,这篇文章都将是你的良师益友。让我们开始吧!
|
4月前
|
存储 Python
Python编程入门:从零开始的代码之旅
【9月更文挑战第4天】本文将带领初学者步入Python的世界,通过简明的语言和直观的例子,逐步揭示编程的乐趣。我们将一起构建基础的数据结构,探索控制语句的奥秘,并实现简单的函数。无论你是编程新手还是希望巩固基础,这篇文章都是你理想的起点。让我们开始吧,一步步将代码块搭建成思维的宫殿!
43 2
|
5月前
|
存储 程序员 Python
Python编程基础:从零开始的代码之旅
【8月更文挑战第24天】这篇文章旨在为初学者提供一个友好的Python入门指南。通过简明的语言和实际的编码示例,我们将探索Python的基本概念、数据结构、控制流程以及函数的使用。无论你是编程新手还是想扩展你的技能库,这篇文章都将是你学习旅程中的一块垫脚石。让我们开始吧,一起揭开编程的神秘面纱,享受代码带来的乐趣!
36 1
|
5月前
|
Java Maven Android开发
解锁Web开发新技能:从零开始的Struts 2之旅——让你的Java编程之路更加宽广,首个应用实例带你飞!
【8月更文挑战第31天】对于初学者,掌握 Struts 2 框架不仅能提升 Web 开发能力,还能深入了解 MVC 架构。Struts 2 是一个基于 Servlet 的 Java 框架,提供表单验证、文件上传、国际化等功能,便于快速构建易维护的 Web 应用。本文通过示例演示如何从零开始搭建环境并创建一个简单的 Struts 2 项目,包括配置 `struts.xml`、编写 Action 类及视图文件,并配置 web.xml。通过这些步骤,你将学会基本的开发流程,为进一步学习高级功能打下基础。
72 0
|
6月前
|
算法 JavaScript 前端开发
编程入门:从零开始学习编程的方法与步骤
编程入门:从零开始学习编程的方法与步骤