练习5.18

Posted dark-king

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了练习5.18相关的知识,希望对你有一定的参考价值。

5.18:说面下列循环的含义并改正其中的错误。

(a)do

    int v1 , v2;

    cout<<" Please enter two numbers to sum: ";

    if(cin>>v1>>v2)

      cout<<" Sum is : "<<v1+v2<<endl;

    while(cin);

(b)do {

    //...

   } while(int ival = get_response())

(c)do {

     int ival = get_response();

   } while (ival);

Ans:a)该程序的含义是定义两个变量,然后输入两个变量的值求其和,最后判断输入流当中是否有值,若有则继续,否则退出循环。C++规定do while语句在do之后如果有多条语句,需要将其使用花括号括起来形成一条复合语句(块),否则编译器会报错。

修改之后:

  do {

    int v1 , v2;

    cout<<" Please enter two numbers to sum: ";

    if(cin>>v1>>v2)

      cout<<" Sum is : "<<v1+v2<<endl;

    } while(cin);

   b)该程序的含义是,执行循环体中的内容,然后判断变量ival的值是否为0,若不为0,跳出循环;但是C++语言规定不能在do while语句的条件部分定义变量。

修改之后:

    int ival;

    do {

      //...

     } while(ival = get_response())

    c)该程序的含义与(b)一样,只不过值的获取是在循环体中。但是该程序定义的变量ival在循环体中定义,其作用域只在循环体当中,不能拿来作为while的条件。

修改之后:

    int ival;

    do {

         ival = get_response();

     } while (ival);

以上是关于练习5.18的主要内容,如果未能解决你的问题,请参考以下文章

Python输入输出练习,运算练习,turtle初步练习

Python输入输出练习,运算练习,turtle初步练习

Python输入输出练习,运算练习,turtle初步练习

练习_使用Lambda表达式无参数无返回值的练习练习_使用Lambda表达式有参数有返回值的练习

Python输入输出练习,运算练习,turtle初步练习

征服指针——指针练习