找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

2359

积分

0

好友

317

主题
发表于 2025-12-10 02:22:51 | 查看: 42| 回复: 0

本文将提供一系列针对GESP C++一级认证中"控制语句结构"考点的专项练习题。这些题目基于历年真题整理,旨在帮助考生通过实战练习巩固基础,查漏补缺。


一、for循环基础

1. 在下列代码的横线处填写____,可以使得输出是"1248"。

#include <iostream>
using namespace std;
int main(){
    for(int i=1;i<=8;____) // 在此处填入代码
        cout<<i;
    return 0;
}

2. 执行以下 C++语言程序后,输出结果是____。

#include <iostream>
using namespace std;
int main(){
    int sum=0;
    for(int i=1;i<=20;i++)
        if(i%3==0||i%5==0)
            sum+=i;
    cout<<sum<<endl;
    return 0;
}

3. for 语句的循环体至少会执行一次。____(√/×)

4. 在下列代码的横线处填写____,可以使得输出是"147"。

#include <iostream>
using namespace std;
int main(){
    for(int i=1;i<=8;i++)
        if(____)// 在此处填入代码
            cout<<i;
    return 0;
}

5. 执行以下 C++语言程序后,输出结果是____。

#include <iostream>
using namespace std;
int main(){
    int sum;
    for(int i=1;i<=20;i++)
        if(i%3==0||i%5==0)
            sum+=i;
    cout<<sum<<endl;
    return 0;
}

二、if语句与条件判断

6. if 语句可以没有 else 子句。____(√/×)

7. do ... while 语句的循环体至少会执行一次。____(√/×)

8. 如果 a 和 b 为 int 类型的变量,则表达式 a = b 可以判断a 和b 是否相等。____(√/×)

9. 如果 a 为 int 类型的变量,则表达式(a % 4 == 2)可以判断a 的值是否为偶数。____(√/×)

10. 在C++语言中, int 类型的变量 x 、 y 、 z 的值分别为 2 、 4 、 6 ,以下表达式的值为真的是( )。

  • A. x > y || x > z
  • B. x != z - y
  • C. z > y + x
  • D. x < y || !x < z

11. 下面C++代码执行后的输出是____。

int m=14;
int n=12;
if(m%2==0&&n%2==0)
    cout<<"都是偶数";
else if(m%2==1&&n%2==1)
    cout<<"都是奇数";
else
    cout<<"不都是偶数或奇数";

12. 下面C++代码执行后的输出是____。

int m=14;
int n=12;
if(m%2&&n%2)
    cout<<"都是偶数";
else if(m%2==1&&n%2==1)
    cout<<"都是奇数";
else
    cout<<"不都是偶数或奇数";

13. 下面C++代码执行后的输出是____。

int m=7;
if(m/5||m/3)
    cout<<0;
else if(m/3)
    cout<<1;
else if(m/5)
    cout<<2;
else
    cout<<3;

三、循环计数与累加

14. 下面C++代码执行后的输出是____。

int cnt=0;
for(int i=1;i<=5;i++)
    cnt=cnt+1;
cout<<cnt;

15. 下面C++代码执行后的输出是____。

int cnt=0;
for(int i=1;i<5;i+=2)
    cnt=cnt+i;
cout<<cnt;

16. 下面C++代码执行后的输出是____。

int n=5;
int cnt=1;
while(n>=0){
    cnt+=1;
    n-=2;
}
cout<<cnt;

四、因数与数字处理

17. 下面C++代码用于求正整数的所有因数,即输出所有能整除一个正整数的数。如,输入10,则输出为1、2、5、10;输入12,则输出为1、2、3、4、6、12;输入17,则输出为1、17。在横线处应填入代码是____。

int n=0;
cout<<"请输入一个正整数:";
cin>>n;
for(____) // 此处填写代码
    if(n%i==0)
        cout<<i<<endl;
  • A. int i = 1; i < n; i + 1
  • B. int i = 1; i < n + 1; i + 1
  • C. int i = 1; i < n; i++
  • D. int i = 1; i < n + 1; i++

