CCF-GESP 等級考試 2023年3月認證C++一級真題解析

2024年03月真題

一、單選題(每題2分,共30分)

第 1 題 以下不屬于計算機輸入設備的有( )。

  • A. 鍵盤
  • B. 音箱
  • C. 鼠標
  • D. 傳感器

正確答案:B. 音箱

解析:

  • A. 鍵盤:鍵盤是輸入設備。
  • B. 音箱:音箱是輸出設備,不是輸入設備。
  • C. 鼠標:鼠標是輸入設備。
  • D. 傳感器:傳感器是輸入設備。

第 2 題 計算機系統中存儲的基本單位用B來表示,它代表的是( )。

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

正確答案:A. Byte

解析:

  • A. Byte:Byte(字節)是計算機存儲的基本單位。
  • B. Block:塊,不是計算機存儲的基本單位。
  • C. Bulk:大宗,不是計算機存儲的基本單位。
  • D. Bit:比特,是更小的存儲單位,不是B表示的單位。

第 3 題 常量7.0的數據類型是( )。

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

正確答案:A. double

解析:

  • A. double:7.0 是一個雙精度浮點數(double)。
  • B. float:7.0 是double類型,而不是float類型。
  • C. void:void表示無類型,7.0不是void類型。
  • D. int:7.0 不是整數類型。

第 4 題 下列關于C++語言的敘述,不正確的是( )。

  • A. 變量定義時可以不初始化
  • B. 變量被賦值之后的類型不變
  • C. 變量沒有定義也能夠使用
  • D. 變量名必須是合法的標識符

正確答案:C. 變量沒有定義也能夠使用

解析:

  • A. 變量定義時可以不初始化:這在C++中是正確的。
  • B. 變量被賦值之后的類型不變:這在C++中是正確的。
  • C. 變量沒有定義也能夠使用:這是錯誤的,變量必須先定義才能使用。
  • D. 變量名必須是合法的標識符:這在C++中是正確的。

第 5 題 以下不可以作為C++標識符的是( )。

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

正確答案:B. 0x321

解析:

  • A. x321:合法的標識符。
  • B. 0x321:標識符不能以數字開頭,因此非法。
  • C. x321_:合法的標識符。
  • D. _x321:合法的標識符。

第 6 題 以下哪個不是C++語言的關鍵字?

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

正確答案:D. cout

解析:

  • A. int:C++關鍵字,用于聲明整數類型。
  • B. for:C++關鍵字,用于循環控制。
  • C. do:C++關鍵字,用于do-while循環。
  • D. cout:C++標準庫對象,不是關鍵字。

第 7 題 如果a、b和c都是int類型的變量,下列哪個語句不符合C++語法?

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

正確答案:D. c = a ++ b;

解析:

  • A. c = a + b;:符合語法,表示c等于a和b的和。
  • B. c += a + b;:符合語法,表示將a和b的和加到c上。
  • C. c = a = b;:符合語法,表示將b賦值給a,然后將a賦值給c。
  • 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

正確答案:A. a + b * 2

解析:

  • 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

正確答案:A. double

解析:

  • A. double:表達式的結果包含一個浮點數3.0,最終結果為double類型。
  • B. int:最終結果為double,而不是int。
  • C. char:最終結果為double,而不是char。
  • D. bool:最終結果為double,而不是bool。

第 10 題 如果a為int類型的變量,且a的值為6,則執行a *= 3;之后,a的值會是( )。

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

正確答案:D. 18

解析:

  • A. 3:錯誤,a的值不會變為3。
  • B. 6:錯誤,a的值不會保持不變。
  • C. 9:錯誤,a的值不會是9。
  • D. 18:正確,a *= 3等價于a = a * 3,因此a的值是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

