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
说明:整数开头的0x或0X使其成为十六进制。因此,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 块。