试卷总分:100分
选择题 15题 30分
判断题 10题 20分
编程题 2题 50分
第二届世界人形机器人运动会开幕式上,机器人方阵通过控制程序来完成整场表演。表演前,工程师们使用集成开发环境(IDE)编写并调试方阵的控制程序。下列关于IDE 功能的描述,错误的是()。
计算机CPU 中的高速缓冲存储器(Cache)主要为提升系统性能而设计。下列关于Cache 的说法中正确的是()。
执行如下C++代码,其输出是()。
cout << (3 == 3.0);
执行如下C++ 代码,其输出是()。
cout << (bool(5) + bool(-5) + bool(5 .0));
判断年份N 是否为闰年的规则是:能被4 整除但不能被100 整除,或者能被400 整除。以下C++表达式中,能正确判断N 是否为闰年的是()。
int tot , i; tot = 0 ; for (i = 0 ; i < 10 ; i++) if (i) tot += 1; cout << tot ;
执行如下C++ 代码,当输入4 时,其输出是()。
int n , tot , i , j ; cin >> n ; tot = 0 ; for (i = 1; i < n ; i++) for (j = 1; j < i; j++) tot += 1; cout << tot ;
下面的C++代码执行后其输出是()。
int tnt , i; tnt = 0 ; for (i = 0 ; i < 10 ; i++) if (i % 3) tnt += i; cout << tnt ;
下面的C++代码之后的输出是()。
int tot = 0 , i; for (i = -5 ; i < 5 ; i++) if (not(i % 3 != 0)) tot += 1; cout << tot ;
有关如下C++代码描述,变量都是整型,错误的是()。
int n , limit , i; cout << "请输入一个正整数: "; cin >> n ; if (n <= 1) printf("%d非素数", n); else if (n == 2) printf("2是素数"); else { limit = sqrt(n) + 1; for (i = 2; i < limit ; i++) if (n % i == 0) { printf("%d非素数", n); break; } if (i >= limit) printf("%d是素数", n); }
执行以下C++代码后,最终的输出结果是()。
int total , i , j ; total = 0 ; i = 1; while (i <= 3) { for (j = 1; j < i + 1; j++) total += i * j ; i += 1; } cout << total;
下面C++代码执行后其输出是()。
int count , i , j ; count = 0 ; for (i = 1; i < 4 ; i++) for (j = 0 ; j < i; j++) { if (j % 3 == 0) continue ; count += 1; if (i * j >= 2) break; } printf("%d %d %d ", i , j , count);
如下的C++代码执行时输入12 将输出如下数字图形。注意:最后一行之前没有空格。横线处应填入的代码是()。
0 12 345 6789 01234 567890 1234567 89012345 678901234 5678901234 56789012345 678901234567 int line , i , j , k; i = 0 ; cout << "请输入行数:"; cin >> line ; for (j = 0 ; j < line ; j++) { for (k = 0 ; k < ; k++) // L1 cout << " "; for (k = 0 ; k < j + 1; k++) { cout << i; i += 1; if (i >= 10) i = 0 ; } cout << endl; }
小北的身高是1 .65 米。班上有n 个小朋友,小北想和身高最接近自己的人交朋友。如果有多个小朋友与小北的身高差相同,小北想和其中身高较矮的第一个小朋友做朋友。横线处应该填入的是()。
int n , i; float target , h , best_height , min_diff , diff; cout << "请输入小朋友的人数: "; cin >> n ; target = 1 .65 ; best_height = 0 .0 ; min_diff = 100 .0 ; for (i = 0 ; i < n ; i++) { cout << "请输入第 " << i << " 个小朋友的身高: "; cin >> h ; diff = abs(h - target); if ( ) { // L1 min_diff = diff; best_height = h ; } } cout << "小北的朋友身高为: " << best_height;
int n , i; float target , h , best_height , min_diff , diff; cout << "请输入小朋友的人数: "; cin >> n ; target = 1 .65 ; best_height = 0 .0 ; min_diff = 100 .0 ; for (i = 0 ; i < n ; i++) { cout << "请输入第 " << (i + 1) << " 个小朋友的身高: "; cin >> h ; if (h > target) diff = h - target ; else diff = target - h ; if (diff < min_diff) { min_diff = diff; best_height = h ; } else if (diff == min_diff) { __________________ __________________ } } cout << "小北的朋友身高为:" << best_height;
C++ 程序执行cin 或scanf 语句时通常是使用键盘等输入设备来输入某个变量的值。
执行C++ 语句cout << ( 5 && 2 ); 将输出1。
C++ 表达式2 * - '2' / 4 的值是-1。
如下C++代码执行后的输出是10。
int a ; a = 5 ; a == +5 ; cout << a ;
执行C++ 代码cout << (not not 5) 将输出5。
下面C++代码执行后将输出369 。
for (int i = 1; i < 10 ; i++) if (not(i % 3)) cout << i;
N 是整数,执行如下C++代码,将能输出0 到N 之间(包含N )所有数之和。
int N , tot , i; cin >> N ; tot = 0 ; for (i = 0 ; i < N + 1; i++) tot += i; cout << tot ;
如下C++代码执行后,输出值为0。
int cnt , i , j ; cnt = 0 ; for (i = 0 ; i < 10 ; i++) { continue ; for (j = 0 ; j < i; j++) cnt += 1; } cout << i * cnt ;
求解鸡兔同笼。在如下C++代码中,tou 代表鸡和兔的头总数,jiao 代表鸡和兔的脚总数。先后两个输入均为正整数。该程序能求解鸡兔同笼。
int tou , jiao , tu_tou , ji_tou ; cout << "请输入鸡和兔的头总数:"; cin >> tou ; cout << "请输入鸡和兔的脚总数:"; cin >> jiao ; for (tu_tou = 0 ; tu_tou < tou + 1; tu_tou++) { ji_tou = tou - tu_tou ; if (tu_tou * 4 + ji_tou * 2 == jiao) printf("兔的数量=%d ,鸡的数量=%d\n ", tu_tou , ji_tou); } if (tu_tou == tou) printf("无解\n ");
如果N 和M 均为整数,下列C++代码则可以判断正整数N 是M 的平方。比如9 是3 的平方。
int N , M; cout << "请输入正整数N :"; cin >> N ; cout << "请输入整数M :"; cin >> M; if (int(sqrt(N)) == abs(M)) printf("%d是%d的平方\n ", N , M);
小双刚学会勾股定理,得知直角三角形的斜边的平方等于两直角边的平方和。
小双创造了直角三角形数列:数列前两项由小双指定,从第三项开始,数列中的每个数字的平方等于前两项的平方和。
例如,第一项是 3.0,第二项是 4.0,则第三项是 sqrt(3.02 + 4.02) = 5.0,其中sqrt()为根号的意思。
其中表示的算术平方根,可以使用C/C++/Python 标准库中对应函数计算。
小双给定了数列的前两项,并给定一个数列上限,想让你算算数列的第几项会超过小双给定的数列上限?
输入三行,第一行一个浮点数是数列第一项,第二行一个浮点数是数列第二项,第三行一个浮点数表示数列上限。
输出一个正整数,表示第几项开始会超过小双给定的数列上限。
输入均为不超过 10000 的正数。
题目保证给定第一项小于第二项。
3.0
4.0
10.0
6
小明有一个的画布(8 行 16 列),画布中的格子从上到下从左到右编号,左上的编号为 1,第一排最后一个的编号为 16,最后一排第一个编号为 113,右下为 128。
初始画布中的每个格子都是 *,随后小明会给定三个正整数,小明会将对应编号的格子变为该正整数对应的ASCII编码字符。
最后请帮小明输出整个画布。
输入包含三行,每行一个正整数,表示需要替换的画布格子编号。
输出 8×16 的画布。
输入范围是48到57,65到90,以及97到122(即ASCII 编码的0到9,A到Z,以及a到z)。
48
65
97
****************
***************0
A***************
a***************