2023年3月GESP C++ 一级真题 一、单选题(每题 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 A。 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"。 #include <iostream> using namespace std; int main() { int a=10,b=20; a=_________________________; // 在此处填写代码 b=a/100; a=a%100; cout<<a<<" "<<b<<endl; return 0; } A. a + b B. (a + b) * 100 C. b * 100 + a D. a * 100 + b
14. 在下列代码的横线处填写(),可以使得输出是"1248"。 #include <iostream> using namespace std; int main() { for(int i=1;i<=8;____________) // 在此处填写代码 cout<<i; return 0; } A. i++ B. i *= 2 C. i += 2 D. i * 2
15. 执行以下 C++语言程序后,输出结果是()。 #include <iostream> using namespace std; int main() { int sum = 0; for(int i=1; i<=20; i++) if(i%3==0||i%5==0) sum+=i; cout<<sum<<endl; return 0; } A. 210 B. 113 C. 98 D. 15
二、判断题(每题 2 分,共 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≤A≤1000。 【输出描述】 输出一行,包含一个整数,表示有种可能的长方形。 【样例输入 1】 4 【样例输出 1】 2 【样例解释 1】 2 种长方形面积为 4,它们的长宽分别为 2 x 2,4 x 1。 【样例输入 2】 6 【样例输出 2】 2 【样例解释 2】 2 种长方形面积为 6,它们的长宽分别为 3×2,6×1。 (责任编辑:lizq) |