A. C++ 中级组科技节模拟题

    客观题

C++ 中级组科技节模拟题

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

一、单项选择题

  1. 在下列运算符中,优先级最高的是? {{ select(1) }}
  • ||
  • <=
  • +
  • !
  1. 在循环结构中,关于跳转语句的描述,正确的是? {{ select(2) }}
  • continue语句会立即终止整个循环
  • break语句仅跳过当前迭代,继续下一次循环
  • continue语句用于结束当前迭代,直接进入下一次循环
  • breakcontinuefor循环中的作用没有区别
  1. 已知int data[4] = {10, 20, 30, 40};,想要将其元素倒序输出,下列for循环写法正确的是? {{ select(3) }}
  • for(int i=0; i<4; i++) cout<<data[i]<<" ";
  • for(int i=4; i>0; i--) cout<<data[i]<<" ";
  • for(int i=3; i>=0; i--) cout<<data[i]<<" ";
  • for(int i=3; i>0; i--) cout<<data[i]<<" ";
  1. 已知int p=12, q=7;,下列逻辑运算结果为真的是? {{ select(4) }}
  • p<q || p==q
  • p>q && p!=q
  • !(p>q)
  • p<q && p!=q
  1. 下列关于switch-case结构的描述,正确的是? {{ select(5) }}
  • switch后的表达式结果可以是小数类型
  • case标签后面可以写一个变量名
  • 如果所有case都不匹配,程序会执行default后的语句
  • 每个case分支末尾不写break会导致编译失败
  1. 小华在编写程序时定义了以下几个标识符,其中编译能够通过的是? {{ select(6) }}
  • 2026year
  • _count
  • double
  • first-name
  1. 执行以下代码,输入85,输出结果是?
#include<iostream>
using namespace std;
int main(){
    int mark;
    cin >> mark;
    if(mark >= 90) cout << "A";
    else if(mark >= 80) cout << "B";
    else if(mark >= 60) cout << "C";
    else cout << "D";
    return 0;
}

{{ select(7) }}

  • A
  • B
  • C
  • D
  1. 关于单精度和双精度浮点数,下列说法正确的是? {{ select(8) }}
  • float类型通常占用8个字节内存
  • double类型能够表示的有效数字位数比float
  • 不带后缀的小数常量默认是float类型
  • 为了节省内存,处理小数时应优先选择double
  1. 关于循环结构的特性,下列说法正确的是? {{ select(9) }}
  • do-while循环先判断条件,再执行循环体
  • while循环的循环体至少会被执行一次
  • 当循环条件一开始就不满足时,while循环的循环体一次都不会执行
  • do-while循环的循环体有可能一次都不执行
  1. 关于从键盘读取字符串的方式,下列说法正确的是? {{ select(10) }}
  • 使用cin >> str可以读取包含空格的一整行文字
  • 使用cin.getline(buf, 50)可以读取包含空格的字符串
  • cin.getline()函数不需要指定接收字符的最大数量
  • 无论是cin还是cin.getline(),遇到空格都不会停止读取
  1. 以下for循环的执行次数是?
for(int i=10; i>=2; i-=2){
    cout << i << " ";
}

{{ select(11) }}

  • 4
  • 5
  • 6
  • 10
  1. 表达式2 * 3 + 4.5f + 1.0的最终结果类型是? {{ select(12) }}
  • int
  • float
  • double
  • char
  1. 下列数组定义语句中,符合C++语法规范的是? {{ select(13) }}
  • int nums[4] = {1, 2, 3, 4, 5};
  • int size = 5; int nums[size] = {1,2,3,4,5};
  • double scores[] = {85.5, 90.0, 78.5};
  • int nums[3]; nums = {10, 20, 30};
  1. 执行以下代码,输出结果是?
#include<iostream>
using namespace std;
int main(){
    int n = 8;
    cout << n++ << endl;
    cout << ++n << endl;
    return 0;
}

{{ select(14) }}

  • 8 9
  • 8 10
  • 9 9
  • 9 10
  1. 执行以下代码,输出结果是?
#include<iostream>
using namespace std;
int main(){
    char word[6] = {'H', 'e', 'l', 'l', 'o', '\0'};
    word[4] = '\0';
    cout << word;
    return 0;
}

{{ select(15) }}

  • Hell
  • Hello
  • Hell\0
  • 编译报错
  1. 执行以下代码,输出结果是?
#include<iostream>
#include<cstring>
using namespace std;
int main(){
    char text[] = "programming";
    cout << strlen(text);
    return 0;
}