正確答案:B. (a == 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

正確答案:C. (a + 3) / 4 * 4

解析:

  • A. a * 4:不正確,計算的是a的四倍。
  • B. a / 4 * 4:不正確,計算的是a四舍五入到最近的4的倍數。
  • C. (a + 3) / 4 * 4:正確,計算大于等于a且是4的倍數的最小值。
  • D. a - a % 4 + 4:不正確,計算的是下一個4的倍數,不一定大于等于a。

第 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

正確答案:D. a * 100 + b

解析:

  • A. a + b:不正確,a + b 的值是 30,不符合題意。
  • B. (a + b) * 100:不正確,(a + b) * 100 的值是 3000,不符合題意。
  • C. b * 100 + a:不正確,b * 100 + a 的值是 2010,不符合題意。
  • D. a * 100 + b:正確,a * 100 + b 的值是 1020,當 b = a / 100 時,b 的值是 10,當 a = a % 100 時,a 的值是 20,符合題意。

第 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

正確答案:B. i *= 2

解析:

  • A. i++:不正確,i++的值是1到8,不符合題意。
  • *B. i = 2:正確,i *= 2的值是1, 2, 4, 8,符合題意。
  • C. i += 2:不正確,i += 2的值是1, 3, 5, 7,不符合題意。
  • D. i * 2:不正確,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

正確答案:C. 98

解析:

  • A. 210:不正確,210是1到20之間能被3或5整除的數(3, 5, 6, 9, 10, 12, 15, 18, 20)的和,但題目中只加和20以內的數。
  • B. 113:不正確。
  • C. 98:正確,程序對能被3或5整除的數(3, 5, 6, 9, 10, 12, 15, 18)的和進行累加,結果為98。
  • D. 15:不正確,15不是正確的和。

2 判斷題

第 1 題 在Windows 系統中通過鍵盤完成對選定文本移動的按鍵組合是先Ctrl+X,移動到目標位置后按Ctrl+V。( √ )

解析:

  • 這個描述是正確的。在Windows系統中,Ctrl+X用于剪切選定的文本,然后Ctrl+V用于在目標位置粘貼該文本。

第 2 題 程序員用C、C++、Python、Scratch等編寫的程序能在 CPU 上直接執行。( × )

解析:

  • 程序員編寫的代碼需要經過編譯或解釋才能在CPU上執行。C和C++程序需要編譯,Python和Scratch程序需要解釋。

第 3 題 在C++語言中,注釋不宜寫得過多,否則會使得程序運行速度變慢。( × )

解析:

  • 注釋在編譯過程中會被忽略,不影響程序的運行速度。注釋的作用是幫助程序員理解代碼。

第 4 題 在C++語言中,標識符中可以有數字,但不能以數字開頭。( √ )

解析:

  • 在C++中,標識符可以包含字母、數字和下劃線,但不能以數字開頭。

第 5 題 '3’是一個int類型常量。( × )

解析:

  • '3’是一個字符常量,其類型是char,而不是int。

第 6 題 if 語句中的條件表達式的結果必須為bool類型。( × )

解析:

  • 在C++中,if語句中的條件表達式結果不一定必須是bool類型。C++會將條件表達式的結果隱式轉換為bool類型,任何非零值都被視為true,零值被視為false。

第 7 題 for 語句的循環體至少會執行一次。( × )

解析:

  • 這是錯誤的。for語句的循環體可能一次也不執行,這取決于初始條件是否滿足。

第 8 題 如果a為int類型的變量,則賦值語句a = a + 3;是錯誤的,因為這條語句會導致a無意義。( × )

解析:

  • 這是錯誤的。賦值語句a = a + 3是合法的,表示將a的當前值增加3。

第 9 題 如果a為int類型的變量,則表達式(a / 4 == 2)和表達式(a >= 8 && a <= 11)的結果總是相同的。( √ )

解析:

  • a / 4 == 2:表示 a 除以 4 的結果等于 2,這只有當 a 為 8、9、10 或 11 時才為真。
  • a >= 8 && a <= 11:表示 a 的值在 8 到 11 之間,包括 8 和 11。
  • 因此,這兩個表達式的結果總是相同的。

第 10 題 表達式(3.5 * 2)的計算結果為7.0,且結果類型為double。( √ )

解析:

  • 這個描述是正確的。3.5和2都是浮點數,相乘結果為7.0,結果類型為double。

3 編程題

3.1 編程題1

題目名稱:每月天數
題面描述

小明剛剛學習了每月有多少天,以及如何判斷平年和閏年,想到可以使用編程方法求出給定的月份有多少天。你能做到嗎?

輸入格式

輸入一行,包含兩個整數,分別表示一個日期的年、月。

輸出格式

輸出一行,包含一個整數,表示輸入月份有多少天。

樣例

輸入

2022 1

輸出

31

輸入

2020 2

輸出

29

參考程序:

#include <iostream> // 引入標準輸入輸出庫
using namespace std;int main() {int y = 0, m = 0; // 定義年和月的變量并初始化cin >> y >> m; // 讀取輸入的年和月bool leap = false; // 定義一個布爾變量用于判斷是否為閏年if (y % 400 == 0) // 判斷是否為閏年,能被400整除的是閏年leap = true;if (y % 4 == 0 && y % 100 != 0) // 判斷是否為閏年,能被4整除但不能被100整除的是閏年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) // 判斷是否為閏年的2月cout << 29 << endl; // 輸出閏年2月的天數else // 平年的2月cout << 28 << endl; // 輸出平年2月的天數return 0; // 程序結束
}

解釋:
這個程序首先讀取輸入的年份和月份。然后通過一系列條件判斷確定該月份的天數。如果年份是閏年且月份是2月,則該月有29天;如果不是閏年的2月,則該月有28天。對于大月和小月,通過月份的判斷直接輸出對應的天數。

3.2 編程題2

題目名稱:長方形面積
題面描述

小明剛剛學習了如何計算長方形面積。他發現,如果一個長方形的長和寬都是整數,它的面積一定也是整數。現在,小明想知道如果給定長方形的面積,有多少種可能的長方形,滿足長和寬都是整數?

如果兩個長方形的長相等、寬也相等,則認為是同一種長方形。約定長方形的長大于等于寬。正方形是長方形的特例,即長方形的長和寬可以相等。

輸入格式

輸入一行,包含一個整數 ( A ),表示長方形的面積。約定 ( 2 ≤ A ≤1000 )。

輸出格式

輸出一行,包含一個整數 ( C ),表示有 ( C ) 種可能的長方形。

樣例

輸入

4

輸出

2

輸入

6

輸出

2

參考程序:

#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++; // 如果能整除,計數器加1}cout << cnt << endl; // 輸出計數器的值return 0; // 程序結束
}

