CCF GESP 2025年9月认证 C++ 2级试题

标签:
普通图片版
| 10页
| 487人阅读
| 34人下载

内容正文:

国时算机 GESP CCF编程能力等级认证 c Grade Examination of Software Programming C++二级 2025年09月 1单选题(每题2分,共30分) 题号123456789101112131415 答案DC CDDA D BDA D C AA D 第1题人工智能现在非常火,小杨就想多了解一下,其中就经常听人提到大模型”。那么请问这里说的“大模型最 贴切是指()。 ☐A.大电脑模型 □B.大规模智能 ☐C.智能的单位 口D.大语言模型 第2题在TCP协议中,完成连接建立需要通过()握手。 ☐A一次 口B.二次 ☐C.三次 ☐D.四次 第3题下面的C+代码用于输入姓名,然后输出姓名,正确的说法是()。 1 string XingMing; 2 c0Ut<<"诗输入您的姓名:"; 3 cin >XingMing; 4 cout <XingMing ☐A.XingMing是汉语拼音,不能作为变量名称 □B.可以将XingMing改为Xing Ming ☐C.可以将XingMing改为xingming ☐D.可以将XingMing改为Xing-Ming 第4题下面C+代码用于获得正整数N的第M位数,如N等于1234,M等于2,则输出3。此题假设M的值大于等于 1且小于等于的位数。横线处应填入的代码是()。 1 int N,M,div=1; 2 coUt<<"请输入一个正整数:"; 3 cin >N; coUt<<"诗输入从右到左取第几位数:": cin >M; 6 7 for (int i=0;i<(M-1);i++)div *10; 8 9 cout <<( ☐A.N%div/10 ☐B.N/div/10 ☐C.N%div%10 ☐D.N/div%10 第5题下面C+代码执行,其输出是()。 1a,b=3,4: 2 c a =b; 3 coUt<a<·↓<b<,·<c; ☐A.340 □B.333 ☐C.444 口D.以上都不对 第6题某种编号的规则是“XX-Y”,其中XX从00到11,Y从0到9。第1个编号是00-0,第2个编号是01-1,,第12个 编号11-1,第13个编号00-2,即其编码规则是XX和Y同时增1,到XX到11时下一个变为00,Y到9时,下一个变为0。 下面的C+代码用于生成第N个编号,横线处应填上的代码是()。 c0Ut<<"请输入编号位置:"; 2 cin >N; 3 4 part1 N%_----; part2 N %----- 6 7 if (part1 10) printf("0%d-%d ",part1,part2); 9 else 10 printf("%d-%d ",part1,part2); ☐A.1210 ☐B.1010 ☐C.119 ☐D.99 第7题下面的C++代码执行后其输出是()。 1 cnt =0; for(inti=-10:i<10;1++) for (int j=0;j<i;j++) cnt +=1; 5cout <cnt; ☐A.145 ☐B.125 ☐C.55 ☐D.45 第8题下面C+代码执行后其输出是()。 1f0r(i=1;i<12;i++){ 1f(i%2=0) 3 continve; for (j=0;j<i;j++) 6 if〔i*j%2) 7 break; 9 if(i>=12) 0 cout<〔i*j); ☐A.110 ☐B.12 ☐C.不确定 ☐D.无输出 第9题阅读下面的C+代码,其中变量都是整型,则说法正确的是()。 1 cin >>a >b; 2 3 while (b !=0){ 4 remainder a b; a =b; 6 b remainder; 7 cout <a; 口A.b不能为0,因为a%b将导致错误 ☐B.a必须小于b,否则a%b将导致错误 ☐C.a和b都必须为正整数,否则a%b将导致错误 口D.如果a输入为0,则不管b的输入值是什么,输出值的绝对值都是abs(b) 第10题下面C+代码执行后输出是()。 1 num 0; 2 while (num <5){ 3 num +1; if (num ==3) 5 continve; 6 printf("%d#",num); 7 ☐A.1#2#4#5#6# ☐B.1#2#4#5#6 ☐C.1#2#3#4#5#6# ☐D.1#2#3#4#5#6 第11题下面C+代码用于记录多个输入数中的最大数和最小数(输入-999则输入结束),相关说法错误的是( cin >now_num; min_num max_num now_num; 3 4 while (now_num !=-999){ if (max_num now_num) 6 max_num now_num; if (min_num now_num) 9 min_num now_num; 10 11 cin >now_num; 12 13 cout <min_num <<<<max_num; ☐A.程序运行时如果第一个数输入-999,则输出将是-999-999 ☐B.程序输入过程中,如果输入的第一个数不是-999,则如果待输入的数据中没有-999,则程序能求出已输 入整数中的最大数和最小数 ☐C.如果用于输入考试成绩,即成绩中不可能有-999,则程序能求出已输入成绩中的最高成绩和最低成绩 □D.可以将cin>now_-num;移动到while(now_-numI=-999){下面,结果不变 第12题下面C++代码执行后输出与5有关数的数量。“与5有关的数”定义为含有5或者能被5整除的数。相关说法 正确的是()。 1 cnt 0; for(1=1;i<1000;i+){ 1f(i%5==0){ 4 cnt +1; 5 continve; j=i; while (i>0) 9 if(%10==5){ 10 cnt +1; 11 break; 12 13 else 14 j/=10; 15 16 cout <cnt; 口A.删除代码中continve不影响程序执行结果 ☐B.删除j=i并将while循环内的j修改为i,不影响程序执行结果 □C.代码中break修改为j=0,不影响程序执行结果 ☐D.将while(j>0)修正为while(j>=o)不影响程序执行的结果 第13题下面C+代码实现输出如下图形,应该在横线处填入的代码是()。 1 诗输入层数:10 1 23 4 456 7891 6 23456 789123 4567891 9 23456789 10 123456789 11 1234567891 1 cout<"请输入层数:"; cin >N; 3 4 K=1; 6 for (i 1;i<N+1;i++){ 1 for (int -1;-< ---;++) cout <<m " 9 10 for(int-=1;-<---i-+) 11 cout <K; 12 13 K+=1: 14 1f(K=10) 15 K=1; 16 17 cout <<' '; 18 3 ☐A 1 N-1+1 21+1 □B. 1N-i 2 i ▣c 1N 21 □D. 1N-i 21+1 第14题下面C+代码执行,其输出是()。 1inta=9,b=27; 2 a='a'e+b'; 3 b=a'-'b'; 4 a =a-b; 5 cout <a<<<<b <endl; ☐A.196-1 ☐B.279 ☐C.9897 □D.不确定 第15题有个无限长的链,由3种外形相同但材质不同的环链成。3种环的重量分别是3、4、6克,相同材质的多个环 每12克一组,分别记为G3、G4、G6。链依次G3、G4、G6、G3、G4、G6、。同时对链上所有环从头依次编号1、 2、3、4。输入正整数代表环编号,求该编号前所有环(不含该环本身)的重量。下面是C+代码是实现,正确 说法是()。 1i int N,G,R; 2 int wc 0; 3 cin>>N;/输入正整数 5G=(N-1)/9;/1L1 6R=(N-1)%9;/1L2:保存余数 Wc+=36*G; 8 9if(1<=R)&(R<=4) 10 wC+=3*R;/L3 11 else if ((5 <R)&&(R <=7)) 12 wC+=4*R://L4 13 else if(R =8) 14 Wc+=6*(R-1);/L5 15 cout <wc <endl; ☐A.必须同时修改L1和L2代码行才能实现功能 口B.必须同时修改L3和L4代码行才能实现功能 ☐C.必须同时修改L3和L5代码行才能实现功能 ☐D.其他说法都不对 2判断题(每题2分,共20分) 题号12345678910 答案×√×√√×√√√× 第1题在集成开发环境里调试程序时,要注意不能修改源程序,因为如果修改,就要终止调试、关闭该文件并重新 打开,才能再次开始调试。() 第2题在C++代码中,假设N为正整数且大于100,则N/100将舍弃个位和十位,如N为1234则c0Ut<<(N/ 100)将输出12。如果N小于100,则其值为0。() 第3题下列C++代码执行后将输出1,因为a确实小于20和10。() 1a=5; 2 cout <<(a 10 and 20); 第4题下面的C+代码中变量都是整型,则执行后将输出1。() 1 ×,y,z=5,10,15; 2 result x y z; cout <result; 第5题下面C+代码执行时如输入99.99,将输出及格两个汉字。() 1 int score; 2 c0Ut<<"请输入学生成绩:"; cin >score; 4 if (score >=60) printf("及格"); 6 else printf("不及格"); 第6题执行下面的C++代码时输入123,则输出是DCB。() 1 int a; cin >a; 3 while(a){ 4 cout <'A'+a%10; a/=10: 6} 第7题下面的C+代码执行后将输出+#+#3#。() 1 int i; 2 for(i=0;i<3;i+)[ 3 if(i==2) continve; printf("+#"); 6 7 cout <i<<'#'; 第8题下列C+代码用于求斐波那契数列,即第1个数0,第2个数1,从第三个数开始,是前两个数之和。如果输入 的值为大于1的正整数,该代码能实现。() 1 cin >n; 2 a=0,b=1; for (int j=0;j<n;j++){ cout <a <<" bb a; 6 a b-a; 7 第9题下面的C+不能实现如下输出,但如果将L1标记的coUt<0行移动if块外面,或者说移动到L2标记 行,则可以。() 1 诗输入矩阵大小n:9 100000000 3 020000000 4 003000000 000400000 6 000050000 7 000006000 8 000000700 9 000000080 10 000000009 1 int n,i,j; 2 coUt<<"诗输入矩阵大小n:"; 3 cin >n; 4 for (i=0;i<n;i++){ 6 for (j=0;j<n;j++){ 7 if (i ==i){ 8 cout <i+1; 9 continve; 10 cout <0;/L1 11 12 /L2 13 14 printf(" "); 15 第10题C++代码coUt<<('5'+4);执行后的输出为9。() 3编程题(每题25分,共50分) 3.1编程题1 。试题名称:优美的数字 。时间限制:1.0s ·内存限制:512.0MB 3.1.1题目描述 如果一个正整数在十进制下的所有数位都相同,小A就会觉得这个正整数很优美。例如,正整数6的数位都是6, 所以6是优美的。正整数99的数位都是9,所以99是优美的。正整数123的数位不都相同,所以123并不优美。 小A想知道不超过n的正整数中有多少优美的数字。你能帮他数一数吗? 3.1.2输入格式 一行,一个正整数n。 3.1.3输出格式 一行,一个正整数,表示不超过n的优美正整数的数量。 3.1.4样例 3.1.4.1 输入样例1 16 3.1.4.2 输出样例1 16 3.1.4.3 输入样例2 12025 3.1.4.4 输出样例2 128 3.1.5数据范围 对于所有测试点,保证1≤n≤2025。 3.1.6参考程序 #include <algorithm> 2 #include <cstdio> 3 4 using namespace std; 6 int n,ans; 7 8 int main(){ 9 scanf("%d",&n); 10 for (int i=1;i <n;i++){ 11 int v i%10,t i/10,chk 1; 12 while (t){ 13 if (t 10 !v)chk =0; t/=10; 15 16 ans +chk; 17 18 printf("%d ",ans); 19 return 0; 20 3.2 编程题2 。试题名称:菱形 。时间限制:1.0s ·内存限制:512.0B 3.2.1题目描述 小A想绘制一个菱形。具体来说,需要绘制的菱形是一个n行n列的字符画,n是一个大于1的奇数。菱形的四个 顶点依次位于第1行、第1列、第n行、第n列的正中间,使用#绘制。相邻顶点之间也用#连接。其余位置都 是·。例如,一个5行5列的菱形字符画是这样的: 1 .#。 2 .#.# 3 .#.#. .#. 给定n,请你帮小A绘制对应的菱形。 3.2.2输入格式 一行,一个正整数n。 3.2.3输出格式 输出共n行,表示对应的菱形。 3.2.4样例 3.2.4.1输入样例1 13 3.2.4.2 输出样例1 1.#. 2#.# 3 .# 3.2.4.3 输入样例2 19 3.2.4.4 输出样例2 1 #. 2 .。#.#.. 3 .#..#. #.#。 ## 6 .#.。...# 7 ·##.… 9 ...#. 3.2.5 数据范围 对于所有测试点,保证3≤n≤29并且n为奇数。 3.2.6参考程序 1 #include <algorithm> 2 #include <cstdio> 4 using namespace std; 5 6 int main(){ int n,i j k; 8 scanf("%d",&n) 9 k=n/2: 10 for(i=1;i<=n;i++){ 11 for(j=1;j<=n;j+){ 12 if (abs(k -i+1)abs(k-j+1)=k) 13 printf("#"); 14 else 15 printf("."): 16 17 printf(" "); 18 19 return 0; 20

资源预览图

CCF GESP 2025年9月认证 C++ 2级试题-第1页
1
CCF GESP 2025年9月认证 C++ 2级试题-第2页
2
CCF GESP 2025年9月认证 C++ 2级试题-第3页
3
CCF GESP 2025年9月认证 C++ 2级试题-第4页
4

由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。