2026年3月CCF—GESP(C++四级)编程能力等级认证试卷
四级
2026
2026-09-28 20:34:11
59次
一、单选题
下面哪种方式不能实现将字符串 Welcome to 2026! 输出重定向到文件 log.txt ( )。
A.freopen("log.txt", "w", stdout);
cout << "Welcome to 2026!" << endl;
fclose(stdout); |
B.std::ofstream outFile("log.txt");
cout << "Welcome to 2026!" << endl;
outFile.close(); |
C.ofstream log_file("log.txt");
streambuf* org_cout = cout.rdbuf();
cout.rdbuf(log_file.rdbuf());
cout << "Welcome to 2026!" << endl;
cout.rdbuf(org_cout); |
D.std::ofstream outFile("log.txt");
outFile << "Welcome to 2026!" << endl;
outFile.close(); |
【知识点】 CCF—GESP C++四级
下列函数实现排行榜中单个元素的位置调整(类似插入排序的相邻搬移)。当某玩家分数增加,需将其向 前移动时, while 循环的条件应为( )。
struct Player{ int score; };
void up(Player players[], int n, int idx){
Player cur = players[idx];
int i = idx;
while( ____________________ ){
players[i] = players[i-1];
i--;
}
players[i] = cur;
} | A. i > 0 && cur.score > players[i-1].score |
B. i > 0 && cur.score < players[i-1].score |
| C. i < n-1 && cur.score > players[i+1].score |
D. i < n-1 && cur.score < players[i+1].score |
【知识点】 CCF—GESP C++四级
二、判断题
下面代码没有语法错误。
struct GameCharacter {
string name;
int level;
float position_x;
float position_y;
struct Equipment {
string weapon;
int attack_bonus;
int defense_bonus;
} equipment;
struct Skill {
string name;
int damage;
} skills[8];
int skill_count;
}; | A.正确 | B.错误 |
【知识点】 CCF—GESP C++四级






