内容正文:
2023年 C++全国信息素养大赛初赛
您的姓名: [填空题] *
_________________________________
1. 以下关于数组说法错误的是 [单选题] *
字符串也是数组
二维数组中下标的第一项表示行,第二项表示列
字符串总是以‘\0’做结尾
多维数组的维度不可以无限叠加(正确答案)
2. 以下说法错误的是 [单选题] *
C++是面向对象的编程语言
在使用固定用法的函数前必须声明与之有关的头文件
四种基本数据类型中,除了浮点数据以外,其他类型的数据转换为整型数据均可以
做到不丢失精度
浮点数据强制转换成整型数据以后小数位四舍五入(正确答案)
3. 以下选项错误的是。 [单选题] *
十进制数 4转换成 2进制数为 100
2进制数 110110转换成 10进制数为 54
8进制起始用 0表示
0x表示 18进制(正确答案)
4. 以下变量名命名正确的是( ) [单选题] *
A. __a_1(正确答案)
B. case
C. While 1
D. 12a
5. 以下为输出设备的是? [单选题]
键盘
鼠标
显示器(正确答案)
摄像头
6. 在计算机领域中,通常用英文单词“byte”来表示()。 [单选题] *
字
字长
字节(正确答案)
二进制位
7. CPU可直接访问的存储器是() [单选题] *
主存储器(正确答案)
虚拟存储器
磁盘存储器
磁带存储器
8. 局域网和广域网的主要区别是? [单选题] *
覆盖范围(正确答案)
传输速度
传输介质
网络协议
9. 若已定义变量 int f,g; 则表达式 f=1,g=f+5*1.0/4;的值是:( ) [单选题] *
A. 2.0
B. 2.25
C. 2(正确答案)
D. 1.5
答案解析:解析:计算过程中注意数据类型的自动转换,g=1+5.0/4=1+1.25=2.25,g
是 int类型,浮点型存储给整数类型,进行数据类型转换,2.25变成 2;
正确答案:C
10. 已知 bool A=true,B=true,C=false,D=false; 下列逻辑表达式的结果为 false的是:
( ) [单选题] *
A. A||B||C||D
B.A&&(B||C)||D
C.(A||C)&&(B||D)
D. A&&(B||C)&&D(正确答案)
答案解析:
解析:注意优先级的问题,|| 有一 true整个表达式为 true,A选项结果为 true;
小括号优先级最高,B||C结果为 true,A&&true,两边都为 true结果为 true,B选项
结果为 true;
小括号优先,&&左右两边都为 true,C选项结果为 true;
正确答案:D
11. 下列程序的输出结果是:( )
#include <iostream>
using namespace std;
int main(){
char c1='A',c2='B';
printf("%d %c",c2,c1);
return 0;
}
[单选题] *
A.B A
B. 66 A(正确答案)
C. 65 B
D. A B
答案解析:
解析:printf 格式化输出,"%d %c"依次输出十进制整数和字符型;B的 ASCII码
是 66
正确答案:B
12. 分析下列程序的输出结果:( )
#include <iostream>
using namespace std;
int main(){
int x = 2,y = 3,z = 4;
if(x++<y){
x++;
y++;
}else ++z;
cout<<x<<" "<<y<<" "<<z<<endl;
return 0;
}
[单选题] *
A. 4 4 4(正确答案)
B. 3 3 5
C. 2 3 5
D. 4 4 5
答案解析:
解析:注意前加加跟后加加的使用,前加加先加再用,后加加先用在加,x++的值
是 2,小于 y的值成立,执行 x++和 y++,x++中的 x值是 3,再输出 x时,x又自
增 1,结果是 4,y的值由 3加 1得 4,z没有改变,还是 4;
正确答案:A
13.
7.有如下程序代码:
#include <iostream>
using namespace std;
int main(){
int k=60;
while(k>1){
cout<<k;
k=k/2;
}
return 0;
}
上述程序的运行次数是:( ) [单选题] *
A. 4
B. 0
C. 5(正确答案)
D. 6
答案解析:
解析:循环条件中的 k每次开始循环前减少一半,它的值的变化过程是 60 30 15 7
3 ,循环执行了五次,当 k为 1的时候,循环条件不成立,循环结束 ;
正确答案:C
14. 执行语句 int i; for(i=0;++i<4; i++);后,变量 i的值是:( ) [单选题] *
A. 3
B. 4
C. 5(正确答案)
D. 6
答案解析:
解析:前加加先加再用,i开始为 0,++i,是 1,循环一次,i自增 1,为 2,++i是
3,再循环一次,i自增 1为 4,循环条件不成立,此时++i的结果是 5;
正确答案:C
15. 定义数组 int a[5];,以下对数组操作正确的是:( ) [单选题] *
A. a[0]='a';(正确答案)
B. a={0,1,2,3,4};
C. a[5]=5;
D. int a[0]=0;
答案解析:
解析:B选项应该是使用引用进行赋值,是 a[5]={0,1,2,3,4};错误;
C选项数组下标越界,最大下标是 4,错误;
D选项数组名重复
正确答案:A
16. 以下程序的输出结果是:( ) [单选题] *
A. 12(正确答案)
B.18
C.20
D.21
答案解析:
解析:循环取出数组中的下标为 1 3 5对应的元素再累加,结果是 2+4+6=12
正确答案:A
17. 在 C++中,下面哪个关键字用于声明一个变量,其值不能被修改? [单选题] *
A.unsigned
B.const(正确答案)
C.static
D.mutable
18. (8+6)×a-10+c÷2在 C++中应表示为( ) [单选题] *
A.(8+6)×a-10+c÷2
B.(8+6)*a-10+c÷2
C.(8+6)*a-10+c/2(正确答案)
D.(8+6)×a-10+c/2
19. C++中,11%3的运算结果是( ) [单选题] *
A.3
B.-1
C.1
D.2(正确答案)
20. 下列关于算法的叙述不正确的是() [单选题] *
A.算法的每一步必须没有歧义,不能有半点含糊
B.算法必须有输入(正确答案)
C.同一问题可能存在多种不同的算法
D.同一算法可以用多种不同的形式来描述
21. 若有如下语句:
int a,b,c;
a=b=c=5;
则执行语句:
b+=++a&&++c>b
后 a、b、c 的值分别为() [单选题] *
A. 6,7,6
B. 6,6,6(正确答案)
C. 6,6,5
D. 6,1,6
22. 有四个人要从 A点坐一条船过河到 B 点,船开始在 A 点,该船一次最多可坐
两个人,己知这四个人中每个人独自坐船的过河时间分别为 1, 2, 4, 8, 且两个人坐
船的过河时间为两人独自过河时间的较大者。则最短()时间可以让四个人都过河
到 B 点(包括从 B 点把船开回 A 点的时间)。 [单选题] *
A. 14
B. 15(正确答案)
C. 16
D. 17
23. 下列 C++代码执行之后输出的结果是()。
[单选题] *
A 4(正确答案)
B 5
C 6
D 7
24. 关于 C++函数,以下说法正确的是() [单选题] *
A 函数不可以没有返回值
B 函数不可以没有参数
C 调用函数时的填写的参数必须和函数声明时的变量名一致
D 有的时候调用函数时函数参数可以少于声明时的参数个数(正确答案)
25. 以下哪种排序的时间复杂度是不稳定的()。 [单选题] *
A 快速排序(正确答案)
B 归并排序
C 冒泡排序
D基数排序
26. 运行下方程序,输出结果为()
[单选题] *
A 10.0
B 18
C 30(正确答案)
D 30.0
27. 有一个由 1000 个整数构成的顺序表,假定表中的元素已经按升序排列,采用二
分 查找定位一个元素。则最多需要几次比较就能确定是否存在所查找的元素()
[单选题] *
A 10次(正确答案)
B 11次
C 12次
D 13次
28. 下列 C++代码执行之后输出的结果是()。
[单选题] *
A 38
B 40
C 0(正确答案)
D 程序有错误,无法输出
29. 在下列代码横线处埴写(),可以将输入的单词的大写字母全部变小写。
[单选题] *
A word[i]-'a'+'A;
B word[i]-='A'+'a';
C word[i]+='A'-'a';
D word[i]+='a'-'A';(正确答案)
30.
1、C++中的 const 关键字可以用来定义常量,其值在程序运行期间能被修改。
[判断题] *
正确
错误(正确答案)
31. 图灵机只是一个理论上的计算模型() [单选题] *
正确(正确答案)
错误
32. 编译器将高级语言程序转变为机器语言(也称作目标代码)。() [单选题] *
正确(正确答案)
错误
33. 在 C++中类型不同不能进行运算,比如'1'+1的运算。() [单选题] *
正确
错误(正确答案)
34. 使用 sqrt函数,需要先恰当的引入头文件。() [单选题] *
正确(正确答案)
错误
35. while 语句的循环体至少会执行一次。() [单选题] *
正确
错误(正确答案)
36. 表达式(3 &&0)||(0 && -1)的结果为假。() [单选题] *
正确(正确答案)
错误
37. 字符' 0'的 ASCII码为 48 ,则字符'5'的 ASCIT码为 39。() [单选题] *
正确
错误(正确答案)
38. 只要 while循环语句中的条件表达式一直成立,循环就一定会永远执行下去。()
[单选题] *
正确
错误(正确答案)
39. 条件"a+b>c&&b+c>a&&c+a>b"可以正确判断"a,b,c三条边可以构成 三角形"()
[单选题] *
正确(正确答案)
错误
40. 第 7 题 C++表达式 ('1'+'1'=='2'? flag=1:flag=2) 的结果值和表达式 (flag==2) 的相
同。( ) [判断题] *
对
错(正确答案)