#172. C++一级专项(客观题六)

C++一级专项(客观题六)

202403

  1. 下面C++代码第2行,总共被执行次数是( )。
for(int i=-10; i<10; i++)
     cout << i << " ";

{{ select(1) }}

  • 10
  • 19
  • 20
  • 21
  1. 下面C++代码执行后的输出是( )。
int tnt = 0;
for(int i=0; i<10; i++)
     if(i % 3 && i % 7)
          tnt +=i;
cout << tnt << endl;

{{ select(2) }}

  • 0
  • 7
  • 18
  • 20
  1. 下面C++代码执行后的输出是( )。
int N = 10;
while(N){
     N -= 1;
     if(N%3 == 0)
          cout << N << "#";
}

{{ select(3) }}

  • 9#6#3#
  • 9#6#3#0#
  • 8#7#5#4#2#1#
  • 10#8#7#5#4#2#1#
  1. 下面C++代码用于判断键盘输入的整数是否为质数。质数是只能被1和它本身整除的数。在横线处应填入代 码是( )。
int N; cin >> N;
int cnt = 0; // 记录N被整除的次数
for(int i=1; i<N+1; i++)
      if(________________)
           cnt +=1;
      if(cnt == 2)
           cout << N << "是质数";
      else
          cout << N << "不是质数";

{{ select(4) }}

  • N % i
  • N % i == 0
  • N / i == 0
  • N / i
  1. 在C++中,while可能是死循环,而for循环不可能是死循环。

{{ select(5) }}

  • ×
  1. 在C++,break语句用于提前终止当前层次循环,适用于while循环,但不适用于for循环。

{{ select(6) }}

  • ×
  1. 任何一个for循环都可以转化为等价的while循环​。

{{ select(7) }}

  • ×

202406

  1. 下面C++代码执行后输出是( )。

image

{{ select(8) }}

  • 9 45
  • 10 55
  • 10 45
  • 11 55
  1. 面的C++代码用于求1~N之间所有奇数之和,其中N为正整数,如果N为奇数,则求和时包括N。有关描述 错误的是( )。

image

{{ select(9) }}

  • 执行代码时如果输入10,则最后一行输出将是11 25
  • 执行代码时如果输入5,则最后一行输出将是6 9
  • 将i += 1 移到if (i % 2 == 1) 前一行,同样能实现题目要求
  • 删除if (i % 2 == 1) ,并将i += 1 改为i += 2 ,同样可以实现题目要求
  1. 如果一个整数N能够表示为X*X 的形式,那么它就是一个完全平方数,下面C++代码用于完成判断N是否为 一个完全平方数,在横线处应填入的代码是( )。

image

{{ select(10) }}

  • i == N*N
  • i * 10 == N
  • i + i == N
  • i * i == N
  1. 执行下面C++代码后输出的cnt的值是( )。

image

{{ select(11) }}

  • 8
  • 7
  • 4
  • 1
  1. 在C++中,break 语句用于终止当前层次的循环,循环可以是 for 循环,也可以是 while 循环。

{{ select(12) }}

  • ×
  1. 在C++,continue 语句通常与if 语句配合使用。

{{ select(13) }}

  • ×

202409

  1. 下面C++代码执行后输出是( )。

image

{{ select(14) }}

  • 55
  • 45
  • 10
  • 9
  1. 下面C++代码执行后输出的是( )。

image

{{ select(15) }}

  • 55
  • 45
  • 10
  • 9
  1. 下面C++代码执行后输出的是( )。

image

{{ select(16) }}

  • 5
  • 4
  • 2
  • 0
  1. 执行下面C++代码后得到的输出是( )。

image

{{ select(17) }}

  • 190 20
  • 95 10
  • 90 19
  • 90 10
  1. 下面C++代码拟用于计算整数N的位数,比如对123 则输出123是3位整数,但代码中可能存在bug。下面 有关描述正确的是( )。 image

{{ select(18) }}

  • 变量N0占用额外空间,可以去掉
  • 代码对所有整数都能计算出正确位数
  • L11标记的代码行简单修改后可以对正整数给出正确输出
  • L11标记的代码行的输出格式有误
  1. 下面的C++代码用于求连续输入的若干正五位数的百位数之和。例如输入32488 25731 41232 0 ,则输 出3个正五位数的百位数之和为13 。有关描述错误的是( )。

