第2节 C++语言基础

第二章 程序设计基础知识
本题库配套信息学奥赛一本通(初赛真题解析)第58页-第62页真题在线评测。
本套题目共12题,满分60分,配合书本学习,事半功倍。

*
您的姓名:
一、单项选择题(共11题,每题5分,共计55分;每题有且仅有一个正确选项)
*
1.若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值,c > 0。
s=a;
for( b = 1; b <=c; b ++)
s += 1;
则与上述程序段功能等价的赋值语句是( )。
A.s = a + b
B.s = a + c
C.s = s + c
D.s = b + c
*
2.要求以下程序的功能是计算:s = 1 + 1/2 + 1/3 + ... + 1/10。
#include <iostream>
using namespace std;
int main(){
    int n;
    float s;
    s = 1.0;
    for (n = 10; n > 1; n --) 
        s = s + 1/n;
    cout << s << endl;
    return 0;
}

程序运行后输出结果错误,导致错误结果的程序行是()。
A.s = 1.0;
B.for (n = 10; n > 1; n--)
C.s = s + 1 / n;
D.cout << s << endl;
*
3.有以下程序:
#include <iostream>
using namespace std;
int main() {
    int s, a, n;
    s = 0;
    a = 1;
    cin >> n;
    do {
        s += 1;
        a -= 2;
    } while (a != n);
    cout << s << endl;
    return 0;
}
若要使程序的输出值为2,则应该从键盘给n输入的值是()。
A.-1
B.-3
C.-5
D.0
*
4.有以下程序:
#include <iostream>
using namespace std;
int main() {
    int k = 4, n = 0;
    while (n < k) {
        n ++;
        if (n % 3 != 0)
            continue;
        k--;
    }
    cout << k << "," << n << endl;
    return 0;
}
程序运行后的输出结果是()。
A. 2,2
B. 2,3
C. 3,2
D. 3,3
*
5.为了统计一个非负整数的二进制形式中1 的个数,代码如下:

int CountBit (int x) {
    int ret = 0;
    while (x) {
        ret ++;
        ________;
    }
    return ret;
则空格内要填入的语句是()。
A. x >>= 1
B. x &= x - 1
C. x |= x >> 1
D. x <<= 1
*
6.下列程序中,正确计算1, 2, …, 100这100个自然数之和sum(初始值为0)的是()。
A.
B.
C.
D.
*
7.若有变量int a,float x,y,且a=7,x=2.5,y=4.7,则表达式x+a%3*(int)(x+y)%2/4的值大约是()。
A.2.500000
B.2.750000
C.3.500000
D.0.000000
*
8.设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是()。
A.x = (x * 100) + 0.5 / 100.0;
B.x = (x * 100 + 0.5) / 100.0;
C.x = (int) (x * 100 + 0.5) / 100.0;
D.x = (x / 100 + 0.5) * 100.0;
*
9.以下程序段实现了找第二小元素的算法。输入是n个不等的数构成的数组S,输出S中第二小的数SecondMin。在最坏情况下,该算法需要做()次比较。

A.2n
B.n-1
C.2n-3
D.2n-2
*
10.递归过程或函数调用时,处理参数和返回地址,通常使用一种称为()的数据结构。
A. 队列
B. 多维数组
C. 线性表
D. 栈
*
11.在程序运行过程中,如果递归调用的层数过多,会因为()引发错误。
A.系统分配的 栈 空间溢出
B.系统分配的 堆 空间溢出
C.系统分配的 队列 空间溢出
D.系统分配的 链表 空间溢出
二、不定项选择题(共1题,每题5 分,共计5分;每题有一个或多个正确选项,多选或少选均不得分)
*
1.下列程序中,正确计算1, 2, …, 100这100个自然数之和sum(初始值为0)的是(   )。【多选题】【多选题】
A
B
C
D
问卷星提供技术支持
举报