打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
学习C++ -> 选择结构程序设计
2012-11-12 16:03 by wid, 1374 阅读, 6 评论, 收藏编辑

学习C++ -> 选择结构程序设计
=======================

一、 语句
    语句是程序的基本组成单位, 每条语句都以分号(;)结尾表示该语句的结束。
    
    1. 表达式语句
        运算符、 常量、等可以组成表达式, 而表达式后加分号就构成了表达式语句。
            例如: i = 10 是赋值表达式, 而 i = 10 ; 加上分号就构成了表达式语句。
            
    2. 复合语句
        用一对大括号括起来的一条或多条语句, 称为复合语句。
        例如: { i = 10; n = 20; m = 30; } 是复合语句, 它只是算是一条语句, 而不是三条。
        注意: 大括号后面无需分号。
        
    3. 空语句
        仅由一个分号构成的语句称为空语句, 空语句什么都不执行, 当某处需要一条语句而又可以什么也不做时使用空语句。
        
    4. 赋值语句
        赋值语句由表达式后跟分号组成。
        例如:

        i = 10 ;        a = b + c ;

        赋值语句首先会计算等号(=)右边的表达式的值, 然后将其赋值给左边的内存单元。
        说明: 赋值语句中, "="左边是以变量名标示的内存存储单元, 程序在编译时会为变量分配存储单元, 也就是说, 变量名代表着内存单元。
    
    5. 流程控制语句
        1>. if语句
            if语句的一般使用形式:

          if(表达式)            语句块

            功能: 当if后面括号中表达式的值为真时执行语句块中的语句, 否则跳过语句块(复合语句)执行语句块的下一跳语句。
            
            使用举例:

            if( 10 > 5 )            {                cout<<"Yes." ;            }

            编译运行后输出Yes., 说明if下面的语句块被执行了, 因为10大于5是成立的, 为真, 所以语句块将会被执行。
            上面也讲到, 所谓的语句块就是一条复合语句, 当仅有一个语句时你可以不使用大括号将一个语句括起来。
        
        2>. if-else语句
            仅有一个if语句只能告诉程序当表达式成立时做什么, 而不能告诉程序当表达式不成立时我们应该做什么, if-else正是用来解决该问题的。
            使用形式:

            if(表达式)                当表达式成立时执行的语句块            else                当表达式不成立时执行的语句块

            功能: 首先计算表达式式的值, 当表达式的值为真时执行if后面的语句块, 当表达式的值为假(不成立)时执行else后面的语句块。
            使用举例:

            if( 10 < 5 )                cout<<"Yes." ;            else                cout<<"No." ;

            程序输出No., 因为10 < 5是不成立的, 所以需要执行else后面的语句。
            
        3>. 嵌套的if语句
            嵌套的if语句常用来处理有多种情况时, 嵌套一般有三种形式:
                形式一:

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

                    注意, 这里使用了大括号将第二个if语句括起来了, 否则第二个if就会跟下面的if结合, 每个if与和他最近的else结合。
                    
                形式二:

            if(表达式1)              if(表达式2)                 语句块1               else                 语句块2            else               语句块3                    

                    在这个嵌套中, 当表达式1成立时将执行表达式2的if语句, 否则执行表达式1的else语句。
                    
                形式三:

           if(表达式1)             语句块1             else if(表达式2)                语句块2                   else                     语句块3

                C++没有对if语句嵌套层数的限制, 这也就是说你可以嵌套任意层if-else语句, 但从程序代码的可读性以及健壮性来说, if-else嵌套请不要嵌套超过5层
        
        4>. switch语句
            switch语句用于实现多分枝结构的程序, 举个简单的例子, 我们在程序上提供了10个序号用来表示菜单, 当用户按下1时就代表选择了功能1, 当按下0-9之外的序号时, 我们提示他选择错误, 没有这个选项后, 10个选项用if结构显然很费力, 这时用switch语句是个很好的选择。
            
            switch语句的一般形式:

            switch(表达式)            {                case 常量表达式1: 语句块1                case 常量表达式2: 语句块2                case 常量表达式3: 语句块3                ...                case 常量表达式n: 语句块n                default:语句n+1            }

            功能: 首先在switch处计算表达式的值, 然后依次与下面的case后面的常量表达式比较, 当表达式的值与常量表达式的值相等, 那么就从这个case处作为语句的入口, 将下面的case以及case后面的语句全部执行, 若表达式的值与常量表达式的值没有一个相同的则执行default后面的语句块。
            
            说明:
                ①. switch的表达式只能为int或char型数据, 当为char型数据时会将字符转化为相应的ASCII码值, 对于字符串、浮点型等不能作为switch的表达式;
                ②. 常量表表达式中不能出现变量, 只能是有确定值得常量;
                ③. case后面的语句块可以是一条或多条语句, 且无需用大括号{}括起来, 因为他会自动从符合结果的case处自动向下执行;
                ④. default语句是可选的, 并且对出现的位置没有要求, 可以在case之前, 也可以在case之间, 或者最后。
            
            case语句允许嵌套, 一般的嵌套形式为:

            switch(表达式1)            {                case 常量表达式1: switch(表达式2)                                  {                                    case 常量表达式2: 语句块                                    case 常量表达式3: 语句块                                    ...                                  }                case 常量表达式4:语句块                ...            }

            switch语句的嵌套同样没有层数限制。
            switch语句使用举例:

#include<iostream>using namespace std ;int main(){    int n ;    cin >> n ;    switch(n)    {        case 0:            cout<<"press 0." ;    break ;        case 1:            cout<<"press 1." ;    break ;        case 2:            cout<<"press 2." ;    break ;        case 3:            cout<<"press 3." ;    break ;        default:            cout<<"error!" ;    }    return 0 ;}

            break语句是用来停止switch继续执行下面的语句的, 当执行到break时下面的语句就不会再被执行而是跳出switch结构, 对于break;语句的详细用法到学习循环结构程序设计时再具体讲解。

            
        5>. gtot语句
            goto语句成为无条件跳转语句, 在同一个函数内, 它可以从一个位置跳到任意一个位置.
            goto语句的一般使用形式:

            goto 语句标识 ;            ...            ...            ...            语句标识 : 语句

                功能: 使用goto语句后它将会将下一条需要执行的代码转到语句标识所在的位置。
                
                说明: goto语句与相应的标识符必须在同一个函数中, 不允许跨函数使用。对于goto的使用一直以后就有很大的争议, 有人说, goto的使用会破坏程序的结构, 从而使程序代码变得难以理解且当出错时不容易查找错误, 这些人认为应该彻底取消goto语句, 还有一部分人认为goto使用灵活, 恰当使用可以提高程序的灵活性, 对于是否使用goto语句还请读者自己权衡, 如果能够恰当使用goto那就更好了, 不过笔者建议在不是必要使用goto时最好不要使用。

                
二、基本输入输出
在C++中常用的标准输入输出函数有cin(用于输入)和cout(用于输出), 这两个函数位于头文件iostreamstd命名空间中, 所以要使用这两个函数首先我们要

#include<iostream>

将这个头文件包含进来, 然后使用命名空间机制

using namespace std ;

这个就可以自由使用cin和cout进行输入输出了, 当然, 你也可以不使用using namespace std ;这句, 如果不使用这句在调用cin和cout函数前你需要像这样使用:

std::cin>>变量名 ;std::cout<<变量名 ;

注意: 不要将输入符号(>>)和输出(<<)弄混了, 输入是尖括号指向它, 输出尖括号的方向与其相反。

例如我们现在要输入一个整形变量并将其输出:

#include<iostream>using namespace std ;int main(){    int n ;         //定义一个变量名为n的整形变量    cin >> n ;      //输入数字n, 输入后按回车键    cout<<n ;       //输出n    return 0 ;}


输入一个字符并将其输出:

#include<iostream>using namespace std ;int main(){    char c ;            //定义一个变量名为n的字符型变量    cin >> c ;          //输入c    cout << c ;         //输出c    return 0 ;}


cin和cout一次还可以输入输出多个数据:
例如:

#include<iostream>using namespace std ;int main(){    int a, b, c ;           //定义三个整型变量    cout<<"Please input three number:" ;    //提示输入三个数    cin >> a>> b >> c ;     //输入a, b, c    cout <<"You input: " << a <<"," << b << "," << c;             //输出c, 逗号隔开    return 0 ;}


对于较为复杂的数据输入输出等使用到时再讲。

--------------------

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
2.1 控制结构(Control Structures)
【单片机C语言基础入门】第五章:语句的组成(分支、循环结构)
控制流
switch函数
选择结构
Switch-case
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服