本文将提供一系列针对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;
}
练习说明:
- 判断题请用 √ 或 × 作答
- 选择题请选择正确选项
- 填空题请填写准确答案
- 建议按顺序完成,注意理解每道题的考点