📜  C++ 程序的输出 |设置 46(If-else 语句)

📅  最后修改于: 2022-05-13 01:56:11.197000             🧑  作者: Mango

C++ 程序的输出 |设置 46(If-else 语句)

先决条件: C++中的决策

问题 1. 以下程序的输出是什么?

#include 
#include 
int main()
{
    if (!(std::cout << "hello"))
        std::cout << "world";
    else
        std::cout << " else part";
  
    return 0;
}
Output: hello else part

说明:由于 if-else 的工作原理是,如果 if 语句中提供的条件为真,则执行 if 块,否则将执行 else 块。由于std::cout<<"hello"返回对std::cout的引用,因此,如果条件变为真并且执行块。

问题 2. 以下程序的输出是什么?

#include 
using namespace std;
int main()
{
    int a = 014;
    std::cout << a << std::endl;
    ;
    return 0;
}
Output: 12

说明:输出原因:整数开头的0使其成为八进制。因此,打印的是 12 而不是 14。



问题 3. 以下程序的输出是什么?

#include 
#include 
int main()
{
    if (int q = 0)
        std::cout << "if part";
    else
        std::cout << "else part";
    return 0;
}
Output: else part

说明:由于 if-else 的工作原理是,如果 if 语句中提供的条件为真,则执行 if 块,否则将执行 else 块。
由于int q = 0导致将变量 q 初始化为 0,因此,条件变为假,因此执行 else 块。

问题 4. 以下程序的输出是什么?

#include 
using namespace std;
int main()
{
    int a = 0xC;
    std::cout << a << std::endl;
    ;
    return 0;
}
Output: 12

说明:整数开头的0x0X使其成为十六进制。因此,12 是 C 的十六进制等价物。

问题 5. 以下程序的输出是什么?

#include 
#include 
  
int main()
{
    if (float q = 10.0)
        std::cout << "if part";
    else
        std::cout << "else part";
    return 0;
}

输出:如果部分
说明:由于 if-else 的工作原理是,如果 if 语句中提供的条件为真,则执行 if 块,否则将执行 else 块。
由于float q = 10.0导致将变量 q 初始化为 10.0,因此,条件变为真,因此 if 块被执行。

问题 6. 以下程序的输出是什么?

#include 
#include 
  
int main()
{
    int a, b;
    if ((a = 5) || (b = 0))
        std::cout << "if part";
    else
        std::cout << "else part";
    return 0;
}
Output: if part

说明:由于 if-else 的工作原理是,如果 if 语句中提供的条件为真,则执行 if 块,否则将执行 else 块。
由于((a = 5) || (b = 0))评估为真(因为 5 OR 0 是 5 即真),因此,执行 if 块。

问题 7. 以下程序的输出是什么?

#include 
#include 
int main()
{
    int n = -1;
    if (n + 1)
        std::cout << "if part";
    else
        std::cout << " else part";
  
    return 0;
}
Output: else part

解释: -1 + 1 = 0 = 假

问题 8. 以下程序的输出是什么?

#include 
using namespace std;
int main()
{
    int i;
  
    for (std::cout << "hello" << std::endl; i < 5; i++) {
        std::cout << "hi" << std::endl;
    }
    return 0;
}
Output: hello
hi
hi
hi
hi
hi

说明:由于 if-else 的工作原理是,如果 if 语句中提供的条件为真,则执行 if 块,否则将执行 else 块。
由于(n+1) 的计算结果为假(因为 0 为假),因此执行 else 块。