GESP C++一级试卷(样卷)

GESP C++一级试卷(202303)

(满分:100 分 考试时间:90 分钟)

学校:   姓名:  

一、单选题(每题 2 分,共 30 分)

1、以下不属于计算机输入设备的有( )。

A. 键盘 B. 音箱
C. 鼠标 D. 传感器

 

2、计算机系统中存储的基本单位用 B 来表示,它代表的是?( )

A. Byte B. Block
C. Bulk D. Bit

 

3、常量 7.0 的数据类型是?( )

A.  double B.  float 
C.  void D.   int

 

4、下列关于 C++语言的叙述,不正确的是?(  )

A. 变量定义时可以不初始化 B. 变量被赋值之后的类型不变
C. 变量没有定义也能够使用 D. 变量名必须是合法的标识符


5、以下不可以作为 C++标识符的是?(  )

A. x321 B. 0x321
C. x321_ D. _x321

 

6、以下哪个不是 C++语言的关键字?(  )

A. int B. for
C. do D. cout

 

7、如果 a、b 和 c 都是 int 类型的变量,下列哪个语句不符合 C++语法?(  )

A.  c = a + b; B.  c += a + b;
C. c = a = b; D. c = a ++ b;

 

8、如果用两个 int 类型的变量 a 和 b 分别表达长方形的长和宽,则下列哪个表 达式不能用来计算长方形的周长?( )

 

A. a + b * 2 B. 2 * a + 2 * b 
C. a + b + a + b  D. b + a * 2 + b 

 

9、表达式((3 == 0) + 'A' + 1 + 3.0)的结果类型为?( )

A. double B. int
C. char D. bool


10、 如果 a 为 int 类型的变量,且 a 的值为 6,则执行 a *= 3;之后,a 的值会 是?( )

A. 3 B. 6
C. 9 D. 18

 

11、 如果 a 和 b 均为 int 类型的变量,下列表达式不能正确判断“a 等于 0 且 b 等于 0”的是?( )

A.  (a == 0) && (b == 0)  B.  (a == b == 0)
C.  (!a) && (!b)  D.  (a == 0) + (b == 0) == 2 

 

12、 如果 a 为 int 类型的变量,下列哪个表达式可以正确求出满足“大于等于 a 且是 4 的倍数”的整数中最小的??( )

A. a * 4  B. a / 4 * 4 
C.  (a + 3) / 4 * 4  D.  a - a % 4 + 4 

 

13、  在下列代码的横线处填写(),可以使得输出是“20 10”。( )

A. a + b B.  (a + b) * 100 
C.  b * 100 + a  D.  a * 100 + b 

 

14、 在下列代码的横线处填写(),可以使得输出是“1248”。( )

A. i++ B. i *= 2
C. i += 2 D. i * 2

 

15、 执行以下 C++语言程序后,输出结果是?( )

A. 210 B. 113
C. 98 D. 15

 

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

1、在 Windows 系统中通过键盘完成对选定文本移动的按键组合是先 Ctrl+X, 移动到目标位置后按 Ctrl+V。 (  )

2、程序员用 C、C++、Python、Scratch 等编写的程序能在 CPU 上直接执行。 (  )

3、在 C++语言中,注释不宜写得过多,否则会使得程序运行速度变慢。 (  )

4、在 C++语言中,标识符中可以有数字,但不能以数字开头。 (  )

5、'3'是一个 int 类型常量。 (  )

6、if 语句中的条件表达式的结果必须为 bool 类型。 (  )

7、for 语句的循环体至少会执行一次。 (  )

8、如果 a 为 int 类型的变量,则赋值语句 a = a + 3;是错误的,因为这条语句会导致 a 无意义。 (  )

9、如果 a 为 int 类型的变量,则表达式(a / 4 == 2)和表达式(a >= 8 && a <= 11)的结果总是相同的。 (  )

10、表达式(3.5 * 2)的计算结果为 7.0,且结果类型为 double。 (  )


三、编程题(每题 25 分,共 50 分)

1、每月天数

【问题描述】

  小明刚刚学习了每月有多少天,以及如何判断平年和闰年,想到可以使用编 程方法求出给定的月份有多少天。你能做到吗?

【输入描述】 输入一行,包含两个整数,分别表示一个日期的年、月。

【输出描述】 输出一行,包含一个整数,表示输入月份有多少天。

【样例输入 1】 2022 1

【样例输出 1】 31

【样例输入 2】 2020 2

【样例输出 2】 29

 

 



 
2、长方形面积

【问题描述】

  小明刚刚学习了如何计算长方形面积。他发现,如果一个长方形的长和宽都 是整数,它的面积一定也是整数。现在,小明想知道如果给定长方形的面积,有 多少种可能的长方形,满足长和宽都是整数? 如果两个长方形的长相等、宽也相等,则认为是同一种长方形。约定长方形 的长大于等于宽。正方形是长方形的特例,即长方形的长和宽可以相等。

【输入描述】 输入一行,包含一个整数𝐴,表示长方形的面积。约定2 ≤ 𝐴 ≤ 1000。

【输出描述】 输出一行,包含一个整数𝐶,表示有𝐶种可能的长方形。

【样例输入 1】 4

【样例输出 1】 2

【样例解释 1】 2 种长方形面积为 4,它们的长宽分别为2 × 2、4 × 1。

【样例输入 2】 6

【样例输出 2】 2

【样例解释 2】 2 种长方形面积为 6,它们的长宽分别为3 × 2、6 × 1。



 

 

 

点击查看答案
一、选择题(每题3分,共30分)
题号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
答案 B A A C B D D A A D B C D B C
二、判断题(每题 4 分,共 20 分)
题号 1 2 3 4 5 6 7 8 9 10
答案 × × × × × ×
三、编程题(每题 25 分,共 50 分)
题号 1 2
答案
#include <iostream>
using namespace std;
int main() {
 int y = 0, m = 0;
 cin >> y >> m;
 bool leap = false; // 判断闰年
 if (y % 400 == 0)
 	leap = true;
 if (y % 4 == 0 && y % 100 != 0)
 	leap = true;
 if (m ==1 || m==3 || m==5 || m==7 || m==8 || m==10 || m==12)
 	cout << 31 << endl; // 大月
 else if (m == 4 || m == 6 || m == 9 || m == 11)
 	cout << 30 << endl; // 小月
 else if (leap)
 	cout << 29 << endl; // 闰年 2 月
 else
 	cout << 28 << endl; // 平年 2 月
 return 0;
}
#include <iostream>
using namespace std;
int main() {
 int area = 0, cnt = 0;
 cin >> area;
 for (int w = 1; w * w <= area; w++) {
 if (area % w == 0)
 cnt++;
 }
 cout << cnt << endl;
 return 0;
}

 

posted @ 2023-08-24 09:22  WangZhaowei  阅读(660)  评论(0)    收藏  举报