1
单选题(每题
2
分,共
30
分)
第
1
题
以下
C++
不可以作为变量的名称的是
( )
。
A.
CCF GESP
B.
ccfGESP
C.
CCFgesp
D.
CCF_GESP
【答案】 A
解析:变量名命名规则:由字母、数字和下划线组成,首字符不能是数字
第
2
题
C++
表达式
10 - 3 * (2 + 1) % 10
的值是
( )
。
A.
0
B.
1
C.
2
D.
3
【答案】 B
解析:运算符的优先级
第
3
题
假设现在是上午十点,求出
N
小时(正整数)后是第几天几时,如输入
20
小时则为第
2
天
6
点,如
N
输入
4则为 今天
14
点。为实现相应功能,应在横线处填写代码是
( )
。

A.
(10 + N) % 24
,
(10 + N) / 24
B.
(10 + N) / 24
,
(10 + N) % 24
C.
N % 24
,
N / 24
D.
10 / 24
,
10 % 24
【答案】 B
10+N如果大于24,则超出了当天,如果小于等于24则为当天,(10+N)/24==0则肯定是今天,否则天数为(10+N)/24+1天。时间则为不足24小时的部分,(10 + N) % 24
第
4
题
下面的程序用于判断
N是否为偶数,横线处应填写代码是( )。

A.
N % 2 == 0
B.
N % 2 = 0
C.
N % 2
D.
N % 2 != 0
【答案】 A
第
5
题
下面对
C++
代码执行后输出的描述,正确的是(
)。

A.
如果输⼊的
N
是
⼩于
等于
2
整数,第
5
⾏将输出
0
。
B.
如果输⼊的
N
是⼤于等于
2
整数,第
5
⾏将输出
N-1
。
C.
如果输⼊的
N
是⼤于等于
2
整数,第
5
⾏将输出
N
。
D.
以上说法均不正确。
【答案】 B
解析:计算循环次数
第
6
题
下面
C++
代码执行后的输出是(
)。

A.
10
B.
9
C.
3
D.
1
【答案】 C
第
7
题
下面
C++
代码执行后的输出是(
)。

A.
90
B.
44
C.
20
D.
10
【答案】 A
第
8
题
下面
C++
代码执行后的输出是( )。

A.
11
B.
10
C.
5
D.
4
【答案】 C
第
9
题
下面
C++
代码用于判断一个数是否为质数(素数),在横线处应填入代码是( )。

A.
cnt = 1
B.
cnt = 2
C.
cnt =+ 1
D.
cnt += 1
【答案】D
第
10
题
对下面的代码,描述正确的是( )

A.
输出
2 6 3 5 4 8 1 0 9 10 10
B.
输出
2 6 3 5 4 8 1 0 9 9
C.
输出
2 6 3 5 4 8 1 0 9 10
D.
提示有编译错误
【答案】 D
数组定义是必须声明长度
第
11
题
执行下面
C++
代码后输出是( )。

A.
3
B.
21
C.
27
D.
49
【答案】 B
第
12
题
定义变量
char c
,下面对
c
赋值的语句,不符合语法的是( )
。
A.
c = (char)66;
B.
c = (char)(66);
C.
c = char(66);
D.
c = char 66;
【答案】 D
c = (char)66;
和 c = (char)(66);
是C语言语法,c = char(66)是C++语法。
第
13
题
下图所示
C++
代码对大写字母
'A'
到
'Z'
分组,对每个字母输出所属的组号,那么输入
'C' 时将输出的组 号是?
( )

