服装网站信用卡申请网站建设
2026/1/21 8:59:50 网站建设 项目流程
服装网站,信用卡申请网站建设,宁波网站建设设计公司排名,有赞微商城下载C ⼀级 2025 年09 ⽉ GESP CCF 编程能力等级认证 C 一级#xff08;2025 年 9 月#xff09; 一、单选题#xff08;每题 2 分#xff0c;共 30 分#xff09;题号123456789101112131415答案DCCCDADCCACDDAD第 1 题 人工智能现在非常火#xff0c;小杨就想多了解一下 ⼀级 2025 年09 ⽉GESP CCF 编程能力等级认证 C 一级2025 年 9 月一、单选题每题 2 分共 30 分题号123456789101112131415答案DCCCDADCCACDDAD第 1 题人工智能现在非常火小杨就想多了解一下其中就经常听人提到 “大模型”。那么请问这里说的 “大模型” 最贴切是指 。A. 大电脑模型B. 大规模智能C. 智能的单位D. 大语言模型第 2 题小杨这学期刚开学就选修了一门编程课然后就想编写程序来计算 1 到 10001 之间的所有偶数的和。他希望程序采用简单累加整数的方法同时希望源程序尽可能清晰、简洁则下面关于实现累加时采用的主要控制结构的哪个说法最不合适 。A. 使用循环结构B. 使用循环和分支的组合C. 仅使用顺序结构D. 不使用分支结构第 3 题下面的 C 代码用于输入姓名然后输出姓名正确的说法是 。string XingMing;cout请输入您的姓名:;cinXingMing;coutXingMing;A. XingMing 是汉语拼音不能作为变量名称B. 可以将 XingMing 改为 Xing MingC. 可以将 XingMing 改为 xingmingD. 可以将 XingMing 改为 Xing-Ming逐一分析选项选项 AXingMing 是汉语拼音不能作为变量名称错误。C 对变量名的语言类型没有限制无论是拼音、英文、甚至是符合规则的汉字部分编译器支持都可以只要符合命名规则即可。XingMing由字母组成以字母开头完全符合规则。选项 B可以将 XingMing 改为 Xing Ming错误。变量名中不允许包含空格Xing Ming中间有空格违反命名规则编译器会报错。选项 C可以将 XingMing 改为 xingming正确。xingming由小写字母组成以字母开头符合所有命名规则。C 区分大小写但修改变量名的大小写只要符合规则是允许的。选项 D可以将 XingMing 改为 Xing-Ming错误。变量名中不允许包含减号-Xing-Ming中的-是特殊字符违反命名规则。第 4 题下列 C 代码中 a 和 b 都是整型变量执行后其结果是 。a13;b5;couta/ba%ba*b;A. 2 3B. 23C. 20D. 以上都不准确第一步分析各运算的结果C 中整型之间的算术运算结果仍为整型会舍弃小数部分只保留整数部分我们逐一计算整除运算a / ba13b513 / 5的数学结果是 2.6整型运算舍弃小数后结果为2。取模运算a % b取模运算的结果是整除后的余数13 % 5的余数为3。乘法运算a \* b13 * 5的结果为65。第二步分析cout的输出特性cout输出多个值时若直接用连接会将所有结果按顺序拼接输出不会自动添加空格或分隔符。因此cout a / b a % b a * b;等价于cout 2 3 65;最终输出的内容是2365。第三步逐一分析选项选项 A输出 “2 3”但代码中没有输出空格且缺少了乘法的结果 65错误。选项 B输出 “23”只包含了整除和取模的结果缺少乘法的 65错误。选项 C输出 “20”与实际计算结果完全不符错误。选项 D以上都不准确正确。最终答案D第 5 题C 表达式3 * 4 % 5 / 6的值是 。A. 10B. 5C. 2D. 0第 6 题下面的 C 代码中变量 N 和 M 都是整型则执行时如果先输入 10 并输入一个制表符后输入 20 并回车其输出的数值是 。scanf(%d,N);scanf(%d,M);printf({%d},NM);A. {30}B. 1020C. {NM}D. 不输出继续等待输入第 7 题当前是 9 月编写 C 代码求 N 个月后的月份。横线处应填入的代码是 。intN,M;cinN;M_____________;if(M0)printf(%d个月后是12月,N);elseprintf(%d个月后是%d月,N,M);A.N % 12B.9 N % 12C.(9 N) / 12D.(9 N) % 12第 8 题下面 C 代码执行后的输出是 。intn0;for(inti0;i100;i)ni%2;coutn;A. 5050B. 4950C. 50D. 49第 9 题下面的 C 代码执行后输出是 。intN0,i;for(i-100;i100;i)Ni%10;coutN;A. 900B. 100C. 0D. -100第 10 题下面 C 代码执行后输出是 。inti;for(i1;i5;i){if(i%30)break;printf(%d#,i);if(i5)printf(END\n);}A. 1#2#B. 1#2#ENDC. 1#2D. 1#2#3#4#END第 11 题下面的 C 代码用于求 N 的镜面数N 的个位到最高位的各位数字依次反过来出现在数字中但高位 0 将被忽略不输出如输入 1234则将输出 4321又如输入 120则将输出 21错误的选项是 。cout请输入个位数不为0的正整数:;cinN;rst0;// 保存逆序结果while(______________){rstrst*10N%10;NN/10;}coutrstendl;A.N ! 0B.not (N 0)C.N 0D.N 0第 12 题下面 C 代码用于交换两个正整数 a 和 b 的值不能实现交换的代码是 。A.cout输入第一个正整数: ;cina;cout输入第二个正整数: ;cinb;tempa;ab;btemp;coutaa bbendl;B.cout输入第一个正整数: ;cina;cout输入第二个正整数: ;cinb;ba-b;aa-b;bab;coutaa bbendl;C.cout输入第一个正整数: ;cina;cout输入第二个正整数: ;cinb;aab;ba-b;aa-b;coutaa bbendl;D.cout输入第一个正整数: ;cina;cout输入第二个正整数: ;cinb;a,bb,a;coutaa bbendl;第 13 题下面 C 代码用于获得正整数 N 的第 M 位数约定个位数为第 1 位如 N 等于 1234M 等于 2则输出 3。假设 M 的值是大于等于 1 且小于等于 N 的位数。横线处应填入的代码是 。intN,M,div1;cout请输入一个正整数:;cinN;cout请输入从右到左取第几位数:;cinM;for(inti0;i(M-1);i)div*10;cout(______________);A.N % div / 10B.N / div / 10C.N % div % 10D.N / div % 10第 14 题下面 C 代码执行后输出是 。num0;while(num5){num1;if(num3)continue;printf(%d#,num);}A. 1#2#4#5#6#B. 1#2#4#5#6C. 1#2#3#4#5#6#D. 1#2#3#4#5#6第 15 题下面 C 代码用于记录多个输入数中的最大数和最小数输入 - 999 则输入结束相关说法错误的是 。cinnow_num;min_nummax_numnow_num;while(now_num!-999){if(max_numnow_num)max_numnow_num;if(min_numnow_num)min_numnow_num;cinnow_num;}coutmin_num max_num;A. 程序运行时如果第一个数输入 - 999则输出将是 - 999 -999B. 程序输入过程中如果输入的第一个数不是 - 999则如果待输入的数据中没有 - 999则程序能求出已输入整数中的最大数和最小数C. 如果用于输入考试成绩即成绩中不可能有 - 999则程序能求出已输入成绩中的最高成绩和最低成绩D. 可以将cin now_num;移动到while (now_num ! -999) {下面结果不变第一步梳理原代码的执行逻辑初始输入先执行cin now_num;读取第一个数。初始化最值将min_num和max_num都赋值为第一个输入的now_num。循环判断只要now_num ! -999就进入循环比较并更新最大值max_num和最小值min_num。读取下一个数cin now_num;。循环终止当读取到now_num -999时退出循环输出最终的min_num和max_num。第二步逐一分析选项选项 A程序运行时如果第一个数输入 - 999则输出将是 - 999 -999分析第一个数输入-999则min_num max_num -999。循环条件now_num ! -999不成立直接跳过循环。最终cout输出-999 -999中间有空格。结论该选项正确选项 B程序输入过程中如果输入的第一个数不是 - 999则如果待输入的数据中没有 - 999则程序能求出已输入整数中的最大数和最小数分析若第一个数非-999且后续输入无-999则while (now_num ! -999)的条件永远为真循环会持续读取输入并更新最值直到输入流结束如用户手动终止输入。最终能正确得到所有输入数的最大和最小值。结论该选项正确如果用于输入考试成绩成绩中不可能有 - 999则程序能求出已输入成绩中的最高成绩和最低成绩分析考试成绩无-999逻辑与选项 B 一致循环会持续读取所有成绩并更新最值直到输入流结束。能正确得到最高和最低成绩。结论该选项正确选项 D可以将cin now_num;移动到while (now_num ! -999) {下面结果不变分析我们需要对比修改前后的代码逻辑看是否存在执行差异原代码的输入流程关键cinnow_num;// 先读第一个数min_nummax_numnow_num;while(now_num!-999){// 更新最值cinnow_num;// 读下一个数}特点先判断当前数是否为终止符再更新最值最后读下一个数。修改后的代码cinnow_num;min_nummax_numnow_num;while(now_num!-999){cinnow_num;// 把输入移到循环内第一行// 更新最值}执行差异模拟以输入1 2 3 -999为例步骤原代码行为修改后代码行为初始输入读1min/max1读1min/max1第一次循环1≠-999更新最值1→ 读2先读2→ 更新最值2第二次循环2≠-999更新最值2→ 读3先读3→ 更新最值3第三次循环3≠-999更新最值3→ 读-999先读-999→ 此时now_num-999更新最值时会把-999纳入比较循环终止now_num-999退出循环最值为 1/3now_num-999退出循环最值变为-999/3核心问题修改后终止符-999会被读取并参与最值比较导致最小值被错误更新为-999同时第一个输入的数会被跳过比较因为循环内先读下一个数再更新最值。极端案例若仅输入5 -999原代码最值为5/5输出5 5。修改后循环内先读-999更新最值时min_num变为-999输出-999 5结果完全错误。结论该选项错误。最终答案D二、判断题每题 2 分共 20 分题号12345678910答案在集成开发环境里调试程序时要注意不能修改源程序因为如果修改就要终止调试、关闭该文件并重新打开才能再次开始调试。 主流的 C 集成开发环境如Visual Studio、CLion、Code::Blocks都支持“编辑后继续调试”功能核心特点如下调试过程中修改源程序代码不需要终止调试、关闭文件再重新打开。大多数 IDE 会在修改代码后提示 “代码已更改是否重新生成”确认后会自动重新编译修改后的代码并继续当前的调试流程比如保留断点、变量状态等部分 IDE 需开启对应功能。只有极少数老旧或简化版 IDE可能不支持该功能才需要手动终止调试、重新编译运行但这并非通用规则。因此题目中 “不能修改源程序修改后必须终止调试、关闭文件重新打开” 的表述过于绝对不符合主流 IDE 的调试逻辑。执行 C 表达式10 % 0.5将报错因为 0.5 所在位置只能是整数。 下面 C 代码执行后将输出 9。 for(i0;i10;i)couti;break;1. 语法错误变量未定义 break语句的位置非法变量i未声明类型C 是强类型语言使用变量前必须声明其类型如int i代码中直接写for (i 0; i 10; i)会导致编译报错程序无法正常运行。break语句的位置非法break语句的作用是跳出最近的循环for/while/do-while或switch 语句而代码中的break写在for循环体之外for循环的体只有cout i;这一行因为没有用{}包裹多语句属于语法错误编译器会直接报错。4.下面 C 代码执行后将输出 55。 n0;for(inti0;i-10;i--)nni*-1;coutn;第一步分析代码的执行逻辑我们先明确代码中的变量初始值、循环条件和运算规则再逐次模拟循环过程或通过数学公式计算结果初始条件n 0循环变量i为int类型初始值i 0。循环条件i -10即i的取值为0, -1, -2, ..., -9共 10 次循环。循环体n n i * -1等价于n -i即取i的绝对值累加到n中。循环终止当i -10时i -10不成立退出循环输出n。5.将下面 C 代码中的 L1 行的i 0修改为i 1其输出与当前代码输出相同。 cnt0;for(inti0;i100;i)// L1coutcnt;cnti;6.将下面 C 代码中的i 10修改为i 10其执行后输出相同。 intn,i;ni0;while(i10){ni;i1;}coutn;7.下面的 C 代码执行后将输出 45。 intn,i;ni0;while(i10){i1;ni;}coutn;8.执行 C 代码cout (12 12.12)将报错因为 12 是 int 类型、而 12.12 是 float 类型不同类型不能直接运算。 9.下面 C 代码执行时将导致无限循环也称死循环。 intcount0;while(count5){count1;if(count3)coutcount ;continue;}10.下列 C 代码用于求斐波那契数列即第 1 个数为 0第 2 个数为 1从第三个数开始依次是其前两个数之和。如果输入的值为大于 1 的正整数该代码能实现所求。 cinn;a0,b1;for(intj0;jn;j){couta ;bba;ab-a;}三、编程题每题 25 分共 50 分3.1 编程题 1试题名称商店折扣时间限制1.0s内存限制512.0MB3.1.1 题目描述商店正在开展促销活动给出了两种方案的折扣优惠。第一种方案是购物满 x 元减 y 元第二种方案是直接打 n 折也就是说价格变为原先的10n。这里的 x、y、n 均是正整数并且1≤yx1≤n10。需要注意的是第一种方案中满减优惠只能使用一次。例如购物满 100 元减 20 元时若挑选了价格总和为 150 元的物品只能减免 20 元需要支付 130 元。小明在商店挑选了价格总和为 p 元的物品结账时只能使用一种优惠方案。小明最少需要支付多少钱呢3.1.2 输入格式四行四个正整数 x、y、n、p含义见题目描述。3.1.3 输出格式一行一个小数表示小明最少需要支付多少钱保留两位小数。3.1.4 样例3.1.4.1 输入样例 1100 20 8 903.1.4.2 输出样例 172.003.1.4.3 输入样例 2100 20 7 1103.1.4.4 输出样例 277.003.1.5 数据范围对于所有测试点保证1≤yx≤1001≤n101≤p≤100。3.1.6 参考程序#includealgorithm#includecstdiousingnamespacestd;intx,y,n,p;doublea1,a2;intmain(){scanf(%d%d%d%d,x,y,n,p);a1p;if(a1x)a1-y;a2p*0.1*n;printf(%.2lf\n,min(a1,a2));return0;}方法二#includeiostream using namespace std; int main() { int x,y,n,p; cinxynp; int f1; float f2; f1p-y; f2p*n*0.1; if(px) { if(f1f2) coutf2; else coutf1; } else coutf2; return 0; }3.2 编程题 2试题名称金字塔时间限制1.0s内存限制512.0MB3.2.1 题目描述金字塔由 n 层石块垒成。从塔底向上每层依次需要n×n、(n−1)×(n−1)、…、2×2、1×1块石块。请问搭建金字塔总共需要多少块石块3.2.2 输入格式一行一个正整数 n表示金字塔的层数。3.2.3 输出格式一行一个正整数表示搭建金字塔所需的石块数量。3.2.4 样例3.2.4.1 输入样例 123.2.4.2 输出样例 153.2.4.3 输入样例 253.2.4.4 输出样例 2553.2.5 数据范围对于所有测试点保证1≤n≤50。3.2.6 参考程序#includealgorithm#includecstdiousingnamespacestd;intn,ans;intmain(){scanf(%d,n);for(inti1;in;i)ansi*i;printf(%d\n,ans);return0;}方法二#includeiostream using namespace std; int main() { int n,sum0; cinn; for(int in;i0;i--) { sum(i*i); } coutsum; return 0; }

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询