解釋:
這個程序讀取長方形的面積,然后通過遍歷所有可能的寬度,判斷是否可以整除面積來確定長方形的寬度。對于每一個可能的寬度,如果面積能被寬度整除,就增加計數器。最終輸出計數器的值,即滿足條件的長方形數量。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/15957.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/15957.shtml
英文地址,請注明出處:http://en.pswp.cn/web/15957.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

第六節:帶你全面理解vue3 淺層響應式API: shallowRef, shallowReactive, shallowReadonly

前言 前面兩章,給大家講解了vue3中ref, reactive,readonly創建響應式數據的API, 以及常用的計算屬性computed, 偵聽器watch,watchEffect的使用 其中reactive, ref, readonly創建的響應式數據都是深層響應. 而本章主要給大家講解以上三個API 對應的創建淺層響應式數據的 API,…

Java面試題:Executor框架在Java并發編程中扮演什么角色?如何使用它?

在Java并發編程中&#xff0c;Executor框架扮演著核心角色&#xff0c;它提供了一種高級的、線程安全的機制來異步執行任務。Executor框架的主要目的是將任務的提交與任務的執行分離&#xff0c;從而簡化了多線程編程的復雜性。 Executor框架的角色&#xff1a; 任務與線程分離…

持續總結中!2024年面試必問 20 道 Redis面試題(八)