18. 在下列代码的横线处填写( ),可以使得输出是正整数 1234 各位数字的平方和。

int n=1234,s=0;
for(;n;n/=10)
    s+=____; // 此处填写代码
cout<<s<<endl;
  • A. n / 10
  • B. (n / 10) * (n / 10)
  • C. n % 10
  • D. (n % 10) * (n % 10)

19. 执行以下C++语言程序后,输出结果是____。

int n=5,s=1;
for(;n=0;n--)
    s*=n;
cout<<s<<endl;

五、循环语句特性

20. C++的循环语句 for (int i = 0; i < 10; i += 2) 表示 i 从 0 开始到 10 结束但不包含 10 ,间隔为2 。____(√/×)

21. 在C++语言中, do-while 循环不可能导致死循环,但 while 有可能。____(√/×)

22. 在下面的C++代码中,由于循环中的 continue 是无条件被执行,因此将导致死循环。____(√/×)

for(int i=1;i<10;i++)  continue;

23. 下面对C++代码执行后输出的描述,正确的是( )。

cin>>N;
cnt=0;
for(int i=1;i<N;i++)
    cnt+=1;
cout<<cnt;
  • A. 如果输⼊的N是⼩于等于2整数,第5⾏将输出0。
  • B. 如果输⼊的N是⼤于等于2整数,第5⾏将输出N-1。
  • C. 如果输⼊的N是⼤于等于2整数,第5⾏将输出N。
  • D. 以上说法均不正确。

六、continue与break语句

24. 下面C++代码执行后的输出是____。

cnt=0;
for(int i=1;i<20;i++)
    cnt+=1;
    i+=2;
cout<<cnt;

25. 下面C++代码执行后的输出是____。

cnt=0;
for(int i=1;i<20;i++){
    if(i%2)
        continue;
    else if(i%3==0 && i%5==0)
        break;
    cnt+=i;
}
cout<<cnt;

26. 下面C++代码执行后的输出是____。

N=10;
cnt=0;
while(1){
    if(N==0) break;
    cnt+=1;
    N-=2;
}
cout<<cnt;

七、变量作用域

27. 对下面的代码,描述正确的是( )。

#include <stdlib.h>
using namespace std;
int main(){
    int arr[]={2,6,3,5,4,8,1,0,9,10};
    for(int i=0;i<10;i++)
        cout<<arr[i]<<" ";
    cout<<i<<endl;
    cout<<endl;
    return 0;
}
  • A. 输出 2 6 3 5 4 8 1 0 9 10 10
  • B. 输出 2 6 3 5 4 8 1 0 9 9
  • C. 输出 2 6 3 5 4 8 1 0 9 10
  • D. 提示有编译错误

28. 下面C++代码执行后的输出是____。

cnt=0;
for(i=10;i>3;i-=3)
    cnt=cnt+i;
cout<<cnt;

八、switch语句

29. 下图所示C++代码对大写字母 'A' 到 'Z' 分组,对每个字母输出所属的组号,那么输入 'C' 时将输出的组号是?____。

char c;
while(1){
    cin>>c;
    if(c=='q') break;
    switch(c){
        case 'A': cout<<"1 "; break;
        case 'B': cout<<"3 ";
        case 'C': cout<<"3 ";
        case 'D': cout<<"5 "; break;
        case 'E': cout<<"5 "; break;
        default: cout<<"9 ";
    }
    cout<<endl;
}

九、循环语句综合判断

30. for(int i = 1; i < 10; i += 3;) ; 表示i从1开始到10结束间隔为3,相当于1、4、7、10。____(√/×)

31. if 语句中的条件表达式的结果可以为 int 类型。____(√/×)

32. 在下面的C++代码 while(1) continue; 中,由于循环中的 continue 是无条件被执行,因此将导致死循环。____(√/×)

33. 任何一个 while 循环都可以转化为等价的 for 循环。____(√/×)

