#G1095. 2023年12月 GESP C++ 四级

2023年12月 GESP C++ 四级

GESP 202312 C++ 四级

第 1 题

下面有关函数参数的说法,正确的是({{ select(1) }})。

  • 函数参数传递时,主函数当中采用值传递方式将参数传递给子函数时,若子函数将参数值改变,主函数当中的参数值不变。
  • 函数参数传递时,主函数当中采用值传递方式将参数传递给子函数时,若子函数将参数值改变,主函数当中的参数值将随子函数一样改变而改变。
  • 函数参数传递时,主函数如果将参数的地址传递给子函数,若子函数将参数值改变,主函数当中的参数值将不改变。
  • 函数参数传递可以不满足子函数的参数个数要求。

第 2 题

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

int arr[10]={1};
string strArr="chen a dai";
cout<<strArr[arr[1]]<<endl;

{{ select(2) }}

  • chen
  • c
  • chen a dai
  • dai

第 3 题

下面 C++ 代码最后执行后输出是( )。

int fun1(int *n)
{
    return *n**n;
}
int main()
{
    int arr[10]={2};
    arr[1]=fun1(arr);
    cout<<arr[1]<<endl;
}

{{ select(3) }}

  • 1
  • 2
  • 3
  • 4

第 4 题

下面 C++ 代码执行后的结果是( )。

int arr[3][3]={{1,2,3},{4,5,6},{7,8,9}};
for(int i=0;i<3;i++)
{
    for(int j=2;j>=0;j--)
    {
        cout<<arr[i][j]<<" ";
    }
    cout<<endl;
}

{{ select(4) }}

  • A
  • B
  • C
  • D

第 5 题

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

int arr[3]={1,2,3};
int *p=NULL;
p=arr;
p++;
cout<<*p<<endl;

{{ select(5) }}

  • 1,2,3
  • 1
  • 2
  • 3

第 6 题

如果变量 x 的地址是 0x6ffe14,下面 C++ 代码执行以后输出的是( )。

int *p=NULL;
int x=2;
p=&x;
p++;
cout<<p<<endl;

{{ select(6) }}

  • 0x6ffe11
  • 0x6ffe14
  • 0x6ffe18
  • 0x6ffe15

第 7 题

在 C++ 中,执行下面代码后,输出的是( )。

int point(int *p)
{
    return *p**p;
}
int main()
{
    int a=20;
    int *p=&a;
    *p=point(p);
    cout<<*p<<endl;
}

{{ select(7) }}

  • 400
  • 200
  • 20
  • 100

第 8 题

下列 C++ 语句执行以后结果是 true 的是({{ select(8) }})。

  • 3&&false
  • 5&&2
  • 101&&000
  • 4&true

第 9 题

在如下的 C++ 代码中实现了对字符串中出现的 26 个字母的个数统计,横线处应填入是( )。

string str="HELLO CHEN A DAI";
int strlen=str.length();
char alpha[26]={65};
int cnt[26]={0};
for(int i=1;i<26;i++)
{
    __________;
}
for(int i=0;i<26;i++)
{
    cout<<alpha[i]<<" ";
}
cout<<endl;
for(int i=0;i<26;i++)
{
    for(int j=0;j<strlen;j++)
    {
        if(alpha[i]==str[j])
        {
            cnt[i]++;
        }
    }
}
for(int i=0;i<26;i++)
{
    cout<<cnt[i]<<" ";
}

{{ select(9) }}

  • alpha[i]=alpha[i-1]+1;
  • alpha[i]=alpha[i]+1;
  • alpha[i+1]=alpha[i]+1;
  • alpha[i-1]=alpha[i]+1;

第 10 题

下面 C++ 代码执行后生成的文件其字节数为( )。

ofstream fout;
fout.open("1.txt");
for(int i=1;i<=10;i++)
{
    if(i%5==0)
    {
        int x=6;
        fout<<x;
    }
    else
    {
        char ch='A';
        fout<<ch;
    }
}

{{ select(10) }}

  • 10
  • 16
  • 40
  • 24