上一篇地址&#xff1a;持續總結中&#xff01;2024年面試必問 20 道 Redis面試題&#xff08;七&#xff09;-CSDN博客 十五、使用過Redis做異步隊列么&#xff0c;你是怎么用的&#xff1f; Redis作為一個高性能的鍵值存儲系統&#xff0c;非常適合用來實現異步隊列。異步隊…

【STM32單片機】----實現LED燈閃爍實戰

&#x1f3a9; 歡迎來到技術探索的奇幻世界&#x1f468;?&#x1f4bb; &#x1f4dc; 個人主頁&#xff1a;一倫明悅-CSDN博客 ?&#x1f3fb; 作者簡介&#xff1a; C軟件開發、Python機器學習愛好者 &#x1f5e3;? 互動與支持&#xff1a;&#x1f4ac;評論 &…

【機器學習-23】關聯規則(Apriori)算法:介紹、應用與實現

在現代數據分析中&#xff0c;經常需要從大規模數據集中挖掘有用的信息。關聯規則挖掘是一種強大的技術&#xff0c;可以揭示數據中的隱藏關系和規律。本文將介紹如何使用Python進行關聯規則挖掘&#xff0c;以幫助您發現數據中的有趣模式。 一、引言 1. 簡要介紹關聯規則學習…

[處理器芯片]-5 超標量CPU實現之ALU

ALU&#xff08;Arithmetic Logic Unit&#xff0c;算術邏輯單元&#xff09;&#xff0c;是CPU執行單元中最主要的組成部分。 1 主要功能 算術運算&#xff1a;執行加法、減法、乘法和除法等算術運算。 邏輯運算&#xff1a;執行與、或、非、異或等邏輯運算。 移位運算&am…

動態路由實驗—OSPF

動態路由協議實驗-------OSPF 鏈路狀態路由選擇協議又被稱為最短路徑優先協議&#xff0c;它基SPF&#xff08;shortest path first &#xff09;算法 實驗要求&#xff1a;各個PC之間能夠互通 1.四臺PC配置如下 PC1 PC2 PC3 PC4 2.配置各個交換機的口子的IP R1 <HUAWE…

Room注解無效原因

在Android項目中&#xff0c;如果父模塊使用Kotlin&#xff0c;而子模塊用Java編寫&#xff0c;并且在子模塊中使用了Room庫&#xff0c;那么你會發現需要使用kapt而不是annotationProcessor來處理Room注解。這里有幾個原因和背景知識&#xff1a; 1. 項目配置的影響 父模塊的…

spiderfoot一鍵掃描IP信息(KALI工具系列九)

目錄 1、KALI LINUX簡介 2、spiderfoot工具簡介 3、在KALI中使用spiderfoot 3.1 目標主機IP&#xff08;win&#xff09; 3.2 KALI的IP 4、命令示例 4.1 web訪問 4.2 掃描并進行DNS解析 4.3 全面掃描 5、總結 1、KALI LINUX簡介 Kali Linux 是一個功能強大、多才多…

YOLOv8+PyQt:實時檢測(攝像頭、視頻)

1.YOLO&#xff1a;CPU實時檢測&#xff08;攝像頭、視頻&#xff09;https://blog.csdn.net/qq_45445740/article/details/106557451 2.YOLOv8PyQt&#xff0c;實現攝像頭或視頻的實時檢測 需要安裝 PySide6 和 ultralytics pip install PySide6 pip install ultralyticsfr…

基于docxtpl的模板生成Word

docxtpl是一個用于生成Microsoft Word文檔的模板引擎庫。它結合了docx模塊和Jinja2模板引擎&#xff0c;使用戶能夠使用Microsoft Word模板文件并在其中填充動態數據。這個庫提供了一種方便的方式來生成個性化的Word文檔&#xff0c;并支持條件語句、循環語句和變量等控制結構&…