34. 下面C++代码执行时输入21后,有关描述正确的是( )。

int N;
cin >> N;
if(N% 3 == 0)
    cout << "能被3整除";
else if (N % 7 == 0)
    cout << "能被7整除";
else
    cout << "不能被3和7整除";
cout << endl;
  • A. 代码第4行被执行
  • B. 第4和第7行代码都被执行
  • C. 仅有代码第7行被执行
  • D. 第8行代码将被执行,因为input()输入为字符串

35. 下面C++代码第2行,总共被执行次数是____。

for(int i=-10; i<10; i++)
    cout << i << " ";

36. 下面C++代码执行后的输出是____。

int tnt = 0;
for(int i=0; i<10; i++)
    if(i%3 && i%7)
        tnt +=i;
cout << tnt << endl;

37. 下面C++代码执行后的输出是____。

int N = 10;
while(N){
    N -= 1;
    if(N%3 == 0)
        cout << N << "#";
}

十、质数判断

38. 下面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 << "不是质数";
  • A. N % i
  • B. N % i == 0
  • C. N / i == 0
  • D. N / i

39. 在C++中,while可能是死循环,而for循环不可能是死循环。____(√/×)

40. 在C++,break语句用于提前终止当前层次循环,适用于while循环,但不适用于for循环。____(√/×)

41. 任何一个for循环都可以转化为等价的while循环。____(√/×)


十一、条件表达式与输出

42. 下面C++代码执行时输入10后,正确的输出是____。

int N;
cout << "请输入正整数:";
cin >> N;
if (N % 3)
    printf("第5行代码%2d", N % 3);
else
    printf("第6行代码%2d", N % 3);

43. 下面C++代码执行后输出是____。

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

44. 下面C++代码用于判断N是否为质数(只能被1和它本身整除的正整数)。程序执行后,下面有关描述正确的是( )。

int N;
cout << "请输入整数:";
cin >> N;
bool Flag = false;
if (N >= 2){
    Flag = true;
    for (int i=2; i < N; i++)
        if (N % i == 0){
            Flag = false;
            break;
        }
}
if(Flag)
    cout << "是质数";
else
    cout << "不是质数";
  • A. 如果输入负整数,可能输出"是质数"
  • B. 如果输入2,将输出"不是质数",因为此时循环不起作用
  • C. 如果输入2,将输出"是质数",即便此时循环体没有被执行
  • D. 如果将 if (N >= 2) 改为 if (N > 2) 将能正确判断N是否质数

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

int N;
cout << "请输入正整数:";
cin >> N;
int i = 1, Sum = 0;
while (i <= N){
    if (i % 2 == 1)
        Sum += i;
    i += 1;
}
cout << i << " " << Sum;
  • A. 执行代码时如果输入10,则最后一行输出将是 11 25
  • B. 执行代码时如果输入5,则最后一行输出将是 6 9
  • C. 将 i += 1 移到 if (i % 2 == 1) 前一行,同样能实现题目要求
  • D. 删除 if (i % 2 == 1) ,并将 i += 1 改为 i += 2 ,同样可以实现题目要求

十二、完全平方数与循环条件

46. 如果一个整数N能够表示为 X*X 的形式,那么它就是一个完全平方数,下面C++代码用于完成判断N是否为一个完全平方数,在横线处应填入的代码是( )。

int N;
cin >> N;
for(int i = 0; i <= N; i++)
    if(___________________)
        cout << N << "是一个完全平方数\n";
  • A. i == N*N
  • B. i*10 == N
  • C. i+i == N
  • D. i*i == N

47. 执行下面C++代码后输出的cnt的值是____。

int cnt=0;
for(int i = 0; i*i < 64; i+=2)
    cnt++;
cout << cnt;

48. 在C++中, break 语句用于终止当前层次的循环,循环可以是 for 循环,也可以是 while 循环。____(√/×)

49. 在C++, continue 语句通常与 if 语句配合使用。____(√/×)


十三、循环累加与计数

