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语言-选择·重复·跳转语句

目录

选择:if语句,switch语句

形式:

else悬空问题:

推荐替换:

练习:

switch语句:

重复:while循环语句,do语句,for循环语句 和?跳转·退出循环:continue、break、goto语句:


选择:if语句,switch语句

形式:

????????if语句几乎没有什么知识点,if语句后面不加";"

if(表达式){

    if(表达式){语句}
    else if(…){语句}
    else{语句}
}
else if(表达式){
    if(){语句}
    else{语句}
}

…

else{
    if(){语句}
    else{语句}
}

????????在上面的语句里,圆括号的表达式值非零,则执行该{}里的语句,否则跳过。

????????注:else没有圆括号括起来的表达式

else悬空问题:

????????else悬空即else语句的数量比if语句数量少,此时else语句属于哪一个if语句呢?

? ? ? ? if (y != 0)

? ? ? ? ? ? ? ? if(x != 0) ?result = x/y;

? ? ? ? else ?printf("error");

看起来else语句好像和if (y != 0)并列,缩进格式暗示它属于if (y != 0),但是C语言规定else语句属于离它最近的且还未和其他else语句匹配的if语句,在这里属于if(x != 0)语句。将语句用{}括起来将不会出现这一问题。

推荐替换:

????????if语句可以用 ?表达式1 ?表达式2:表达式3?来代替

练习:

#include <stdio.h>
#include<stdlib.h>
//选择语句·计算佣金

int main(void) 
{ 
    float commission, value;//commission:佣金,value:交易额

    printf("Enter value of trrade:  ");
    scanf("%f",&value);

    if(0<value && value < 2500.00f){
        //记得把数字都写成浮点数形式
        commission = 30 + .017f * value;
    }
    else if (value >= 2500.00f && value < 6250.00f )
    {
       commission = 56 + .0066f * value;
    }
    else if (value >= 6250.00f && value < 20000.00f )
    {
       commission = 76 + .0034f * value;
    }
    else if (value >= 20000.00f && value < 50000.00f )
    {
       commission = 100 + .0022f * value;
    }
    else if (value >= 50000.00f && value < 500000.00f )
    {
       commission = 155 + .0011f * value;
    }
    else {
        commission = 255 + .0009*value;
    }
    
    printf("commission: $%.2f\n",commission);
    return 0; 

}  

/**
    Enter value of trrade:2435
    commission: $71.40   
*/

switch语句:

if语句可以替换为switch语句。
case 常量表达式:语句 这里的常量表达式不可以包含变量和函数调用。
5, 5 + 10 都属于常量表达式 ?

一定要有break语句,如果想多个分支共享代码从而忽略break,则应该明确指出这里故意忽略了break语句。以防止别人或者自己再加上break语句来修正“错误”。

可加注释:/* FALL THROUGH*/?

下面两个是一样的:

//级联式if语句根据成绩的等级显示出相应的英语单词
    if (grade == 4)
        printf("Excellent");
    else if (grade == 3)
        printf("Good");
    else if (grade == 2)
        printf("Average");
    else if (grade == 1)
        printf("Poor");
    else if (grade == 0)
        printf("Failing");
    else
        printf("Illegal grade");
//switch语句等价于前面的级联式if语句

switch (grade)
{
case 4:printf("Excellent");//case 4 即grade = 4
    break;
case 3:printf("Good");
    break;
case 2:printf("Average");
    break;
case 1:printf("Poor");
    break;
case 0:printf("Failing");
    break;
default:printf("Illegal grade");
    break;
}
//多个分支放置在同一组语句的前面:
switch (grade)
{
case 4:
case 3:
case 2:
case 1:printf("Passing");
    break;
case 0:printf("Failing");
    break;
default:printf("Illegal grade");
    break;
}

//或者这样:
switch (grade)
{
case 4:    case 3:    case 2:    case 1:
    printf("Passing");
    break;
case 0:printf("Failing");
    break;
default:printf("Illegal grade");
    break;
}
//在这种情况下,4,3,2,1 都会输出 Passing

重复:while循环语句,do语句,for循环语句 和?跳转·退出循环:continue、break、goto语句:

另开一篇来写:

http://t.csdn.cn/oE7az

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-06-29 18:48:02  更:2022-06-29 18:49:08 
 
开发: 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年4日历 -2024/4/26 16:11:53-

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