第 11 题

下列 C++ 代码输入 1,2,3,4,执行后,将输出的是( )。

string str="";
cin>>str;
int strlen=str.length();
for(int i=0;i<strlen;i++)
{
    if(str[i]<='9'&&str[i]>='0')
    {
        cout<<str[i];
    }
    else
    {
        cout<<"#";
    }
}

{{ select(11) }}

  • 1#4#
  • 1#3#
  • 1#2#3#4#
  • 1#2#3#4

第 12 题

以下 C++ 代码用于实现每个整数对应的因数,如输入 12 ,则输出 1 2 3 4 6 12 ;如输入 18 ,则输出 1 2 3 6 9 18 。横线处应填入代码是( )。

int n;
cin>>n;
for(int i=1;i<=n;i++)
{
    ________
    {
        cout<<i<<" ";
    }
}

{{ select(12) }}

  • if(n%i==0)
  • if(n/i==0)
  • if(n%i!=0)
  • if(n/i!=0)

第 13 题

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

  • 麦克风
  • 扬声器
  • 油量表
  • 传感器

第 14 题

现代计算机是指电子计算机,它所基于的是({{ select(14) }})体系结构。

  • 艾伦·图灵
  • 冯·诺依曼
  • 阿塔纳索夫
  • 埃克特-莫克利

第 15 题

输入一个正整数 NNN7N \geq 7),想找出它所有相邻的因数对,比如,输入 1212,因数对有 (1,2)(1,2)(2,3)(2,3)(3,4)(3,4)。下面哪段代码找不到所有的因数对?({{ select(15) }})

  • for(i=1;i<N;i++) if(!(N%i) && !(N%(i+1))) printf("%d,%d\n", i, i+1);
  • for(i=2;i<N;i++) if(!(N%i) && !(N%(i+1))) printf("%d,%d\n", i, i+1);
  • for(i=2;i<N/2;i++) if(!(N%(i-1)) && !(N%i)) printf("%d,%d\n", i-1, i);
  • for(i=1;i<N/2;i++) if(!(N%i) && !(N%(i+1))) printf("%d,%d\n", i, i+1);

第 16 题

C++的内置函数 sort({{ select(16) }}) 支持数组的局部排序。例如 int a={10,9,8,7,6,5,4,3,2,1},可以用 sort(a,a+5),排序成 {6,7,8,9,10,5,4,3,2,1}

  • 正确
  • 错误

第 17 题

用递归法求 nn 的阶乘,时间复杂度是 O(n)O(n)({{ select(17) }})。

  • 正确
  • 错误

第 18 题

[(1,2)*2]*3 在 C++ 中是合法的表达式。({{ select(18) }})

  • 正确
  • 错误

第 19 题

在下面的 C++ 代码中,将对 1.txt 文件写入 hello。( )

ifstream filein;
ofstream fileout;
filein.open("1.txt");
fileout<<"hello";

{{ select(19) }}

  • 正确
  • 错误

第 20 题

文本文件 1.txt 第 1 行由 01234 共 5 个字符组成其间没有空格,当用C++代码正常打开文件成功并执行如下代码以后,第 1 行长度为 5( )

ifstream filein;
int buff;
filein.open("1.txt");
filein>>buff;
cout<<buff<<endl;

{{ select(20) }}

  • 正确
  • 错误

第 21 题

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

  • 正确
  • 错误

第 22 题

在 C++ 中,两个字符串相加的运算符为 + 相当于字符串的合并运算。下面 C++ 代码执行后,将输出 chenadai 。( )

string a="chen";
string b="a";
string c="dai";
string name=a+b+c;
cout<<name<<endl;

{{ select(22) }}

  • 正确
  • 错误

第 23 题

C++ 内置函数 sort() 可以对整数、浮点数、字符数组进行从大到小,从小到大,局部排序。({{ select(23) }})

  • 正确
  • 错误

第 24 题

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

  • 正确
  • 错误

第 25 题

任何一个 while 循环都可以转化为等价的 for 循环({{ select(25) }})。

  • 正确
  • 错误