50. 下面C++代码执行后输出是____。

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

51. 下面C++代码执行后输出是____。

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

52. 下面C++代码执行后输出是____。

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

53. 下面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);

54. 执行下面C++代码后得到的输出是____。

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

十四、位数计算与数字处理

55. 下面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
  • A. 变量N0占用额外空间,可以去掉
  • B. 代码对所有整数都能计算出正确位数
  • C. L11标记的代码行简单修改后可以对正整数给出正确输出
  • D. L11标记的代码行的输出格式有误

56. 下面的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;
  • A. 执行代码时如果输入 23221 23453 12345 11111 0 ,则最后一行Sum的值是 10
  • B. 执行代码时如果输入 2322 2345 1234 1111 0 ,程序也能运行
  • C. 将代码标记为 L6 那行改为 M = (M % 1000 / 100); ,同样能实现题目要求
  • D. 将代码标记为 L6 那行改为 M = (M % 100 / 10); ,同样能实现题目要求

57. 如果一个正整数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


十五、循环语句特性判断

58. 下面C++代码能够执行,则将输出45。____(√/×)

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

59. 下面C++代码执行后,最后一次输出是10。____(√/×)

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

60. 在C++, break 语句通常与if语句配合使用。____(√/×)

61. 下⾯C++代码执⾏后输出是____。

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

62. 下⾯C++代码执⾏后输出是____。

int tnt = 0;
for (i = 0; i < 100; i++)
    tnt += i % 10;
cout << tnt;

63. 下⾯C++代码执⾏后输出是____。

int N=0,i;
int tnt = 0;
for (i = 5; i < 100; i+=5){
    if (i % 2 == 0)
        continue;
    tnt += 1;
    if (i >= 50)
        break;
}
cout << tnt;

十六、条件判断综合

64. 下⾯的程序⽤于判断输⼊的整数N是否为能被3整除的偶数 ,横线处应填写代码是()。

int N;
cin >> N;
if( )
    cout << "能被3整除的偶数" << endl;
else
    cout << "其他情形" << endl;
cout << endl;
  • A. (N%2)&&(N%3)
  • B. (N%2==0)&&(N%3)
  • C. (N%2)&&(N%3==0)
  • D. (N%2==0)&&(N%3==0)

65. 下⾯C++代码执⾏后输出是____。

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

66. 下⾯C++代码⽤于判断输⼊的整数是否为位增数,即从⾸位到个位逐渐增⼤ ,是则输出1。如123是⼀个位增数 。下⾯横线处应填⼊的是( )。

int N;
int n1,n2;
cin >> N;
____;
while(N){
    n1 = N % 10;
    if(n1 >= n2){
        cout << 0;
        return 1;
    }
    n2 = n1, N /=10;
}
cout << 1;
cout << endl;
return 0;
  • A. n2 = N%10
  • B. N /= 10
  • C. n2 = N/10, N %= 10
  • D. n2 = N%10, N /= 10

十七、continue与break综合应用

67. 下⾯C++代码执⾏后将输出10。____(√/×)

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

68. 下⾯C++代码执⾏后将输出100 。____(√/×)

int i;
for (i = 0; i <= 100; i++)
    continue;
cout << i;

69. 下⾯C++代码被执⾏时 ,将执⾏三次输出(即标记⾏L2将被执⾏⼀次) 。____(√/×)

for (int i = 0; i < 10; i+=3)
    cout << i; //L2

70. 在C++的循环体内部 ,如果 break 和 continue 语句连续在⼀起 ,那么作⽤抵消,可以顺利执⾏下⼀次循环。____(√/×)


十八、条件表达式与逻辑运算

71. 下面C++代码执行后,将输出能被2整除且除以7余数为2的数。下列选项不能实现的是____。

for (int i = 0; i < 100; i++)
    if _______________________
        cout << i << " ";
  • A. ((i % 2 == 0) && (i % 7 == 2))
  • B. ((!(i % 2)) && (i % 7 == 2))
  • C. ((!(i % 2)) && (!(i % 7)))
  • D. ((i % 2 != 1) && (i % 7 == 2))

