1492: [gesp]三级模拟题(选择判断题)

Memory Limit:16 MB Time Limit:1.000 S
Judge Style:Special Judger Creator:
Submit:28 Solved:5

Description

1.  单选题(每题 2 分,共 30 分)

1 题 下面 C++ 代码执行后的输出是( )。

char ch[10]={'1'};

cout<<ch[2]<<endl;

A. 0

B. 1

C. 输出空格

D. 什么也不输出

       

2 题 下面 C++ 代码用于统计每种字符出现的次数,当输出为 3 时,横线上不能填入的代码是( )。

string str="GESP is a good programming test!";

int x=0;

for(int i=0;i<str.length();i++)

{

if(_____)

{

x++;

}

}

cout<<x<<endl;

A. str[i]=='o'

B. str[i]=='a'+14

C. str[i]==115

D. str[i]==111

  

3 题 32位计算机中, C++ 的整型变量 int 能够表示的数据范围是( )。

A. 2^31~(2^31)-1

B. 2^32

C. -2^31~+(2^31)-1

D. -(2^31)+1~2^31

    

4 题 下面 C++ 程序执行的结果是( )。

int cnt=0;

for(int i=0;i<=20;i++){

{

if(i%3==0&&i%5==0)

cnt++;

}

cout<<cnt;

A. 2

B. 3

C. 5

D. 4

     

5 题 C++ 的数据类型转换让人很难琢磨透,下列代码输出的值是( )。

int a=3;

int b=2;

cout<<a/b*1.0<<endl;

A. 1.5

B. 1

C. 2

D. 1.50    

     

6 题 C++代码用于抽取字符串中的电话号码。约定:电话号码全部是数字,数字之间没有其他符号如连字符或 空格等。代码中变量 strSrc 仅仅是示例,可以包含更多字符。下面有关代码说法,正确的说法是( )。

string strSrc="红十字:01084025890火警电话:119急救电话:120紧急求助:110";

string tel="";

for(int i=0;i<=strSrc.length();i++){

if(strSrc[i]>='0'&&strSrc[i]<='9'){

tel=tel+strSrc[i];

}

else if(tel!="") {

  cout<<tel<<endl;

tel="";

}

}

A. 代码将换行输出各个含有数字的电话号码。

B. 代码将不换行输出各个含有数字的电话号码,号码中间没有分隔。

C. 代码将不换行输出各个含有数字的电话号码,号码中间有分隔。

D. 不能够输出数字电话号码。

    

7 题 某公司新出了一款无人驾驶的小汽车,通过声控智能驾驶系统,乘客只要告诉汽车目的地,车子就能自动选择一条优化路线,告诉乘客后驶达那里。请问下面哪项不是驾驶系统完成选路所必须的。( )

A. 麦克风

B. 扬声器

C. 油量表

D. 传感器

 8 题 现代计算机是指电子计算机,它所基于的是( )体系结构。

A. 艾伦 · 图灵

B. 冯 · 诺依曼

C. 阿塔纳索夫

D. 埃克特 - 莫克利

 

9. 已知大写字符 'A' 的ASCII编码的十六进制表示为 0x41 ,则字符 'L' 的ASCII编码的十六进制表示为( )。

   - A. 4A

   - B. 4B

   - C. 4C

   - D. 52

10. 下列数组定义,符合C++语言语法的是( )。

   - A. double a[];

   - B. double b[] = {1, 2.0, '3'};

   - C. double c[3.0];

   - D. double[] d = new double[3];

 

11. 下列关于进制的叙述,正确的是( )。

   - A. 只有十进制和二进制能够用来表示小数,八进制和十六进制不可以。

   - B. 常用的进制包括二进制、八进制、十进制、十六进制,其他进制在日常生活中很少使用。

   - C. 对任意正整数,其二进制表示不会比它的十进制表示更短。

   - D. 正整数的八进制表示中,每一位可能出现的最大数字是8。

12. 如果 `a` 是 `int` 类型的变量,下列哪个表达式的值为 true?( )。

    - A. `a + 1000 - 1000 == a`

    - B. `a * 2 / 2 == a`

    - C. `(a & 1) == 1`

    - D. `(a | 1) == a + 1`

 

13. 如果 `a` 和 `b` 均为 `int` 类型的变量,下列表达式不能正确判断“ a 等于 b ”的是( )。

    - A. `((a >= b) && (a <= b))`

    - B. `((a > 1) == (b > 1))`

    - C. `((a + b) == (a + a))`

    - D. `((a ^ b) == 0)`

14. 在下列代码的横线处填写( ),可以使得输出是“120”。

 

    int array[] = {1, 2, 3, 4, 5};

    int res = 0;

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

                                  // 填写代码

    }

    cout << res << endl;

    

    - A. `res += array[i];`

    - B. `res *= array[i]`

    - C. `res = array[i]`

    - D. 以上均不对。

 

15. 下列代码的输出是( )。

 

    - A. 15

    - B. 28

    - C. 45

    - D. 55

   


2 判断题(每题 2 分,共 20 分)


16  C++ 程序执行后,输入 chen a dai 输出应该为: chen 。( )


string str;

cin>>str;

cout<<str;



17  执行 C++ 代码 cout<<(5||2); 后将输出 1 。( )

       

18  执行下面 C++ 代码后将输出 "China" 。( )

string a="china";

a.replace(0,1,"c");

cout<<a<<endl;

 

19  下面 C++ 代码将输出 1 ( )

 int list[10]={1};

cout<<list<<endl;

 

20  执行 C++ 代码,将输出 1 3 5 7 9 , 9 之后还有一个空格。( )

int list[10]={1,2,3,4,5,6,7,8,9,10};

for(int i=0;i<10;i+=2)   cout<<list[i]<<"";

 

21  小杨最近在准备考 GESP ,他用的 Dev C++ 来练习和运行程序,所以 Dev C++ 也是一个小型操作系统。( )

第 22 题 如果为int 类型的变量,且表达式((a | 3) == 3) 的值为true ,则说明 在从0到3之间(可能为0、可
能为3)。
第 23 题 执行下面C++代码后,输出的结果是8。

int a = 0b1010;
int b = 01100;
int c = a & b;
cout << c <<endl;
第 24 题 执行下面C++代码后,输出的结果不可能是89781。( )
#include <iostream>
#include <cstdlib> // 为了使用 rand() 和 srand()
#include <ctime> // 为了使用 time()
using namespace std;
int main() {
// 设置随机种子
srand(time(NULL));
int i = 1;
int s[5];
while(i <= 5)
{
int a = rand() % 10;
if(a % 3 == (i + 1) % 3)
s[i++] = a;
}
for(int i = 1; i <= 5; i++)
cout << s[i];
cout << endl;
return 0;
}

第 25 题 把整数3025从中剪开分为30和25两个数,此时再将这两数之和平方,计算结果又等于原数。(30 + 25) × (30
+ 25) = 55 × 55 = 3025,这样的数叫“雷劈数”。可以使用枚举的方法求出所有符合这样条件的四位数。( )

Input

判断题,对的输入T,错误的输入F