資源簡介 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 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