72. 下面C++代码执行后输出是____。

int tnt = 0;
for (int i = -1000; i < 1000; i++)
    tnt += i;
cout << tnt << endl;

73. 下面C++代码执行后输出的是____。

int i;
for (i = 1; i < 100; i += 5)
    continue;
cout << i << endl;

74. 下面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;

75. 删除下面C++代码中的continue不影响程序的执行效果。____(√/×)

for (int i = 0; i < 100; i++){
    if (i % 2 == 0){
        printf("偶数");
        continue;
    }
    else
        printf("奇数");
}

76. 下面C++代码被执行后,将先后输出3和5。____(√/×)

for (int i = 3; i < 5; i += 2)
    printf("%d ", i);

77. 下面的C++代码执行后将先后输出7个 true 。____(√/×)

for (int i = 0; i < 10; i++)
    cout << (i * 2 < i * i) << " ";

78. C++语言中 continue 语句可以来提前结束循环。____(√/×)


十九、循环控制综合练习

79. 下面C++代码执行后输出是____。

int i;
for (i = 1; i < 11; i += 3){
    continue;
    if (i % 2 == 0)
        break;
    printf("%d#", i);
}
if (i >= 11)
    printf("END");

80. 下面的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");
  • A. i -= 1
  • B. i == 1
  • C. i > 1
  • D. i >= 1

81. 下面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;

82. 在下面C++代码中,删除break语句对程序执行结果没有影响。____(√/×)

int i;
for (i = 0; i < 10; i++){
    continue;
    cout << i << "#";
    break;
}
if (i >= 10)
    cout << "END";

83. 删除下面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";

84. 将下面C++代码中的 i < 100; i = i + 1 修改为 i < 200; i += i + 1 ,其输出与当前代码输出相同。____(√/×)

int cnt = 0;
for (int i = 0; i < 100; i = i + 1)
    cnt += 1;
cout << cnt;

85. 交换下面C++代码中的 i += 2 和 cnt += 1 ,交换前后分别运行的两次输出相同。____(√/×)

int i, cnt = 0;
cnt = 0;
while (i < 10){
    i += 2;
    cnt += 1;
}
cout << cnt;

86. 下面的C++代码执行后将输出45。____(√/×)

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

二十、综合应用题

87. 小杨这学期刚开学就选修了一门编程课,然后就想编写程序来计算1到10001之间的所有偶数的和。他希望程序采用简单累加整数的方法,同时希望源程序尽可能清晰、简洁,则下面关于实现累加时采用的主要控制结构的哪个说法最不合适( )。

  • A. 使用循环结构
  • B. 使用循环和分支的组合
  • C. 仅使用顺序结构
  • D. 不使用分支结构

88. 当前是9月,编写C++代码求N个月后的月份。横线处应填入的代码是( )。

int N, M;
cin >> N;
M = _____________;
if (M == 0)
    printf("%d个月后12月", N);
else
    printf("%d个月后是%d月", N, M);
  • A. N % 12
  • B. 9 + N % 12
  • C. (9 + N) / 12
  • D. (9 + N) % 12

89. 下面C++代码执行后的输出是____。

int n = 0;
for (int i =0; i < 100; i++)
    n += i % 2;
cout << n;

90. 下面的C++代码执行后输出是____。

int N = 0, i;
for (i = -100; i < 100; i++)
    N += i % 10;
cout << N;

91. 下面的C++代码执行后输出是____。

int i;
for(i = 1; i < 5; i++){
    if(i % 3 == 0)
        break;
    printf("%d#",i);
}
if(i > 5) printf("END\n");

二十一、数字处理高级题

92. 下面的C++代码用于求N的镜面数(N的个位到最高位的各位数字依次反过来出现在数字中,但高位0将被忽略,不输出),如输入1234,则将输出 4321 ,又如输入120,则将输出 21 ,错误的选项是( )。

