IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 【C基础篇】选择结构与循环控制 -> 正文阅读

[C++知识库]【C基础篇】选择结构与循环控制

一、选择结构

1.if语句的基本形式

if语句首先要判断表达式的值,然后根据该值的真假情况决定去执行后续的流程图。
在这里插入图片描述

//模拟员工考勤 工号和密码都对则考勤成功
#include<stdio.h>
int main()
{
    int id,passwd;
    printf("请输入您的工号:\n");
    printf("请输入您的密码:\n");
    scanf("%d",&id);
    scanf("%d",&passwd);
    if(id == 12 && passwd == 14)
    {
        printf("考勤成功!\n");
    }
    if(id != 12 && passwd != 14)
    {
        printf("对不起,您输入的工号或者密码错误!\n");
    }
    return 0;
}

2.if…else 语句

if语句只给出了条件为真是,需要执行的操作,当条件为假是,未给出相应的执行操作。

if (表达式)
{
    语句1;//表达式值为真值,则执行此语句
}
else
{
    语句1;//表达式值为假值,则执行此语句
}

3.else if语句

利用if和else关键字的组合,可以实现else if语句,对一系列互斥条件进行检验,从而解决较为复杂的判断和决策问题。

if(表达式1)
{
    语句1;//表达式1为真,执行此语句
}
else if(表达式2)
{
    语句2;//表达式2为真,执行此语句
}
...
else if(表达式n)
{
    语句n;//表达式n为真,执行此语句
}
else
{
    语句n+1;//前面所有判断都不成立,执行此语句
}

4.if的嵌套形式
if语句中可以包含一个或多个if语句,称之为if的嵌套。

if(表达式1)
{
    if (表达式2)
    {
        语句块1;
    }
    else
    {
        语句块2;
    }
}
else
{
    if(表达式3)
    {
        语句块3;
    }
    else
    {
        表达式4;
    }
}

4.条件运算符

条件运算符可以对一个表达式中值的真假进行检验,根据检验结果返回另外两个表达式中的一个。

max = (a > b) ? a : b;

//等效表达
if(a > b)
{
    max =  a;
}
else
{
    max = b;
}

5.switch语句

switch是多路分支选择语句

switch (表达式)
{
case 情况1:
    语句1;
    break;
case 情况2:
    语句2;
    break;
    ...
case 情况n:
    语句n;
    break;
default:
    break;
}

6.if…else语句和switch语句区别

语法的比较

  • if需要配合else关键字;switch需要配合case关键字;
  • if语句先对条件进行判断,而switch语句是后进行判断。

语法的比较

  • if…else适用少量的检验
  • switch每个case检验速度相同,default比case快。
  • 高于4个检验时,使用switch语句较好。

二、循环控制

1.while语句

使用while语句可以解决当谋个条件满足时反复执行谋个循环体的问题。

while (表达式)
{
    语句块(循环体);
}
//无法终止的循环被称为死循环或无限循环

2.do…while语句

在某些情况下,不论条件是否满足,都需要执行一次循环过程,可以采用do…while语句。

do
{
    语句块(循环体);
} while (表达式);
/* === 执行过程 === */
// 先执行一次循环体,然后判断表达式
// 表达式为真,返回重新执行循环体语句
// 再次判断表达式,表达式为假,循环结束

while和do…while区别:
while先判断,后执行;
do…while先执行后判断。

3.for循环

for语句的一般表达式

for (表达式1; 表达式2; 表达式3)
{
    语句块(循环体);
}

4.循环嵌套

while与while

while (表达式)
{
    语句块;
    while (表达式)
    {
        语句块;
    }
    
}

do…while和do…while

do
{
    语句块;
    do
    {
       语句块;
    } while (表达式);
    
} while (表达式);

for和for

for (表达式; 表达式; 表达式)
{
    语句块;
    for (表达式; 表达式; 表达式)
    {
        语句块;
    }
    
}

类似嵌套形式多样。

三、转移语句

1.goto语句

goto语句为无条件转移语句,可以使程序跳到函数内部的任意一条可执行语句处。
goto关键词后面带一个标识符,该标识符是同一个函数内某条语句的标号,标号可出现在任何可执行语句的前面,并且以一个:作为后缀。其一般形式如下:

goto 标识符;
//"下一步" or "退出"
#include<stdio.h>
int main()
{
    int num;//循环变量
    int putnum;//输入数值
    for(num = 1;num <10;num ++)
    {
        printf("当前次数:%d\n",num);
        do
        {
            printf("请输入一个数:\n");
            printf("(0 exit,99 continue)\n");
            scanf("%d",&putnum);
            if(putnum == 0)
            {
                goto exit;
            }
        }
         while (putnum != 99);
    }
    exit:
        printf("退出程序!\n");
    return 0;
}

2.break语句

有时候会遇到不管表达式检验结果如何,都需要强行终止循环,这时可以使用break语句;break语句用于终止并跳出当前循环,然后继续执行后面的程序。
break语句不能用于除循环语句和switch语句之外的其他任何语句中;另外,在多层循环嵌套下,使用break语句只能跳出当前循环。

#include<stdio.h>
int main()
{
    int i;
    for ( i = 0; i < 15; i++)
    {
        if(i == 10)
        {
            printf("Break here\n");
            break;
        }
        printf("the number is:%d\n",i);
    }
    return 0;
}

3.continue语句

某些情况下,程序需要循环头部继续执行,而不是跳出循环,此时可以使用continue语句。
continue语句作用是结束本次循环,即跳过循环体中尚未执行的部分,直接执行下一次的循环操作。

#include<stdio.h>
int main()
{
    int i;
    for ( i = 0; i < 15; i++)
    {
        if(i == 10)
        {
            printf("Continue here\n");
            continue;
        }
        printf("the number is:%d\n",i);
    }
    return 0;
}

在这里插入图片描述

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-09-15 01:47:57  更:2022-09-15 01:49:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 13:40:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码