C++一级编程等级考试试卷(2025年12月)

本次考试为闭卷考试,包含单选题15道,每题2分,总分30分。请仔细阅读题目,选择正确的答案,祝您考试顺利!
*1. 近日,空中客车公司表示,约6000架空客A320系列飞机需要紧急更换一种易受太阳辐射影响的飞行控制软件。空客表示,在对一起飞行事故分析后的结果显示,强烈的太阳辐射可能会损坏飞行控制系统所需的关键数据,导致判断失误,进而引发飞行异常。那这里的飞行控制系统执行判断的部件最可能是下面的( )。

*2. 下面的C++代码在某集成开发环境中编译运行时,提示有“Invalid Character”(“无效字符”)错误。可能的原因是( ):

int a, b; a=3,b = 4; // L1 cout << a; // L2 cout << b; // L3
*3. 下面有关C++变量的说法,正确的是( )。
*4. X 是C++的整型变量,则 cout << (X=3, X++, ++X); 执行后的输出是
*5. C++表达式 2 + 3 * 4 % 5 的值为

*6. 下面的C++代码执行后,其输出是

a = 3; b = a = 4; printf("%d %d", a, b);

*7. 下面的C++代码执行时如果先输入 10 回车后输入 20 并回车,其输出是

int N,M; printf("第一个数:"); scanf("%d", &N); printf("第二个数:"); scanf("%d", &M); printf("%%(N+M)=%d", N+M, int(N+M));

*8.  某个整数很长很长,形如:1232123212321……,其规律是从1开始逐一升高到3然后逐一降低到1,然后又逐 一升高到3,一直到很长很长。假设最高位编号为1,要求判断从左边最高位开始的第N位数是几?在横线处应该填入 的代码是

int N, M; cout << "请输入编号:"; cin >> N; M = ________________; if (M != 0) cout << M; elsecout << 2;

*9. 下面C++代码执行后的输出是

int i, tnt = 0; for (i = 0; i < 100; i++) tnt += 1; cout << tnt << ' ' << i;

*10. 有关下面C++代码的说法,错误的是

int tnt = 0; for (int i = 1; i < 10; i += 2) // L1 tnt += i; // L2 cout << tnt;

*11. 下面C++代码执行后输出是

int i; for (i = 10; i < 100; i += 10){ if (i % 10 == 0) continue; printf("%d#",i); }if(i >= 100) printf("%d END",i);

*12. 两个正整数,只要不相等,就一直进行如下操作:最大数减去最小数得到一个值,该值和两个数的最小数 构成新的两个正整数,重复操作,直到两个数相等,此时输出该数。下面的C++代码用于实现该操作,横线处应该 填写的代码是

int N, M; cin >> N >> M; while (N != M){ if (N > M) _______________; else_______________; }cout << N;

*13. 如果一个正整数能被3整除,或者某一位能被3整除,则称之为“漂亮数”。下面的C++代码用于判断正整数N 是否为漂亮数,L1行的横线处应该填入的代码是

int N, Flag; cin >> N; Flag = 0; // "非漂亮数" if (N % 3 == 0) Flag = 1; //"漂亮数" elsewhile (N != 0){ if (_______________){ // L1 Flag = 1; break; }N /= 10; } cout << (Flag? "漂亮数" : "非漂亮数");

*14. 如果正整数N的所有奇因数(即能将N整除的正奇数)的和是27的倍数,则称N是27的神秘数。下面的 C++代码用于判断输入的N是否为27的神秘数。如输入53,它有两个奇因数1和53,则将输出 Y 。

int i, N, cnt = 0; cin >> N; for (i=1; i <=N; i++){ if (_________________) cnt += i; }if(cnt % 27 == 0) cout << 'Y';

*15. 执行下面C++代码可以找出千位与个位的和恰好等于中间两位的四位数,横线处应该填入

int count = 0; int a, bc, d, tmp; for (int i = 1000; i <= 9999; i++) { a = (tmp = i) / 1000; _________________________ bc = tmp / 10; d = tmp - bc * 10; if ( a + d == bc) { count++; } }cout << count
*16. 鸿蒙是华为公司开发的一款操作系统,那么它能够将正确的源程序翻译成目标程序,并运行。
*17. C++表达式 10 * 4 % 6 和 10 * 2 % 3 的结果相同

*18. 下面C++代码执行后将输出 0 。

int i; for (i = 0; i < 10; i++) if (i % 3 == 0) continue; elsebreak; cout << i;

*19. 下面C++代码中的 i > -10; i-- 改为 i < 10; i++ 执行结果相同。

int tnt = 0; for (int i = 0; i > -10; i--){ if (i < 0) i = -i; tnt += i; }cout << tnt;

*20. 下面C++代码执行后将输出 99 ,因为 i < 100 不包括100,而是到99

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

*21. 下面的C++代码能用于判断输入的正整数是否为对称数。所谓对称数是指从左到右和从右到左读该数,其值 相同,121或414等是对称数,而123不是对称数。

int n, new_number; cout << "请输入正整数:"; cin >> n; new_number = 0; while (n != 0){ new_number = new_number * 10 + n % 10; n /= 10; }if (n == new_number) cout << "对称数"; elsecout << "非对称数";

*22. 下面的C++代码执行后将输出 0 。

int tnt = 0; for (int i = -100; i < 100; i++) tnt += i; cout << tnt;
*23. 某同学执行C++代码时 printf("%g\n", (3 + 3.1415926535)); 输出 6.14159 而不是 6.1415926535 表明该同学的计算机存在故障需要重新安装C++软件。
*24. 如果 x 是C++代码中的 double 型变量,则对 cout << ( x? 1227 : 12.27); 编译时将报错,因为 1227 和 12.12 分别是 int 和 double 类型,导致识别混乱。
*25.  在C++代码中,不可以将变量命名为 keyword ,因为它是C++语言的关键字。
* 姓名