1.【单选题】
int a = _getch();
当用户输入1,a的值为:
A.65 B.49 C.1
解析:_getch()
函数用于从控制台读取一个字符,它返回的是读取的字符的ASCII码值。字符 '1' 的ASCII码值是 49,所以答案选A。
2.【单选题】
int a;
std::cin>>a;
switch(a)
{
case 1:
a++;
case 9:
a++;
break;
}
当用户输入1时 a=?
A. 3 B. 2 C. 1
解析:在case 1:
的代码块中,a++
被执行,此时a
的值增加到2。值得注意的是,case 1:
后面没有break;
语句,所以程序会继续执行下一个case
(如果它的值与当前switch
表达式的值不匹配,则通常不会执行,但在这里由于case 1:
没有break
,所以会继续执行)。所以a = 3 选A。
3.【多选题】
int a;
std::cin >> a;
switch(a)
{
case 1:
a++;
break;
case 9:
a++;
break;
}
以下说法正确的是:
A. 以上代码用if写更合适
B. 当用户输入1时a=2
C. 当用户输入9时a=3
解析:选项A:正确。switch常用于判断多的情况。选项B:正确,a++ 后 a = 2,然后break退出循环。
4.【单选题】
int a=210;
switch (a / 105)
{
case 2:
printf(“1”);
case 3:
printf(“2”);
default:
break;
}
屏幕输出内容是;
A 12 B 1 C 2
解析:a / 1023 得到 a = 2。所以打印1,又因为没有break,所以继续执执行打印2,选择A。
5.【单选题】
int a{500},b{};
if(int a{},b>0)
{
a+=b++;
}
else
{
a+=b+140;
}
print(“%d”,a);
屏幕显示的内容是:
A 500 B 501 C 640
解析:if()里面的是c++17 的新语法,a只在打括号内有效,所以a的值还是500,选A。