{{ select(16) }}

  • 10
  • 11
  • 12
  • 13
  1. 下列关于C++标准库string类的使用,存在错误的是? {{ select(17) }}
  • string s1 = "Good", s2 = "Morning"; string s3 = s1 + s2;
  • string s = "test"; s[1] = 'E';
  • string a = "xyz", b = "xyw"; if(a > b) cout << "bigger";
  • string text = "hello"; text2 = "world";
  1. 关于setw()setfill()函数,下列说法错误的是? {{ select(18) }}
  • 使用它们需要包含<iomanip>头文件
  • setw()设置的宽度只影响紧跟其后的那一次输出
  • 当实际输出内容长度超过setw()设定的宽度时,多余的部分会被截断丢弃
  • setfill()可以设置一个字符来填充setw()留下的空白位置
  1. 下列关于标准输出流的代码,书写错误的是? {{ select(19) }}
  • cout << "Hello" << endl;
  • cout << num1 << " " << num2;
  • cout >> "Output";
  • cout << 'X' << '\n';
  1. 在以下应用场景中,必须使用long long类型而不能使用int类型的是? {{ select(20) }}
  • 统计班级50名学生的身高数据
  • 记录某商场10000件商品的库存数量
  • 计算1到10^12之间所有整数的和
  • 控制一个执行100次的循环变量
  1. 执行strcmp("team", "tea"),返回值的情况是? {{ select(21) }}
  • 大于0
  • 小于0
  • 等于0
  • 不确定
  1. 使用printf函数输出一个double类型的变量avg,正确的格式控制符是? {{ select(22) }}
  • %d
  • %f
  • %lld
  • %c
  1. 判断闰年的正确逻辑表达式是? {{ select(23) }}
  • (year%4==0 && year%100!=0) || year%400==0
  • year%4==0 || year%100!=0 && year%400==0
  • year%4==0 && year%400==0 || year%100!=0
  • year%400==0 && year%4==0 || year%100!=0
  1. 执行以下代码,输出结果是?
#include<iostream>
using namespace std;
int main(){
    int m = 45, n = 80;
    if(m > n)
        m = n;
    n = m;
    cout << m << " " << n;
    return 0;
}

{{ select(24) }}

  • 45 80
  • 80 80
  • 45 45
  • 80 45
  1. 执行以下代码,输入15 8 12,输出结果是?
#include<iostream>
using namespace std;
int main(){
    int x,y,z,temp;
    cin>>x>>y>>z;
    if(x>y){ temp=x; x=y; y=temp; }
    if(x>z){ temp=x; x=z; z=temp; }
    if(y>z){ temp=y; y=z; z=temp; }
    cout << x << " " << y << " " << z;
    return 0;
}

{{ select(25) }}

  • 15 8 12
  • 8 12 15
  • 15 12 8
  • 8 15 12

二、判断题

  1. 标识符_2026Score符合C++变量命名规范。 {{ select(26) }}
  • 正确
  • 错误
  1. if分支需要执行多条语句时,必须用大括号{}将这些语句组合成复合语句。 {{ select(27) }}
  • 正确
  • 错误
  1. C++语言不允许在一个if语句内部再嵌套另一个if语句。 {{ select(28) }}
  • 正确
  • 错误
  1. 一个if语句可以单独存在,不搭配else子句也是合法的。 {{ select(29) }}
  • 正确
  • 错误
  1. 在循环次数已经确定的情况下,程序员通常优先选择while循环而非for循环。 {{ select(30) }}
  • 正确
  • 错误
  1. do-while循环不管条件是否满足,其循环体至少会被执行一次。 {{ select(31) }}
  • 正确
  • 错误
  1. strlen()函数是在<iostream>头文件中声明的。 {{ select(32) }}
  • 正确
  • 错误
  1. switch关键字后面括号中的表达式,其运算结果可以是浮点数类型。 {{ select(33) }}
  • 正确
  • 错误
  1. switch语句中,如果某个case分支没有break关键字,程序会自动跳过后面所有的case分支。 {{ select(34) }}
  • 正确
  • 错误
  1. 在循环体中使用break语句,可以立即跳出并终止当前所在的循环结构。 {{ select(35) }}
  • 正确
  • 错误

c++中级模拟赛

未参加
状态
已结束
规则
OI
题目
3
开始于
2026-5-16 8:30
结束于
2026-5-18 8:30
持续时间
100 小时
主持人
参赛人数
28