cout << "请输入个位数不为0的正整数:";
cin >> N;
rst = 0; // 保存逆序结果
while (______________){
    rst = rst * 10 + N % 10;
    N = N / 10;
}
cout << rst << endl;
  • A. N != 0
  • B. not (N == 0)
  • C. N = 0
  • D. N > 0

93. 下面C++代码用于获得正整数N的第M位数,约定个位数为第1位,如N等于1234,M等于2,则输出3。假设M的值是大于等于1且小于等于N的位数。横线处应填入的代码是( )。

int N, M, div=1;
cout << "请输入一个正整数:";
cin >> N;
cout <<"请输入从右到左取第几位数:";
cin >> M;
for (int i =0; i < (M - 1); i++) div *= 10;
cout << (______________);
  • A. N % div / 10
  • B. N / div / 10
  • C. N % div % 10
  • D. N / div % 10

94. 下面C++代码执行后输出是____。

num = 0;
while (num <= 5){
    num += 1;
    if (num == 3)
        continue;
    printf("%d#", num);
}

95. 下面C++代码用于记录多个输入数中的最大数和最小数(输入 -999 则输入结束),相关说法错误的是()。

cin >> now_num;
min_num = max_num = now_num;
while (now_num != -999){
    if (max_num < now_num)
        max_num = now_num;
    if (min_num > now_num)
        min_num = now_num;
    cin >> now_num;
}
cout << min_num << ' ' << max_num;
  • A. 程序运行时如果第一个数输入 -999 ,则输出将是 -999 -999
  • B. 程序输入过程中,如果输入的第一个数不是 -999 ,则如果待输入的数据中没有 -999 ,则程序能求出已输入整数中的最大数和最小数
  • C. 如果用于输入考试成绩,即成绩中不可能有 -999 ,则程序能求出已输入成绩中的最高成绩和最低成绩
  • D. 可以将 cin >> now_num; 移动到 while (now_num != -999) { 下面,结果不变

二十二、循环终止条件

96. 下面C++代码执行后将输出 9 。____(√/×)

for (i = 0; i < 10; i++)
    break;
cout << i;

97. 下面C++代码执行后将输出 55 。____(√/×)

n = 0;
for (int i = 0; i > -10; i--)
    n = n + i * -1;
cout << n;

98. 将下面C++代码中的 L1 行的 i = 0 修改为 i = 1 , 其输出与当前代码输出相同。____(√/×)

cnt = 0;
for (int i = 0; i < 100; i++) // L1
    cnt += i;
cout << cnt

99. 将下面C++代码中的 i < 10 修改为 i <= 10 ,其执行后输出相同。____(√/×)

int n, i;
n = i = 0;
while (i < 10){
    n += i;
    i += 1;
}
cout << n;

100. 下面的C++代码执行后将输出 45 。____(√/×)

int n, i;
n = i = 0;
while (i < 10){
    i += 1;
    n += i;
}
cout << n;

101. 下面C++代码执行时将导致无限循环(也称死循环)。____(√/×)

int count = 0;
while (count < 5){
    count += 1;
    if (count == 3)
        continue;
    cout << count << ' ';
}

102. 下列C++代码用于求斐波那契数列,即第1个数为0,第2个数为1,从第三个数开始,依次是其前两个数之和。如果输入的值为大于1的正整数,该代码能实现所求。____(√/×)

cin >> n;
a = 0, b = 1;
for (int j = 0; j < n; j++){
    cout << a << " ";
    b = b + a;
    a = b - a;
}

练习说明:

  • 判断题请用 √ 或 × 作答
  • 选择题请选择正确选项
  • 填空题请填写准确答案
  • 建议按顺序完成,注意理解每道题的考点



上一篇:百度网盘PDF预览加速工具:基于Cloudflare Workers的小文件下载方案
下一篇:eBPF技术深度解析:从内核安全验证到高性能网络编程实践
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-25 04:48 , Processed in 0.305428 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表