A.
3
B.
3 5
C.
3 5 9
D.
以上都不对
【答案】 B
第
14
题
某公司新出了一款无人驾驶的小汽车,通过声控智能驾驶系统,乘客只要告诉汽车目的地,车子就能自动
选择一条优化路线,告诉乘客后驶达那里。请问下面哪项不是驾驶系统完成选路所必须的。( )
A.
麦克风
B.
扬声器
C.
油量表
D.
传感器
【答案】 C
第
15
题
现代计算机是指电子计算机,它所基于的是( )体系结构。
A.
艾伦
·
图灵
B.
冯
·
诺依曼
C.
阿塔纳索夫
D.
埃克特
-
莫克利
【答案】 B
2
判断题(每题
2
分,共
20
分)
第
1
题
C++
表达式
int(3.14)
的值为
3
。
( )
【答案】 T
第
2
题
C++
语句
cout << (2 * 3, 3 % 10, 2+3)
的输出为
6,3,5
。 ( )
【答案】 F
第
3
题
for(int i = 1; i < 10; i += 3;) ;
表示
i
从
1
开始到
10
结束间隔为
3
,相当于
1
、
4
、
7
、
10
。( )
【答案】 F
第
4
题
C++
表达式
010+100+001
的值为
111
。( )
【答案】 F
0b或者0B开头的是二进制,以0开头的是8进制,以0x或0X开头的是16进制,以非0开头的是十进制,所以本题是两个8进制数 010+001=9,再加上一个十进制100,结果是109。
第
5
题
if
语句中的条件表达式的结果可以为
int
类型。
【答案】 T
第
6
题
在下面的
C++
代码
while(1) continue;
中,由于循环中的
continue 是无条件被执行,因此将导致死循 环。( )
【答案】 T
while(1)是一个死循环,continue语句会跳过循环体,进入下一次循环,由于continue是无条件被执行,因此会导致无限循环。
第
7
题
C++
表达式
('1'+'1'=='2'? flag=1:flag=2)
的结果值和表达式
(flag==2)
的相同。( )
【答案】 F
三目运算符的结果是赋值语句flag=2,赋值语句的值就是所赋之值,所以为2。
关系运算符flag==2的结果要么是1要么是0,二者和2都不相同。
第
8
题
在
C++
的程序中,不能用
scanf
作为变量名。( )
【答案】 F
第
9
题
小杨最近在准备考
GESP
,他用的
Dev C++
来练习和运行程序,所以
Dev C++
也是一个小型操作系统。( )
【答案】 F
第
10
题
任何一个
while
循环都可以转化为等价的
for
循环( )。
【答案】 T
3
编程题(每题
25
分,共
50
分)
编程题
1
试题名称
:小杨的考试
时间限制
:
1.0 s
内存限制
:
128.0 MB
问题描述
今天是星期 ,小杨还有 天就要考试了,你能推算出小杨考试那天是星期几吗?(本题中使用 表示星期日)
输入描述
输入 2 行,第一行一个整数 (1<=X<=7);第二行一个整数 (1<=N<=364)。
输出描述
输出一个整数,表示小杨考试那天是星期几。
特别提醒
在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任 何提示信息。
样例输入
1
1
6
样例输出
1
7
样例解释
1
今天是星期
1
,那么
6
天后就是星期日,星期日在本题中用 表示。
样例输入
2
5
3
样例输出
2
1
样例解释
2
今天是星期
5
,那么
3
天后就是星期
1
。
参考程序
周期性问题,对周期长度取余数即可,注意余数为0时,输出的结果应该是7而不是0
#include <iostream>
using namespace std;
int main(){
int x, n,ans=0;
cin>>x>>n;
ans=(x+n)%7;
//特判:当余数为0的时候表示星期天,输出7
if(ans==0) cout<<7;
else cout<<ans;
return 0;
}
编程题
2
试题名称
:小杨报数
时间限制
:
1.0 s
内存限制
:
128.0 MB
问题描述
小杨需要从 1到N报数。在报数过程中,小杨希望跳过M的倍数。例如,如果N=5,M=2,那么小杨就需要 依次报出 1、3 、5 。 现在,请你依次输出小杨报的数。
输入描述
输入 2 行,第一行一个整数 (1<=N<=1000 );第二行一个整数 ( 2<=M<=100)。
输出描述
输出若干行,依次表示小杨报的数。
特别提醒
在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任 何提示信息。
样例输入
1
5
2
样例输出1
1
3
5
样例输入
2
10
3
样例输出
2
1
2
4
5
7
8
10
参考程序:
循环+判断
#include <iostream>
using namespace std;
int main(){
int n, m;
cin>>n>>m;
for(int i=1; i<=n; i++){
if(i%m!=0) cout<<i<<endl;
}
return 0;
}