《C++语言入门经典》一第3章 重要的逻辑工具——判断与循环 3.1 条件判断...

    xiaoxiao2021-04-18  262

    第3章 重要的逻辑工具——判断与循环

    视频讲解:90分钟

    一个大的问题需要分成若干个小的问题才能够得到解决。C++语言提供了分支语句与循环语句。当需要一个条件影响到问题的结论时,我们需要判断语句;当需要执行若干个相同的指令时,我们需要循环语句。

    通过学习本章,读者可以达到以下学习目的:掌握3种形式的判断语句了解条件运算符与判断语句的转换掌握switch分支语句掌握判断语句的嵌套了解3种循环语句掌握各种循环的区别了解循环的跳转掌握循环的嵌套

    3.1 条件判断

    计算机的主要功能是提供计算功能,但在计算的过程中会遇到各种各样的情况,针对不同的情况会有不同的处理方法,这就要求程序开发语言要有处理决策的能力。低级语言使用判断指令和跳转指令实现决策,高级语言使用选择判断语句实现决策。为描述决策系统的流通性, 设计人员研发出了流程图。流程图使用图形方式描述系统在不同状态下的不同处理方法。开发人员使用流程图表现程序的结构。

    主要的流程图符号如图3.1所示。使用流程图描述十字路口转向的决策时,利用方位做决定,判断是否是南方,如果是南方,就向前行;如果不是南方,就寻找南方,如图3.2所示。

    程序中使用选择判断语句来做决策,选择判断是编程语言的基础,在C++语言中有3种形式的选择判断语句,同时提供了switch 语句,简化了多分支决策的处理。下面对选择判断语句进行介绍。

    3.1.1 if语句

    if关键字是实现C++组成判断语句的常用方法,形式如下:if(表达式)语句其中,表达式一般为关系表达式,表达式的运算结果应该是真或假(true或false)。如果表达式为真,就执行语句;如果表达式的值为假,就跳过,执行下一条语句。过程如图3.3所示。【例3.1】 判断输入的数值是否为奇数。实例位置:光盘MR源码第3章3.1

    #include "stdafx.h" #include <iostream> using namespace std; void main() { int iInput; cout << "Input a value:" << endl; cin >> iInput; // 输入一整型数 if(iInput%2!=0) cout << "The value is odd number" << endl; }

    程序执行过程的流程图如图3.4所示。程序分两步执行。(1)定义一个整型变量iInput,然后使用cin获得用户输入的整型数据。(2)对变量iInput的值与2进行%运算,如果运算结果不为0,表示用户输入的是奇数,这时输出字符串“这个整数是奇数”;如果运算结果为0,则不进行任何输出,程序执行完毕。说明整数与2进行%运算,结果只有0或1两种情况。要注意第一种形式的判断语句的书写格式。如判断语句

    if(a>b) max=a;

    可以写成

    if( a>b ) max=a;

    但不建议使用“if(a>b)max=a;”这种书写方式,因为这种方式不便于阅读。判断中的语句可以是复合语句,也就是说,可以用花括号括起多条简单语句。例如:

    if(a>b) { tmp=a; b=a; a=tmp; }

    3.1.2 if-else语句

    在if关键字后使用else关键字表示的是:当程序进入到if-else 语句中,会根据if 语句的判断内容进行操作,若为真(true)则执行if语句中的内容;若为假(false),则执行else语句的内容。其执行过程如图3.5所示。【例3.2】 根据分数判断是否优秀。实例位置:光盘MR源码第3章3.2

    #include "stdafx.h" #include <iostream> using namespace std; void main() { int iInput; cout<<"大于90为优秀成绩"<<endl; cout<<"请输入学生成绩"<<endl; cin >> iInput; if(iInput>90) cout << "成绩优秀" << endl; else cout << "成绩非优秀" << endl; }

    用流程图来描述判断语句的执行过程,如图3.6所示。该程序需要和用户交互,用户输入一个数值,将该数值赋值给iInput变量,然后判断用户输入的数据是否大于90,如果大于90,输出字符串“成绩优秀”,否则输出字符串“成绩非优秀”。可以看到,程序到此必然经过if或者else 当中的一项。当else语句内容为空时,if-else与if语句实现的功能是一样的。【例3.3】 if-else语句的奇偶性判别。实例位置:光盘MR源码第3章3.3

    #include <iostream> using namespace std; void main() ...... .... if......else......


    最新回复(0)