资源简介 2024年青少年信息素养大赛C++智能算法应用挑战赛小学组初赛真题第 1 题 单选题有以下函数,当调用语句为long p = fun (3, 3);时,返回的p值long fun (int x, int y){ int i; long p = 1; for (i = 0; i < y; i ++) p *= x; return p;}A.3B.9C.27D.71第 2 题 单选题下列事件中的必然事件是A.小A同学参加下周的数学考试,一定能考100分B.射击运动员射靶10次,必定能有1次正中靶心C.打开电视机,正好在播放新闻联播D.口袋中有2个红球和1个白球,从中摸出2个球,必定至少有1个红球第 3 题 单选题二进制数0.101转换为十进制数为A.0.5B.0.625C.0.2D.0.75第 4 题 单选题有A、B、C、D、E五个同学站成一排,如果A和B必须站在一起,则有多少种不同的排法。A.24B.48C.60D.120第 5 题 单选题在DevC++中,C++源程序文件的默认扩展名为______,C++目标文件连接而成的可执行文件的默认扩展名为______A..c,.exeB..cpp,.exeC..exe,.cppD..exe,.c第 6 题 单选题有以下函数定义,当n传入数为10时,返回值应为int func (int n){ if (n == 1) return 1; else return func (n - 1) + n;}A.45B.55C.66D.1第 7 题 单选题下面哪种循环语句在条件判断之前至少会执行一次循环体?A.forB.whileC.do-whileD.switch第 8 题 单选题填写以下程序,使其输出"Hello World!",横线处应填写#includeusing namespace std;int main() {_____<< "Hello, world!" << endl;return 0;}A.cinB.coutC.std::cinD.std::cout第 9 题 单选题有两个函数fun1()和fun2()定义如下,在主函数中有:int x = 1; x = fun1(x);调用,此时x的值为int fun1 (int x){ x ++; fun2(x); return x;}void fun2 (int x){ x ++;}A.1B.2C.3D.4第 10 题 单选题以下程序段运行后,输出应为int a, b;for (a = 1, b = 1; a <= 100; a ++){ if (b > 20) break; if (b % 4 == 1) { b = b + 4; continue; } b = b - 5;}cout << a;A.100B.20C.9D.6第 11 题 单选题以下程序段运行后,输入:ABCdef,输出应为char ch;while ((ch = getchar ()) != '\n'){ if (ch >= 'A' && ch <= 'Z') ch = ch + 32; else if (ch >= 'a' && ch <= 'z') ch = ch - 32; cout << ch;}A.ABCdefB.abcdefC.ABCDEFD.abcDEF第 12 题 单选题下列代码中,哪一个选项正确的输出了num的值。int main() { int num = 10; cout << num++ << endl; ///10 num=11 cout << ++num << endl;//12 num=12 cout << num-- << endl;//12 num=11 cout << --num << endl;//10num=10 return 0;}A.10 12 12 10B.10 12 11 9C.11 12 12 10D.11 12 11 9第 13 题 判断题如果定义了一个函数int min (int a, int b);用来返回a和b中较小的数,那么,想求15、26、47三个数中最小的数,用int m = min (15, min (26, 47));这种调用形式。A.正确B.错误第 14 题 判断题continue语句只能出现在循环体中。A.正确B.错误第 15 题 判断题在下面程序段中,循环体的循环次数为4次。int i = 0;do i ++;while (i*i < 10);A.正确B.错误第 16 题 判断题有以下程序段for(int i=10;i>0;i-=2){ cout<}它的输出结果是10 8 6 4 2 0A.正确B.错误第 17 题 判断题C++函数参数的作用域是函数体内。A.正确B.错误第 18 题 单选题斐波那契数列的第1和第2个数分别为0和1 ,从第三个数开始,每个数等于其前两个数之和,即F(0) = 0, F(1) = 1,F(N) = F(N - 1) + F(N - 2), 其中 N > 1。为求斐波那契数列中的前20个数,要求每行输出5个数编写了以下程序,在3个空格处应填写哪些内容?#includeusing namespace std; int main() { int n = 20; // 需要计算的项数 int f1 = 0, f2 = 1; // 前两项 int fn; // 第n项 cout << "斐波那契数列前" << n << "个数为:" << endl; // 计算斐波那契数列前n项并输出 for (int i = 1; i <= n; i++) { // 计算第i项 if (i == 1) { fn = f1; } else if (i == 2) { fn = f2; } else { fn =____f1+f2_________; 0 1 2 3 5 5 f1 = f2; f2 =________fn_____; } // 输出第i项 cout << fn << "\t"; // 每行输出5个数 if (_____i%5==0______) { cout << endl; } } return 0;}A.f1, fn, i==5B.fn, f1+fn, i/5==0C.f1+f2, fn, i%5==0D.f1+f2, f1, i%5==0第 19 题 单选题以下程序输出多组数字,其中包括下列选项中的哪个选项#includeusing namespace std;int main(){ int g,s,b; for(int n=100;n<1000;n++) { b = n / 100; s = n / 10 % 10; g = n % 10; if(g*g*g+s*s*s+b*b*b==n) { cout< } } return 0;}A.407,153B.408,154C.408,153D.407,159第 20 题 单选题下面程序运行后输入4,输出结果应是#include using namespace std;int fac (int n){ if (n <=1) return 1; else return n * fac (n - 1);}int main (){ int n = 0; cin >> n; int ret = fac (n); cout << ret; return 0;}A.4B.12C.24D.48 展开更多...... 收起↑ 资源预览