image

{{ select(19) }}

  • 执行代码时如果输入23221 23453 12345 11111 0 ,则最后一行Sum的值是10
  • 执行代码时如果输入2322 2345 1234 1111 0 ,程序也能运行
  • 将代码标记为L6 那行改为M = (M % 1000 / 100); ,同样能实现题目要求
  • 将代码标记为L6 那行改为M = (M % 100 / 10); ,同样能实现题目要求
  1. 如果一个正整数N能够表示为X(X+1)的形式,这里称它是一个“兄弟数”。例如,输入6,则输出“6是一个兄 弟数”。下面C++代码用来判断N是否为一个“兄弟数”,在横线处应填入的代码可从i)-iv)中选择,则有几个能完成功能?( )。

image

{{ select(20) }}

  • 1
  • 2
  • 3
  • 4
  1. 下面C++代码能够执行,则将输出45。 image

{{ select(21) }}

  • ×
  1. 下面C++代码执行后,最后一次输出是10。( ) image

{{ select(22) }}

  • ×
  1. 在C++,break 语句通常与if语句配合使用。( )

{{ select(23) }}

  • ×

202412

  1. 下面C++代码执行后输出是( )。 image

{{ select(24) }}

  • 54
  • 20
  • 19
  • 18
  1. 下面C++代码执行后输出的是( )。

image

{{ select(25) }}

  • 4950
  • 5050
  • 450
  • 100
  1. 下面C++代码执行后输出的是( )。

image

{{ select(26) }}

  • 10
  • 9
  • 6
  • 5
  1. 下面C++代码执行后的输出是( )。

image

{{ select(27) }}

  • 54
  • 45
  • 25
  • 10
  1. 下面C++代码用于判断输入的整数是否为位增数,即从首位到个位逐渐增大,是则输出1。如123是一个位增数。下面横线处应填入的是( )。

image

{{ select(28) }}

  • n2 = N%10
  • N /= 10
  • n2 = N/10, N %= 10
  • n2 = N%10, N /= 10
  1. 下面C++代码执行后将输出10。( )

image

{{ select(29) }}

  • ×
  1. 下面C++代码执行后将输出100。( )

image

{{ select(30) }}

  • ×
  1. 下面C++代码被执行时,将执行三次输出(即标记行L2将被执行一次)。( )

image

{{ select(31) }}

  • ×
  1. 在C++的循环体内部,如果 break 和 continue 语句连续在一起,那么作用抵消,可以顺利执行下一次循环。 {{ select(32) }}
  • ×

202503

  1. 下面的框架在L1和L2标记的两行处分别填写选项中的代码,哪组不能通过编译( )。
int main() {
	int i = 0;
	______________ // L1
	break;
	______________ // L2
	return 0;
}

{{ select(33) }}

  • do{
    }while(i!=0)
    
  • for (; i < 10; i++){
    }
    
  • if(i==0){
    }
    
  • switch(i){
    }
    
  1. 下面C++代码执行后,将输出能被2整除且除以7余数为2的数。下列选项不能实现的是( )。
for (int i = 0; i < 100; i++)
	if _______________________
		cout << i << " ";

{{ select(34) }}

  • ((i % 2 == 0) && (i % 7 == 2))
  • ((!(i % 2)) && (i % 7 == 2))
  • ((!(i % 2)) && (!(i % 7)))
  • ((i % 2 != 1) && (i % 7 == 2))
  1. 下面C++代码执行后输出是( )。
int tnt = 0;
for (int i = -1000; i < 1000; i++)
	tnt += i;
cout << tnt << endl;

{{ select(35) }}

  • -10000
  • 0
  • 999
  • 1000
  1. 下面C++代码执行后输出的是( )。
int i;
for (i = 1; i < 100; i += 5)
	continue;
cout << i << endl;

{{ select(36) }}

  • 101
  • 100
  • 99
  • 96
  1. 下面C++代码执行后输出的是( )。
int tnt = 0;
for (int i = 5; i < 100; i += 5) {
	if (i % 2 == 0)
		continue;
	tnt += 1;
	if (i % 3 == 0 && i % 7 == 0)
		break;
}
cout << tnt << endl;

