Κοινή χρήση τεχνολογίας

Ιούνιος 2024 CCF-GESP Δυνατότητα Προγραμματισμού Επίπεδο Πιστοποίηση Προγραμματισμού Επίπεδο 3 Ανάλυση πραγματικών ερωτήσεων εξετάσεων

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Αυτό το άρθρο περιλαμβάνεται στη στήλη "Ανάλυση πραγματικών ερωτήσεων για πιστοποίηση επιπέδου C++ CCF-GESP》, γενικός κατάλογος στηλών:Κάντε κλικ ΕΔΩ . Αφού εγγραφείτε, μπορείτε να διαβάσετε όλα τα άρθρα στη στήλη.

1. Ερωτήσεις πολλαπλής επιλογής (2 βαθμοί έκαστη, 30 βαθμοί συνολικά)

ερώτηση 1

Οι γονείς του Xiao Yang τον πήγαν σε ένα εκπαιδευτικό ίδρυμα για να τον εγγράψουν στο Επίπεδο 1 της εξέτασης πιστοποίησης GESP που διοργανώθηκε από το CCF. Στη συνέχεια, υπάρχουν () γλώσσες πιστοποίησης που μπορεί να επιλέξει.
Α'1
Β. 2
Γ. 3
Δ. 4

Απάντηση: Γ

Ερώτηση 2

Στο παρακάτω διάγραμμα ροής, όταν το έτος έχει εισαχθεί ως 2024, μπορεί να προσδιοριστεί ότι το έτος αντιπροσωπεύει ένα δίσεκτο έτος και ότι ο Φεβρουάριος έχει 29 ημέρες. Στη συνέχεια θα πρέπει να συμπληρωθεί το διαμαντένιο πλαίσιο στο σχήμα ( ).
Εισαγάγετε την περιγραφή της εικόνας εδώ

Α. (yr%400==0) || (yr%4==0)
B. (yr%400==0) || (yr%4==0 && yr%100!=0)
Γ. (yr%400==0) && (yr%4==0)
Δ. (yr%400==0) && (yr%4==0 && yr%100!=0)

Απάντηση: Β

Ερώτηση 3

Γενικά, από προεπιλογή, οι ακέραιες μεταβλητές (int) στα συστήματα υπολογιστών 64-bit εξακολουθούν να είναι 32-bit, επομένως το εύρος δεδομένων που μπορούν να αντιπροσωπεύουν οι ακέραιοι αριθμοί είναι ().
ΕΝΑ. 0 0 0 ~ 2 32 2^{32} 232
ΣΙ. 0 0 0 ~ 2 64 2^{64} 264
ΝΤΟ. − 2 31 -2^{31} 231 ~ ( 2 31 ) − 1 (2^{31})-1 (231)1
ΡΕ. − 2 63 -2^{63} 263 ~ ( 2 63 ) − 1 (2^{63})-1 (263)1

Απάντηση: Γ

Ερώτηση 4

Ο παρακάτω κώδικας μετατρέπει το δεκαδικό σε οκταδικό και στη συνέχεια το ( ) θα πρέπει να συμπληρωθεί στην οριζόντια γραμμή.

#include <iostream>

using namespace std;

