1模拟卷12CSP-J入门级第一轮认证模拟卷12

1模拟卷12CSP-J入门级第一轮认证模拟卷12
您的姓名:
一、单项选择题(每题5分,共75分)
1. 以下属于输入设备的是( )。
2. 十进制数17的二进制是( )。
3. 不属于高级语言的是( )。
4. 表达式 `10 % 3` 的结果是( )。
5. 数组 `int arr[3][2] = {{1,2},{3,4},{5,6}}` 中,`arr[1][1]` 的值是( )。
6. 关于变量的错误说法是( )。
7. 非C++基本数据类型的是( )。
8. 以下代码输出是( )。

```cpp

   include <iostream>

   using namespace std;

   int main() {

       int x = 5;

       cout << (x << 1);

       return 0;

   }

   ```  

9. 用于读取单个字符的函数是( )。
10. 循环 `for (int i=0; i<=5; i+=2)` 执行次数是( )。
11. 关于函数的正确说法是( )。
12. 表达式 `!true && false` 的值是( )。
13. 以下代码执行后`sum`的值是( )。

 ```cpp

    int sum = 0;

    for (int i=1; i<5; i++) {

        if (i % 2 == 0) continue;

        sum += i;

    }

    ```  

14. 用于数学函数的头文件是( )。
15. 以下代码输出是( )。

```cpp

    include <iostream>

    using namespace std;

    int main() {

        int a=3, b=4;

        a = b;

        b = a;

        cout << a << " " << b;

        return 0;

    }

    ```  

二、阅读程序(每题5分,共75分)

程序1

```cpp

include <iostream>

using namespace std;

int main() {

    int n, sum = 0;

    cin >> n;

    while (n) {

        sum += n % 10;

        n /= 10;

    }

    cout << sum;

    return 0;

}

```

16. 程序计算输入整数的各位数字之和。( )
17. 输入123,输出6。( )
18. 输入-123,输出-6。( )
19. 输入1000,输出是( )。
20. 程序时间复杂度是( )。

程序2

```cpp

include <iostream>

using namespace std;

int main() {

    int a, b;

    cin >> a >> b;

    int c = a ^ b;

    a = a ^ c;

    b = b ^ c;

    cout << a << " " << b;

    return 0;

}

```

21. 程序交换变量a和b的值。( )
22. 输入3 5,输出5 3。( )
23. 输入0 0,输出0 0。( )
24. 输入7 7,输出是( )。
25. 程序使用的交换方法基于( )。

程序3

```cpp

include <iostream>

using namespace std;

int f(int n) {

    if (n <= 1) return n;

    return f(n-1) + f(n-2);

}

int main() {

    int n;

    cin >> n;

    cout << f(n);

    return 0;

}

```

26. 程序计算斐波那契数列第n项。( )
27. 输入4,输出3。( )
28. 函数时间复杂度是O(2ⁿ)。( )
29. 输入2,输出是( )。
30. 输入5时,函数f总调用次数是( )。
三、完善程序(每题10分,共30分)

程序1(判断质数)

```cpp

include <iostream>

include <cmath>

using namespace std;

bool isPrime(int n) {

    if (n <= 1) return false;

    for (int i = 2; i <= ______; i++) { // 31

        if (n % i == 0) return false;

    }

    return true;

}

int main() {

    int n;

    cin >> n;

    cout << (isPrime(n) ? "Yes" : "No");

    return 0;

}

```

31. A. n

程序2(选择排序)

```cpp

include <iostream>

using namespace std;

int main() {

    int n, a[100];

    cin >> n;

    for (int i=0; i<n; i++) cin >> a[i];

    for (int i=0; i<n-1; i++) {

        int min_idx = i;

        for (int j=i+1; j<n; j++) {

            if (a[j] < a[min_idx]) ______; // 32

        }

        swap(a[i], a[min_idx]);

    }

    // 输出略

    return 0;

}

```

32. A. min_idx = j

程序3(二分查找)

```cpp

include <iostream>

using namespace std;

int binarySearch(int arr[], int l, int r, int x) {

    while (l <= r) {

        int mid = l + (r - l) / 2;

        if (arr[mid] == x) return mid;

        if (arr[mid] < x) l = mid + 1;

        else ______; // 33

    }

    return -1;

}

// 主函数略

```

33. A. r = mid
更多问卷 复制此问卷