{{ select(37) }}

  • 500
  • 450
  • 10
  • 1
  1. 删除下面C++代码中的continue不影响程序的执行效果。( )
for (int i = 0; i < 100; i++) {
	if (i % 2 == 0) {
		printf("偶数");
		continue;
	} else
		printf("奇数");
}

{{ select(38) }}

  • ×
  1. 下面C++代码被执行后,将先后输出3和5。
for (int i = 3; i < 5; i += 2)
	printf("%d ", i);

{{ select(39) }}

  • ×
  1. 下面的C++代码执行后将先后输出7个 true 。
for (int i = 0; i < 10; i++)
	cout << (i * 2 < i * i) << " ";

{{ select(40) }}

  • ×
  1. C++语言中 continue 语句可以来提前结束循环。( )
{{ select(41) }}
  • ×

202506

  1. 在某集成开发环境中调试下⾯代码段时尝试设置断点和检查局部变量,下⾯哪个说法是错误的( )。
int i,N = 0; // L1
cin >> N; // L2
for (i = 1; i < 9; i++)
	if (N % i == 0) break; // L3
if (i < 9)
	printf("N不能大于9\n"); // L4

{{ select(42) }}

  • 断点不可以设在L1标记的代码⾏
  • 执⾏暂停在L2标记的代码⾏时,可以检测i的值
  • 执⾏暂停在L3标记的代码⾏时,可以修改i的值
  • 执⾏有可能暂停在L4标记的代码⾏
  1. 下⾯C++代码执⾏后输出是( )。
int i;
for (i = 1; i < 11; i += 3) {
	continue;
	if (i % 2 == 0)
		break;
	printf("%d#", i);
}
if (i >= 11)
	printf("END");

{{ select(43) }}

  • END
  • 1#
  • 1#4#END
  • 1#4#7#10#END
  1. 下⾯的C++代码⽤于求N的所有因数(即能将N整除的数),如输⼊12则将输出 12,6,4,3,2,1 。( )。
int i, N;
cin >> N;
i = N;
while (_______) {
	if (N % i == 0)
		printf("%d,", i);
	i -= 1;
}
printf("1");

{{ select(44) }}

  • i -= 1
  • i == 1
  • i > 1
  • i >= 1
  1. 下⾯C++代码执⾏后输出的是( )。
int Sum = 0;
for (int i = 0; i < 10; i++) {
	if (i % 2 == 0)
		continue;
	if (i % 5 == 0)
		break;
	Sum += i;
}
cout << Sum;

{{ select(45) }}

  • 55
  • 15
  • 9
  • 4
  1. 以下C++代码可以找出百位、⼗位和个位满⾜特定条件的三位数,横线处应该填⼊的是( )。
int count = 0;
for (int i = 100; i <= 999; i++) {
	int a = i / 100;
	_________________________
	int c = i % 10;
	if (a * a + b * b == c * c) {
		count++;
	}
}

{{ select(46) }}

  • int b = (i / 10) / 10;
  • int b = (i / 10) % 10;
  • int b = (i % 10) / 10;
  • int b = (i % 10) % 10;
  1. 在下⾯C++代码中,删除break语句对程序执⾏结果没有影响。( )
int i;
for (i = 0; i < 10; i++) {
	continue;
	cout << i << "#";
	break;
}
if (i >= 10)
	cout << "END";

{{ select(47) }}

  • ×
  1. 删除下⾯C++代码中的continue后其输出是0#2#4#6#8#。( )
int i;
for (i = 0; i < 10; i++) {
	if (i % 2 == 0) {
		cout << i << "#";
		continue;
	}
}
if (i >= 10)
	cout << "END";

{{ select(48) }}

  • ×
  1. 交换下⾯C++代码中的 i += 2 和 cnt += 1 ,交换前后分别运⾏的两次输出相同。
int i, cnt = 0;
cnt = 0;
while (i < 10) {
	i += 2;
	cnt += 1;
}
cout << cnt;

{{ select(49) }}

  • ×
  1. 下⾯的C++代码执⾏后将输出45 。
int cnt;
for (int i = 0; i < 10; i++)
	cnt += 1;
cout << cnt;

{{ select(50) }}

  • ×