2026 年 3 月青少年软编等考 C 语言一级真题解析

目录

  • [一、单选题(每题 4 分,共 40 分)](#一、单选题(每题 4 分,共 40 分))
  • [二、判断题(每题 2 分,共 20 分)](#二、判断题(每题 2 分,共 20 分))
  • [三、编程题(每题 20 分,共 40 分)](#三、编程题(每题 20 分,共 40 分))
    • [1. 欢迎来到程序世界](#1. 欢迎来到程序世界)
    • [2. 重复的数列](#2. 重复的数列)

一、单选题(每题 4 分,共 40 分)

  1. 以下哪个是 C++ 程序中的入口函数?( )
    A. init()
    B. main()
    C. start()
    D. begin()

【答案】B

【解析】C/C++ 程序从 main() 函数开始执行,因此它是程序的入口函数。


  1. 编译后生成的可执行文件,在 Windows 操作系统下,其默认的扩展名是?( )
    A. cpp
    B. exe
    C. obj
    D. h

【答案】B

【解析】Windows 系统下,可执行文件默认扩展名为 .execpp 是 C++ 源代码文件的扩展名,h 是 C/C++ 头文件的扩展名,obj 是源代码编译生成的目标文件扩展名。


  1. 以下哪个步骤不是 C 程序开发的流程?( )
    A. 编写源代码
    B. 编译生成目标文件
    C. 链接生成可执行文件
    D. 运行源文件

【答案】D

【解析】C/C++ 程序需要先经过编译和链接生成可执行文件,不能直接运行源文件。


  1. 以下哪个不是合法的 C++ 标识符?( )
    A. var
    B. var123
    C. 123 var
    D. VarName

【答案】C

【解析】C/C++ 标识符不能以数字开头,也不能包含空格。


  1. 表达式 5 / 2 在 C++ 中的结果是?( )
    A. 2
    B. 2.5
    C. 3
    D. 2.0

【答案】A

【解析】52 都是整数,在 C/C++ 中 5 / 2 会进行整数除法,舍去小数部分,因此结果为 2


  1. 以下哪个语句可以输出整数变量 ab 的值,中间用空格分隔?( )
    A. cout << a << " " << b;
    B. cout << a, b;
    C. printf("%d%d", a, b);
    D. printf(a + " " + b);

【答案】A

【解析】cout << a << " " << b; 是 C++ 中正确的输出语句。cout << a, b; 在 C++ 中会被当做 (cout << a), b;,因此只能输出 a 的值。C 选项可以输出 ab 的值,但是没有输出空格。D 选项不是合法的函数调用方式。


  1. abs(-5) 的返回值是?( )
    A. -5
    B. 5
    C. 0
    D. 1

【答案】B

【解析】abs() 是 C/C++ 中用于求绝对值的函数,因此 abs(-5) = 5


  1. 执行以下代码后,z 的值是?( )

    cpp 复制代码
    int z = 10;
    z *= 2 + 3;

    A. 26

    B. 50

    C. 25

    D. 23

【答案】B

【解析】复合赋值运算符与赋值运算符的计算规则类似,先计算赋值号右边 2 + 3 = 5,再执行 z *= 5,即 z = z * 5 = 50


  1. 以下代码的输出是?( )

    cpp 复制代码
    double d = 3.14159;
    cout << (int)(d) << endl;

    A. 3.14159

    B. 3

    C. 4

    D. 3.0

【答案】B

【解析】(int)d 会将 double 类型强制转换为整数,小数部分被舍去(截断)。


  1. 执行以下代码后,ab 的值分别是?( )

    cpp 复制代码
    int a = 5, b = 10;
    int t = a;
    a = b;
    b = t;

    A. 5, 10

    B. 10, 10

    C. 10, 5

    D. 5, 5

【答案】C

【解析】该代码的功能是利用临时变量 t 交换 ab 的值。

二、判断题(每题 2 分,共 20 分)

  1. 注释语句会影响程序的执行速度。( )

【答案】×

【解析】注释在编译时会当作空格忽略掉,不会影响程序运行速度。


  1. 一个 C++ 源文件可以包含多个 main() 函数。( )

【答案】×

【解析】一个 C/C++ 程序只能有一个 main() 函数,否则会编译错误。


  1. 变量名可以以数字开头。( )

【答案】×

【解析】变量名只能以字母或下划线开头。


  1. const int a = 10; 定义了一个常量,其值不能改变。( )

【答案】√

【解析】const 表示常量,定义时必须初始化,定义后不可修改。


  1. 赋值运算符 = 的优先级高于算术运算符。( )

【答案】×

【解析】算术运算符优先级高于赋值运算符。


  1. a += b 效果等价于 a = a + b。( )

【答案】√

【解析】复合赋值运算符 += 与对应展开形式等价。


  1. cincout 是 C++ 标准输入输出流对象,使用时需要包含 iostream 头文件。( )

【答案】√

【解析】标准输入输出流定义在 iostream 头文件中。


  1. cout << fixed << setprecision(2) << 3.1415926; 的运行结果是 3.14。( )

【答案】√

【解析】fixed 配合 setprecision(2) 表示保留两位小数输出。


  1. sqrt(b / (a - a)) 会运行错误。( )

【答案】√

【解析】由于 a - a = 0,表达式 b / (a - a) 会发生除以 0 的错误,因为 0 不能做除数。


  1. 顺序结构是程序的三大基本执行结构之一。( )

【答案】√

【解析】程序的三大基本结构是:顺序结构、选择结构(分支结构)、循环结构。

三、编程题(每题 20 分,共 40 分)

1. 欢迎来到程序世界

题目链接:SOJ D1279

请你编写一个简单的程序,输出指定的欢迎语句。

时间限制:1 s

内存限制:256 MB

  • 输入
    本题没有输入。

  • 输出
    请严格按照以下格式输出两行文字:
    第一行:Hello, C++ World!
    第二行:Let's start coding!
    注意:大小写、标点和空格必须完全一致。

  • 样例输入

    a 复制代码
  • 样例输出

    a 复制代码
    Hello, C++ World!
    Let's start coding!

思路分析

本题考察基本输出语句,输出入门题。

只需要按照题目要求输出固定的两行内容即可。需要特别注意:

  1. 大小写必须完全一致;
  2. 标点符号和空格不能遗漏;
  3. 第二行中的单引号要正确输出。
cpp 复制代码
/*
 * Name: T1.cpp
 * Problem: 欢迎来到程序世界
 * Author: Teacher Gao.
 * Date&Time: 2026/05/16 14:19
 */

#include <iostream>
using namespace std;

int main() {
    cout << "Hello, C++ World!" << endl;
    cout << "Let's start coding!" << endl;
    
    return 0;
}

2. 重复的数列

题目链接:SOJ D1259

有一个数列,按如下顺序排列:

  • 1 , 2 , 3 , 4 , 0 , 1 , 2 , 3 , 4 , 0 , 1 , 2 , 3 , 4 , 0 , 1 , 2 , 3 , 4 , 0... 1,2,3,4,0,1,2,3,4,0,1,2,3,4,0,1,2,3,4,0... 1,2,3,4,0,1,2,3,4,0,1,2,3,4,0,1,2,3,4,0...

请问,该数列第 n n n 个数字是多少?

时间限制:1 s

内存限制:256 MB

  • 输入
    单个整数: n n n, 1 ≤ n ≤ 10 6 1\le n\le 10^6 1≤n≤106。

  • 输出
    单个整数:表示该数列的第 n n n 个数字的值。

  • 样例输入 1

    a 复制代码
    1
  • 样例输出 1

    a 复制代码
    1
  • 样例输入 2

    a 复制代码
    10
  • 样例输出 2

    a 复制代码
    0

思路分析

此题考察顺序结构找规律,属于入门题。

观察数列可以发现,每 5 个数字为一个循环,所以直接计算 n % 5 即可得到答案。

cpp 复制代码
/*
 * Name: T2.cpp
 * Problem: 重复的数列
 * Author: Teacher Gao.
 * Date&Time: 2026/05/16 14:23
 */

#include <iostream>
using namespace std;

int main() {
    int n;
    cin >> n;

    cout << n % 5 << endl;

    return 0;
}
相关推荐
佳xuan1 小时前
模型训练之爬取数据
开发语言·python
张二娃同学1 小时前
第12篇_深度学习学习路线总结
人工智能·python·深度学习·神经网络·学习
之歆2 小时前
DAY_10 JavaScript 深度解析:原型链 · 引用类型 · 内置对象 · 数组方法全攻略(上)
开发语言·javascript·ecmascript
zmzb01032 小时前
Python课后习题训练记录Day122
开发语言·python
陳土2 小时前
R语言jiebaR包使用摘要
开发语言·r语言
Evand J2 小时前
【MATLAB】多无人机编队协同控制与三维航迹规划仿真。障碍物斥力避障,输出编队误差、控制输入、三维轨迹等
开发语言·matlab·无人机
froginwe112 小时前
jQuery UI 小部件方法调用
开发语言
信奥胡老师2 小时前
B3930 [GESP202312 五级] 烹饪问题
开发语言·数据结构·c++·学习·算法
nashane2 小时前
HarmonyOS 6学习:Canvas性能优化与长截图流畅实现实战
学习·性能优化·harmonyos