下面的 C++ 代码段执行时将报错,因为10是整数类型, a 是布尔类型。由于类型不同,不能进行加法运算。
bool a = true;
cout << (10 + a);
2分
登录后查看选项
19
下面C++代码段执行后将输出 0-3-6-9- 。
for (int i = 0; i < 10; i++) {
if (i % 3)
continue;
cout << i << "-";
}
2分
登录后查看选项
20
执行下面的 C++ 代码段,如果N是基本数据类型,则语句 cout << (N); 将被执行 0 次或无数次(即死循环)。
cin >> N;
while (N)
cout << (N);
2分
登录后查看选项
21
下面的 C++ 代码段可正常执行,删除 continue 不影响执行效果。
for (i = 0; i < 10; i++){
i += 1;
continue;
}
cout << (i);
2分
登录后查看选项
22
下面的 C++ 代码段用于计算1到N之间且包含N的所有数字中含有的3的个数,如1到40含有14个3, 而1到20则只含有2个3。如果将 while (i != 0) 改为 while (abs(i)) ,则执行结果相同。
cout << "请输入正整数N:";
cin >> N;
cnt = 0; // 保存3的个数
for (k = 1; k < N + 1; k++) {
i = k;
while (i != 0) {
if (i % 10 == 3)
cnt += 1;
i /= 10;
}
}
cout << cnt;
2分
登录后查看选项
23
下面的 C++ 代码段执行将不会有输出,因为内层循环 j 总是 0 开始, i * j % 10 == 0 将会被满足,执行 break ,故而 i 小于 10 ,不会满足 if 判断条件。
for (i = 1; i < 10; i++)
for (j = 0; j < i; j++)
if (i * j % 10 == 0)
break;
if(i >= 10)
cout << (i*j);
2分
登录后查看选项
24
下列 C++ 代码执行后将输出 1#4#9#16#16 。
cnt = 0;
for (i = 1; i < 5; i++) {
for (j = 1; j < i + 1; j++)
if (i * j % 10 == 0)
break;
if (j >= i + 1)
cout << (i * j) << "#";
}
if(i >= 5)
cout << (i * j);