如何在 Elasticsearch 中選擇精確 kNN 搜索和近似 kNN 搜索

作者&#xff1a;來自 Elastic Carlos Delgado kNN 是什么&#xff1f; 語義搜索&#xff08;semantic search&#xff09;是相關性排名的強大工具。 它使你不僅可以使用關鍵字&#xff0c;還可以考慮文檔和查詢的實際含義。 語義搜索基于向量搜索&#xff08;vector search&…

Angular Ivy:新渲染引擎的性能提升與優化

Angular Ivy是Angular 9及更高版本中引入的默認渲染引擎&#xff0c;它取代了以前的View Engine。Ivy的目標是提高Angular的性能、減少包大小和提高開發者的生產力。 1. AOT編譯的改進&#xff1a; 在Ivy中&#xff0c;Angular使用了更早的AOT&#xff08;Ahead-of-Time&…

在AnolisOS8.9系統安裝docker-compose

在AnolisOS8.9系統安裝docker-compose 下載docker-compose之前請先確保docker已經安裝完&#xff0c;教程可以參考 在阿里Anolis OS 8.9龍蜥操作系統安裝docker 下載最新版的docker-compose文件 sudo curl -L https://github.com/docker/compose/releases/download/v2.21.0…

大數據工具之HIVE-參數調優,調度亂碼(二)

一、調度亂碼 在利用HUE工具,搭建WORKFLOW流程的過程中,如果直接執行hivesql數據正常,不會出現亂碼現象,如果利用WORKFLOW搭建的流程,進行數據的拉取,會出現數據中文亂碼現象,這些亂碼主要是由于select 中的硬編碼中文導致出現的現象 具體現象如下: select case when …

百度 提前批 國際化廣告部 (深圳-機器學習/數據挖掘/自然語言處理工程師) 一面+二面面經

文章目錄 0、面試情況1、一面1.1、簡歷上的項目介紹了個遍1.2、dbscan原理1.3、為什么梯度的負方向就是損失函數下降最快的方向&#xff1f;1.4、bn原理&#xff0c;為什么bn能解決過擬合&#xff0c;1.5、auc原理&#xff0c;為什么ctr或你的廣告推薦里用auc指標&#xff1f;1…

TG5032CGN TCXO 超高穩定10pin端子型適用于汽車動力轉向控制器

TG5032CGN TCXO / VC-TCXO是一款應用廣泛的晶振&#xff0c;具有超高穩定性&#xff0c;CMOS輸出和使用晶體基振的削波正弦波輸出形式。且有低相位噪聲優勢&#xff0c;是溫補晶體振蕩器(TCXO)和壓控晶體振蕩器(VCXO)結合的產物&#xff0c;具有TCXO和VCXO的共同優點&#xff0…

后臺接口返回void但是response有設置合適的相關信息,前端調用接口解析Blob數據下載excel文件

1、pom.xml文件增加依賴&#xff1a; <dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId></dependency> 2、接口代碼如下&#xff1a; /*** 企業列表--導出*/GetMapping(value "/downloadTenantL…

微信小程序上線必備:SSL證書申請以及安裝

一、認識ssl證書 1、ssl證書是什么&#xff1f; SSL證書&#xff0c;全稱Secure Socket Layer Certificate&#xff0c;是一種數字證書&#xff0c;它遵循SSL&#xff08;現在通常指TLS&#xff0c;Transport Layer Security&#xff09;協議標準&#xff0c;用于在客戶端&…

SpringCloud系列(26)--OpenFeign超時控制

前言&#xff1a;在上一章節中我們簡單的介紹了如何使用OprnFeign去調用微服務&#xff0c;因為消費側和服務側是兩個不同的微服務&#xff0c;這樣可能會出現超時的現象&#xff0c;例如服務側需要3秒處理任何才能返回結果&#xff0c;但消費側可能2秒就斷開連接了&#xff0c…