8534: 初赛集训 课堂测试13-1 C++语言知识
Description
1. [J-2019-4]若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)
s = a;
for(b = 1; b <= c; b++) s = s - 1;
则与上述程序段功能等价的赋值语句是()
A. s = a - c;
B. s = a - b;
C. s = s - c;
D. s = b - c;
2. [J-2016-13][S-2016-10]
有以下程序:
#include <iostream>
using namespace std;
int main()
{
int k = 4, n = 0;
while (n < k)
{
n++;
if (n % 3 != 0)
continue;
k--;
}
cout << k << "," << n << endl;
return 0;
}
程序运行后输出的结果是( )。
A. 2,2
B. 2,3
C. 3,2
D. 3,3
3. [J-2014-13]要求以下程序的功能是计算:s=1+1/2+1/3+...+1/10。
#include <iostream>
using namespace std;
int main()
{
int n;
float s;
s = 1.0;
for(n = 10; n > 1; n--)
s = s + 1 / n;
cout << s << endl;
return 0;
}
程序运行后输出结果错误,导致错误结果的程序行是( )。
A. s = 1.0;
B. for(n = 10; n > 1; n--)
C. s = s + 1 / n;
D. cout << s << endl;
4. [S-2019-5]设变量 x 为 float 型且已赋值,则以下语句中能将 x 中的数值保留到小数点后两位,并将第三位四舍五入的是()
A. x= (x*100+0. 5)/100.0;
B. x=(int) (x*100+0. 5)/100.0;
C. x=(x/100+0. 5)*100.0;
D. x=x*100+0. 5/100. 0;
5. [J-2014-15]有以下程序:
#include <iostream>
using namespace std;
int main()
{
int s, a, n;
s= 0;
a= 1;
cin >> n;
do
{
s+= 1;
a-= 2;
}
while ( a != n );
cout << s << endl;
return(0);
}
若要使程序的输出值为2,则应该从键盘给n输入的值是( )。
A. -1
B. -3
C. -5
D. 0
6. [J-2013-19]下列程序中,正确计算1, 2, ⋯, 100 这 100 个自然数之和sum(初始值为0)的是( )。
A. i = 1 do{ sum +=i; i++; }while(i<=100);
B. i = 1; do{ sum +=i; i++; }while(i > 100);
C. i = 1; while(i < 100){ sum+=i; i++; }
D. i = 1; while(i >= 100){ sum+=i; i++; }
7. [S-2019-1]若有定义:int a=7; float x=2.5, y=4.7,则表达式 x+a%3*(int) (x+y)%2 的值是:()
A. 0.000000
B. 2.750000
C. 2.500000
D. 3.500000
8. [J-2013-18][S-2013-13]把 64 位非零浮点数强制转换成32 位浮点数后,不可能 ()。
A. 大于原数
B. 小于原数
C. 等于原数
D. 与原数符号相反
9. [S-2011-2]字符A 的 ASCII 码为十六进制 41,则字符 Z 的 ASCII 码为十六进制的( )。
A. 66
B. 5A
C. 50
D. 视具体的计算机而定
10. [S-2011-18]计算机中的数值信息分为整数和实数(浮点数)。实数之所以能够表示很大或者很小的数,是由于使用了( )。
A. 阶码
B. 补码
C. 反码
D. 较长的尾数