Problem6800--NOIP初赛习题--C++代码基础

6800: NOIP初赛习题--C++代码基础

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 128 MiB

Description

1.[2019-4]若有如下程序段,其中sabc均已定义为整型变量,ac均已赋值(c大于0

s = a;
for (b = 1; b <= c; b++)
    s = s - 1;

则与上述程序段功能等价的赋值语句是()

 A. s = a - c;

 B. s = a - b;

 C. s = s - c;

 D. s = b - c;

2.[2014-19]若有如下程序段,其中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

3.[2016-13]有以下程序:

#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

4.[2014-13]要求以下程序的功能是计算: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;

5.[2014-14]设变量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;

6.[2014-15]有以下程序:

#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

7.[2013-18]把 64 位非零浮点数强制转换成32位浮点数后,不可能 ()。

 A. 大于原数

 B. 小于原数

 C. 等于原数

 D. 与原数符号相反

8.[2010-1]浮点数2E+03表示( )。

 A. 2.03

 B. 5

 C. 8

 D. 2000

9.[2013-19]下列程序中,正确计算1, 2, ⋯, 100 这 100 个自然数之和sum(初始值为0)的是( )。

 A. i = 1 do{ sum +=i; i++; }while(i<=100);

 B. i = 1; do{ sum +=i; i++; }while(i > 100);

 C. i = 1; while(i < 100){ sum+=i; i++; }

 D. i = 1; while(i >= 100){ sum+=i; i++; }

10.[2012-18]在程序运行过程中,如果递归调用的层数过多,会因为( )引发错误。

 A. 系统分配的栈空间溢出

 B. 系统分配的堆空间溢出

 C. 系统分配的队列空间溢出

 D. 系统分配的链表空间溢出

Input

题号

Output

答案

HINT

//拷贝这段代码到IDE,填写各题答案,然后将整段代码提交
#include <bits/stdc++.h>
using namespace std;
string t[100];//t[i]:表示第i题的答案 
void answers()
{//将每题的答案写在等号后面的""内,如第1题选A,这一行写为 t[1] = "A";
    t[1] = ""; 
     t[2] = ""; 
      t[3] = "";
       t[4] = ""; 
        t[5] = ""; 
         t[6] = "";
          t[7] = ""; 
           t[8] = "";
            t[9] = "";
            t[10] = "";
}
int main()
{
    answers();
    int i;
    cin >> i;
    cout << t[i];
    return 0;
}

Source/Category

NOIP初赛