void decimal2octal(int decimal) {
	int oct_number[100];
	int i = 0;
	
	while (decimal > 0) {
		__________________________ //在此处填入代码
	}
	for (int j = i - 1; j >= 0; j--) {
		cout << oct_number[j];
	}
	cout << endl;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

A. oct_number[i] = δεκαδικός % 8; δεκαδικός /= 8;
B. oct_number[i] = δεκαδικός / 8; δεκαδικό %/= 8;
C. oct_number[i++] = δεκαδικός % 8; δεκαδικός /= 8;
D. oct_number[i++] = δεκαδικός / 8; δεκαδικό %= 8;

Απάντηση: Γ

Ερώτηση 5

Ο δεκαδικός αριθμός που αντιστοιχεί στον δυαδικό αριθμό 101.11 είναι ( ).
Α. 6.5
Β. 5.5
Γ. 5,75
Δ. 5,25

Απάντηση: Γ

Ερώτηση 6

Το αποτέλεσμα εξόδου του παρακάτω διαγράμματος ροής είναι ( ).
Εισαγάγετε την περιγραφή της εικόνας εδώ

Α. 5
Β. 10
Γ. 20
Δ. 30

Απάντηση: Β

Ερώτηση 7

Η έξοδος του παρακάτω κώδικα είναι ( ).

#include <iostream>
using namespace std;

int main() {
	int a = 12;
	int result = a >> 2;
	cout << result << endl;
	return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

Α. 12
Β. 6
Γ. 3
Δ. 1

Απάντηση: Γ

Ερώτηση 8

Η έξοδος του παρακάτω κώδικα είναι ( ).

#include <iostream>
using namespace std;

int main() {
	int a = 5;
	int b = 10;
	
	a = a ^ b;
	b = a ^ b;
	a = a ^ b;
	
	cout << "a = " << a << ", b = " << b << endl;
	return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

Α. α = 5, β = 10
Β. α = 5, β = 5
Γ. α = 10, β = 5
Δ. α = 10, β = 10

Απάντηση: Γ

Ερώτηση 9

Εάν η συμβολοσειρά ορίζεται ως char str[] = “GESP”;, τότε το μήκος του πίνακα χαρακτήρων str είναι ().
Α. 0
Β. 4
Γ. 5
Δ. 6

Απάντηση: Γ

Ερώτηση 10

Συμπληρώστε τις οριζόντιες γραμμές ( ) στον παρακάτω κώδικα για να κάνετε την έξοδο "7".

#include <iostream>
using namespace std;

int main() {
	int array[5] = {37524};
	
	int max = 0;
	for(int i=0; i<5; i++)
		if(______________) // 在此处填入代码
			max = array[i];
			
	cout << max << endl;
	return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

A. max &gt; πίνακας[i]
B. max &lt; πίνακας[i]
C. max = πίνακας[i]
Δ. Τίποτα από τα παραπάνω δεν είναι σωστό

Απάντηση: Β

Ερώτηση 11

Ο Xiao Yang κάνει μια μαθηματική ερώτηση Η ερώτηση απαιτεί την εύρεση ενός αριθμού από το 1 έως το 35 που να διαιρείται με το 7, δηλαδή, [7, 14, 21, 28, 35]. ( )

#include <iostream>
using namespace std;

int main() {
	int arr[35];
	int count = 0;
	for (int i = 1; i <= 35; i++) {
		if (i % 7 == 0)
			__________________________ // 在此处填入代码
	}
	for (int i = 0; i < count; i++)
		cout << arr[i] << endl;
	return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

A. arr[count++] = i;
B. arr[i] = count++;
C. arr[i] = καταμέτρηση;
D. arr[count] = count++;

Απάντηση: Α

Ερώτηση 12

Είναι γνωστό ότι η δεκαδική αναπαράσταση του χαρακτήρα «0» με κωδικοποίηση ASCII είναι 48. Μετά την εκτέλεση του ακόλουθου κώδικα C++, η έξοδος είναι ().

#include <iostream>
using namespace std;

int main() {
	string s = "0629";
	
	int n = s.length();
	int x = 0;
	for(int i = 0; i < n; i++)
		x += s[i];
		
	cout << x << endl;
	return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

Α. 17
Β. 158
Γ. 209
Δ. 316

Απάντηση: Γ

Ερώτηση 13

Η ομάδα μπάσκετ αγοριών δημοτικού σχολείου στρατολογεί νέα μέλη και τα μέλη που θα ενταχθούν στην ομάδα απαιτείται να έχουν ύψος πάνω από 135 cm (εκτός 135 cm). Αυτή τη φορά έχουν εγγραφεί 10 άτομα και τα ύψη τους είναι 125, 127, 136, 134, 137, 138, 126, 135, 140 και 145 αντίστοιχα. Συμπληρώστε τον παρακάτω κώδικα για να μάθετε πόσα νέα μέλη μπορεί να προσλάβει η ομάδα αυτή τη φορά; ( )

#include <iostream>
using namespace std;

int main() {
	int arr[10] = {125, 127, 136, 134, 137, 138, 126, 135, 140, 145};
	
	int count = 0;
	for(int i=0; i<10; i++)
		__________________________ // 在此处填入代码
	
	cout << count << endl;
	return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

A. count = arr[i]&gt;135; 1: 0;
B. count += arr[i]&gt;135; 1: 0;
C. count++;
Δ. Τίποτα από τα παραπάνω δεν είναι σωστό

Απάντηση: Β

Ερώτηση 14

Ποια είναι η δήλωση C++ που μπορεί να εμφανίσει σωστά Σχεδιάζουν ένα πάρτι για τα γενέθλια του φίλου τους παρακάτω; ( )
A. cout &lt;&lt; 'Σχεδιάζουν ένα πάρτι για τα γενέθλια του φίλου τους." &lt;&lt; endl;
B. cout &lt;&lt; "Σχεδιάζουν ένα πάρτι για τα γενέθλια του φίλου τους."&lt;&lt; endl;
C. cout &lt;&lt; 'Σχεδιάζουν ένα πάρτι για τα γενέθλια του φίλου τους.'&lt;&lt; endl;
D. cout &lt;&lt; "Σχεδιάζουν ένα πάρτι για τα γενέθλια του φίλου τους." &lt;&lt; endl;

Απάντηση: Δ

Ερώτηση 15

Εάν το αποτέλεσμα εξόδου μετά την εκτέλεση του ακόλουθου κώδικα C++ είναι "gesp ccf org cn", ποιος κώδικας πρέπει να συμπληρωθεί στην οριζόντια γραμμή; ( )

#include <iostream>
using namespace std;

int main() {
	string str = "gesp.ccf.org.cn";
	
	string delimiter = ".";
	string result="";
	string token;
	size_t found = str.find(delimiter);
	while (found != string::npos) {
		token = str.substr(0, found);
		result += token;
		result += " ";
		__________________________ // 在此处填入代码
		found = str.find(delimiter);
	}
	//最后一部分
	result += str;
		result += " ";
	cout << result << endl;
	return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

A. str = str.substr(found + delimiter.length(), str.length() - 1);
B. str = str.substr(found, str.length() );
C. str = str.substr(found, str.length() -1);
Δ. Τίποτα από τα παραπάνω δεν είναι σωστό

Απάντηση: Α

2. Ερωτήσεις Σωστό ή Λάθος (2 βαθμοί η καθεμία, 20 βαθμοί συνολικά)

Ερώτηση 16

Το τεστ GESP είναι μια πιστοποίηση επιπέδου της ικανότητας προγραμματισμού του πιστοποιητή. Η ικανότητα στο ίδιο επίπεδο είναι βασικά ανεξάρτητη από τη γλώσσα προγραμματισμού.

Απάντηση: Σωστό

Ερώτηση 17

Το συμπλήρωμα 16-bit του ακέραιου αριθμού -6 μπορεί να αναπαρασταθεί σε δεκαεξαδικό ως FFFA.

Απάντηση: Σωστό

Ερώτηση 18

Το πλεονέκτημα του συμπληρώματος είναι ότι μπορεί να μετατρέψει τις πράξεις αφαίρεσης σε πράξεις πρόσθεσης, απλοποιώντας έτσι τον σχεδιασμό του υλικού του υπολογιστή.

Απάντηση: Σωστό

Ερώτηση 19

Η σταθερά χαρακτήρων '0' χρησιμοποιείται συχνά για να υποδείξει το τέλος μιας συμβολοσειράς, η οποία είναι ίδια με τη σταθερά χαρακτήρων '0'.

Απάντηση: Λάθος

Ερώτηση 20

Όλα τα στοιχεία του πίνακα μπορούν να αποθηκευτούν ασυνεχώς στη μνήμη.

Απάντηση: Λάθος

Ερώτηση 21

Στη C++, μπορείτε να εκχωρήσετε τιμές σε πίνακες και στοιχεία κάθε βασικού τύπου πίνακα.

Απάντηση: Λάθος

Ερώτηση 22

Εάν είναι μια μεταβλητή τύπου int και η τιμή της παράστασης ((a | 3) == 3) είναι αληθής, σημαίνει ότι είναι μεταξύ 0 και 3 (πιθανόν 0, πιθανώς 3).

Απάντηση: Σωστό

Ερώτηση 23

Μετά την εκτέλεση του ακόλουθου κώδικα C++, το αποτέλεσμα εξόδου είναι 8.

int a = 0b1010;
int b = 01100;
int c = a & b;
cout << c <<endl;
  • 1
  • 2
  • 3
  • 4

Απάντηση: Λάθος

Ερώτηση 24

Μετά την εκτέλεση του ακόλουθου κώδικα C++, το αποτέλεσμα εξόδου δεν μπορεί να είναι 89781. ( )

#include <iostream>
#include <cstdlib> // 为了使用 rand() 和 srand()
#include <ctime> // 为了使用 time()

using namespace std;

int main() {
	// 设置随机种子
	srand(time(NULL));
	
	int i = 1;
	int s[5];
	while(i <= 5)
	{
		int a = rand() % 10;
		if(a % 3 == (i + 1) % 3)
			s[i++] = a;
	}
	for(int i = 1; i <= 5; i++)
		cout << s[i];
	cout << endl;
	return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

Απάντηση: Σωστό

Ερώτηση 25

Κόψτε τον ακέραιο 3025 σε δύο αριθμούς, το 30 και το 25. Αυτή τη στιγμή, τετραγωνίστε το άθροισμα αυτών των δύο αριθμών και το υπολογισμένο αποτέλεσμα είναι ίσο με τον αρχικό αριθμό. (30 + 25) × (30+ 25) = 55 × 55 = 3025. Ο αριθμός αυτός ονομάζεται «αριθμός κεραυνού». Μπορείτε να χρησιμοποιήσετε μεθόδους απαρίθμησης για να βρείτε όλους τους τετραψήφιους αριθμούς που πληρούν τέτοιες συνθήκες. ( )

Απάντηση: Σωστό

3. Ερωτήσεις προγραμματισμού (25 βαθμοί έκαστη, 50 βαθμοί συνολικά)

Ερώτηση 26

Όνομα ερώτησης: βάρδια
προθεσμία: 1,0 δευτ
όριο μνήμης: 512,0 MB
Περιγραφή ερώτησης
Ο Xiao Yang έμαθε τη μετατόπιση της τεχνολογίας κρυπτογράφησης, στην οποία όλα τα κεφαλαία γράμματα μετατοπίζονται προς τα πίσω κατά έναν σταθερό αριθμό. Η διαδικασία μετατόπισης αντιμετωπίζει το αλφάβητο ως έναν δακτύλιο συνδεδεμένο από άκρο σε άκρο Για παράδειγμα, όταν η μετατόπιση είναι 3, το κεφαλαίο γράμμα A θα αντικατασταθεί από το D και το κεφαλαίο γράμμα Z θα αντικατασταθεί από το C. Συνολικά, το κεφαλαίο αλφάβητο ABCDEFGHIJKLMNOPQRSTUVWXYZ. θα αντικατασταθεί από το DEFGHIJKLMNOPQRSTUVWXYZABC.
Σημείωση: Όταν η μετατόπιση είναι πολλαπλάσιο του 26, κάθε κεφαλαίο γράμμα θα επιστρέψει στην αρχική του θέση ακριβώς μετά τη μετατόπιση, δηλαδή, το κεφαλαίο αλφάβητο ABCDEFGHIJKLMNOPQRSTUVWXYZ θα παραμείνει αμετάβλητο μετά τη μετατόπιση.
Μορφή εισαγωγής
Η πρώτη γραμμή περιέχει έναν θετικό ακέραιο nnn
Μορφή εξόδου
Η έξοδος είναι σε μετατόπιση nnn Σε αυτήν την περίπτωση, το κεφαλαίο αλφάβητο ABCDEFGHIJKLMNOPQRSTUVWXYZ είναι το αποτέλεσμα αντικατάστασης βάρδιας.
Δείγμα 1

3
  • 1
DEFGHIJKLMNOPQRSTUVWXYZABC
  • 1

Δείγμα εξήγησης
Όταν η μετατόπιση είναι 3, το κεφαλαίο γράμμα A θα αντικατασταθεί από το D και το κεφαλαίο γράμμα Z θα αντικατασταθεί από το C. Συνολικά, το κεφαλαίο αλφάβητο ABCDEFGHIJKLMNOPQRSTUVWXYZ θα αντικατασταθεί από το DEFGHIJKLMNOPQRSTUVWXYZABC.
φασμα ΔΕΔΟΜΕΝΩΝ
Για όλα τα δεδομένα, είναι εγγυημένο ότι έχει 1 ≤ n ≤ 100 1≤n≤1001n100

Διαδικασία αναφοράς

#include<bits/stdc++.h>
using namespace std;
int main(){
	int n;
	cin>>n;
	int fl=0;
	for(int i=0;i<26;i++){
		int j = (i+n)%26;
		char ch = 'A'+j;
		cout<<ch;
	}
	cout<<"n";
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

Ερώτηση 27

Όνομα ερώτησης: Βρείτε πολλαπλάσια
προθεσμία: 1,0 δευτ
όριο μνήμης: 512,0 MB
Περιγραφή ερώτησης
Το Xiao Yang έχει μια περιεκτικότητα nnn ακολουθία θετικών ακεραίων A = [ a 1 , a 2 , . . . , an ] A=[a_1,a_2,...,a_n]ΕΝΑ=[ένα1,ένα2,...,έναn], θέλει να μάθει αν υπάρχει i ( 1 ≤ i ≤ n ) i(1≤i≤n)Εγώ(1Εγώn) φτιαχνω, κανω αι α_ιέναΕγώ είναι μια ακολουθία AAΕΝΑ Πολλαπλάσια όλων των αριθμών στο .
Μορφή εισαγωγής
Η πρώτη γραμμή περιέχει έναν θετικό ακέραιο ttt, αντιπροσωπεύει τον αριθμό των ομάδων δοκιμής.
Επόμενο είναι ttt Σετ δοκιμών.
Για κάθε σύνολο δοκιμαστικών περιπτώσεων, υπάρχουν δύο γραμμές.Μεταξύ αυτών, η πρώτη γραμμή περιέχει έναν θετικό ακέραιο αριθμό nnn;Η δεύτερη γραμμή περιέχει nnn ένας θετικός ακέραιος, που αντιπροσωπεύει την ακολουθία AAΕΝΑ
Μορφή εξόδου
Για κάθε σύνολο δοκιμαστικών περιπτώσεων, εάν υπάρχει i ( 1 ≤ i ≤ n ) i(1≤i≤n)Εγώ(1Εγώn) Ικανοποιητικό για όλους k ( 1 ≤ k ≤ n ) aik(1≤k≤n)a_iκ(1κn)έναΕγώ Ναί ακ α_κένακ Ένα πολλαπλάσιο του , εξόδου Ναι, διαφορετικά έξοδος Όχι.
Δείγμα 1

2
3
1 2 4
5
1 2 3 4 5
  • 1
  • 2
  • 3
  • 4
  • 5
Yes
No
  • 1
  • 2

Δείγμα εξήγησης
Για το πρώτο σύνολο δεδομένων, για a 3 = 4 a_3=4ένα3=4,ικανοποιώ a 3 a_3ένα3 Ναί a 1 a_1ένα1 και a 2 a_2ένα2 πολλαπλάσια.
φασμα ΔΕΔΟΜΕΝΩΝ
Για όλα τα δεδομένα, είναι εγγυημένο ότι έχει 1 ≤ t ≤ 10 , 1 ≤ n ≤ 1 0 5 , 1 ≤ ai ≤ 1 0 9 1≤t≤10,1≤n≤10^5,1≤a_i≤10^91t10,1n105,1έναΕγώ109
Διαδικασία αναφοράς

#include<bits/stdc++.h>
using namespace std;
const int N = 1e5+10;
int a[N];
int main(){
	int t;
	cin>>t;
	while(t--){
		int n;
		cin>>n;
		int x = 0;
		for(int i=1;i<=n;i++){
			cin>>a[i];
			x =max(x,a[i]);
		}
		int fl = 0;
		for(int i=1;i<=n;i++){
			if(x%a[i])fl=1;
		}
		if(fl)cout<<"Non";
		else cout<<"Yesn";
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23