#GESP2409CL1K. GESPC++一级客观题

GESPC++一级客观题

一、选择题

1、据有关资料,山东大学于1972年研制成功DJL-1计算机,并于1973年投入运行,其综合性能居当时全国第三位。DJIL-1计算机运算控制部分所使用的磁心存储元件由磁心颗粒组成,设计存贮周期为2μs(微秒)。那么该磁心存储元件相当于现代计算机的()。

{{ select(1) }}

  • 内存
  • 磁盘
  • CPU
  • 显示器

2、C++程序执行出现错误,不太常见的调试手段是()。

{{ select(2) }}

  • 阅读源代码
  • 单步调试
  • 输出执行中间结果
  • 跟踪汇编码

3、在C++中,下列表达式错误的是()。

疑似错题

{{ select(3) }}

  • cout << "Hello,GESP!" << endl;
  • cout << 'Hello,GESP!' << endl;
  • cout << """Hello,GESP!""" << endl;
  • cout << "Hello,GESP!' << endl;

4、C++表达式10-3*2的值是()。

{{ select(4) }}

  • 14
  • 4
  • 1
  • 0

5、在C++中,假设N为正整数10,则 cout<<(N/3+N%3) 将输出()。

{{ select(5) }}

  • 6
  • 4.3
  • 4
  • 2

6、C++语句 printf("6%2={%d}",6%2)" 执行后的输出是()。

{{ select(6) }}

  • "6%2={6%2}"
  • 6%2={6%2}
  • 0=0
  • 6%2={0}

7、成功执行下面的C++代码,先后从键盘上输入5回车和2回车,输出是()。

cin >> a;
cin >> b;
cout << a + b;

{{ select(7) }}

  • 将输出整数7
  • 将输出52,5和2之间没有空格
  • 将输出5和2,5和2之间有空格
  • 执行结果不确定,因为代码段没有显示a和b的数据类型

8、下面C++代码执行后输出的是()。

int Sum = 0;
for (int i=0; i<10;i++)
    Sum += i;
cout << Sum;

{{ select(8) }}

  • 55
  • 45
  • 10
  • 9

9、下面C++代码执行后的输出是()。

int N = 0;
for (int i = 0; i < 10; i++)
    N += 1;
cout << N;

{{ select(9) }}

  • 55
  • 45
  • 10
  • 9

10、下面C++代码执行后的输出是()。

int N = 0;
for (int i = 1; i < 10; i +=2){
    if (i % 2 == 1)
        continue;
    N += 1;
}
cout << N;

{{ select(10) }}

  • 5
  • 4
  • 2
  • 0

11、下面C++代码执行时输入14+7后,正确的输出是()。

int P;
printf("请输入正整数P: ");
scanf("%d", &P);
if (P % 3 || P % 7)
    printf("第5行代码%d, %d", P % 3, P % 7);
else
    printf("第7行代码%2d", P % 3 && P % 7);

{{ select(11) }}

  • 第5行代码2,0
  • 第5行代码1,0
  • 第7行代码1
  • 第7行代码0

12、下面C++代码执行后的输出是()。

int count= 0, i, s;
for (i = 0, s = 0 ; i < 20; i++, count++)
    s += i++;
cout << s << " " << count;

{{ select(12) }}

  • 190 20
  • 95 10
  • 90 19
  • 90 10

13、下面C++代码拟用于计算整数N的位数,比如对123则输出123是3位整数,但代码中可能存在bug。下面有关描述正确的是()。

int N, N0 , rc=0;
cout << "请输入整数:";
cin >> N;

N0 = N;
while (N){
    rc++;
    N /= 10;
}
printf("%d是%d位整数\n", N, rc);  // L11

{{ select(13) }}

  • 变量N0占用额外空间,可以去掉
  • 代码对所有整数都能计算出正确位数
  • L11标记的代码行简单修改后可以对正整数给出正确输出
  • L11标记的代码行的输出格式有误

14、下面的C++代码用于求连续输入的若干正五位数的百位数之和。例如输入32488 25731 41232 0,则输出3个正五位数的百位数之和为13。有关描述错误的是()。

int M, Sum=0, rc=0;
cout << "请输入正整数:";
cin >> M;

while (M){
    M = (M / 100 % 10);  // L6
    Sum += M;
    rc++;
    cin >> M;
}

cout << rc << "个正五位数的百位数之和为" << Sum;

{{ select(14) }}

  • 执行代码时如果输入23221 23453 12345 11111 0,则最后一行Sum的值是10
  • 执行代码时如果输入2322 2345 1234 1111 0,程序也能运行
  • 将代码标记为L6那行改为M = (M % 1000 / 100);,同样能实现题目要求
  • 将代码标记为L6那行改为M = (M % 100 / 10);,同样能实现题目要求

15、如果一个正整数N能够表示为X*(X+1)的形式,这里称它是一个“兄弟数”。例如,输入6,则输出“6是一个兄弟数”。下面C++代码用来判断N是否为一个“兄弟数”,在横线处应填入的代码可从i)-iv)中选择,则有几个能完成功能?()。

int N;

cin >> N;
for(int i = 0; i <= N; i++)
    if(___________________)
        cout << N << "是一个兄弟数\n";

i) N==i*(i+1)  ii) N==i*(i-1)  iii) N/(i+1)==i  iv) N/(i-1)==i

{{ select(15) }}

  • 1
  • 2
  • 3
  • 4

二、判断题

16、小杨最近开始学习C++编程,老师说C++是一门面向对象的编程语言,也是一门高级语言。()

{{ select(16) }}

  • 正确
  • 错误

17、在C++中,表达式10/410%4的值相同,都是整数2,说明/%可以互相替换。()

{{ select(17) }}

  • 正确
  • 错误

18、N是C++程序中的整型变量,则语句scanf("%d",&N)能接收形如正整数、负整数和0输入,但如果输入含字母或带小数点数,将导致无法执行。()

{{ select(18) }}

  • 正确
  • 错误

19、下面C++代码能够执行,则将输出45。()

for (int i = 0; i < 10; i++)
    Sum += i;
cout << Sum;

{{ select(19) }}

  • 正确
  • 错误

20、在C++代码中整型变量X被赋值为20.24,则cout << (X++, X+1) / 10执行后输出的是2.124。()

{{ select(20) }}

  • 正确
  • 错误

21、下面C++代码执行后,最后一次输出是10。()

for (int i = 1; i < 10; i+=3)
    cout << i << endl;

{{ select(21) }}

  • 正确
  • 错误

22、在C++,break语句通常与if语句配合使用。

{{ select(22) }}

  • 正确
  • 错误

23、在C++代码中,不可以将变量命名为five-star,因为变量名中不可以出现-(减号)符号。

{{ select(23) }}

  • 正确
  • 错误

24、在C++语言中,整型、实数型、字符型、布尔型是不同数据类型,但这四种类型的变量间都可以比较大小。

{{ select(24) }}

  • 正确
  • 错误

25、C++中,定义变量int a=5,b=4,c=3,则表达式(a<b<c)的值为逻辑假。

{{ select(25) }}

  • 正确
  • 错误