计算机二级

第1461题

给定程序MODI1.C中函数fun的功能是:从s所指字符串中,找出与t 所指字符串相同的子串的个数作为函数值返回。 例如,当s所指字符串中的内容为:“abcdabfab”,t所指字符串的 内容为:“ab”,则函数返回整数3。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的 结构!

/**********code.c**********/
#include <stdio.h>
#include <string.h>
int fun (char *s, char *t)
 {
 int n;
 char *p,*r;
 n = 0;
 while(*s)
 {
 p = s;
 r = t;
 while (*r)
   if(*r == *p)
   {
    /**********found**********/
    r++; p++
   }
   else break;
   /**********found**********/
   if(r == '\0')
    n++;
   s++;
 }
 return n;
 }
 void main()
 {
 char s[100],t[100];
 int m;
 printf("\nPlease enter string S:"); 
 scanf("%s", s);
 printf("\nPlease enter substring t:"); 
 scanf("%s", t);
 m = fun(s,t);
 printf("\nThe result is:  m = %d\n", m);
 }
 /**********-code.c**********/
第1462题

函数fun的功能是:将s所指字符串中ASCII值为偶数的字符删除, 串中剩余字符形成一个新串放在t所指的数组中。 例如,若s所指字符串中的内容为:“ABCDEFGl2345”,其中字符 B的ASCII码值为偶数、…、字符2的ASCII码值为偶数、…都应当删 除,其它依此类推。最后t所指的数组中的内容应是:“ACEG135”。 注意:部分源程序存在文件PROG1.c中。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花 括号中填入你编写的若干语句。

/**********code.c**********/
#include <stdio.h>
#include <string.h>
void fun(char *s,char t[])
 {
 }
 void main()
 {
 char s[100],t[100];
 printf("\nPlease enter string S:");
 scanf("%s",s);
 fun(s,t);
 printf("\nThe result is: %s\n", t);
 }

第1463题

输入 4 个数字,各数字采用空格分隔,对应为变量 x0、y0、x1、y1。计算两点(x0,y0)和(x1,y1)之间的距离,输出这个距离,保留 1 位小数。例如,输入“3 4 8 0”,输出“6.4”。


第1464题

输入一段中文文本,不含标点符号和空格,保存为变量 s,采用 jieba 库对其进行分词,输出该文本中词语的平均长度,保留 1 位小数。例如,输入“黑化肥发灰会挥发”,输出“2.7”。


第1465题

输入一个 9800~9811 的正整数 n,作为 Unicode 编码,把 n-1、n 和 n+1 这 3 个 Unicode编码对应字符按照如下格式要求输出:宽度为 11 个字符、加号字符+填充、居中。例如,输入“9802”输出“++++???++++”。


第1466题

使用 turtle 库的 turtle.fd()函数和 turtle.seth()函数绘制一个正方形,边长为 200 像素。


第1467题

输入张三学习的课程名称及成绩等信息,信息间采用空格分隔,每个课程一行,以空行和回车符结束录入,示例格式如下:

数学 98

输出结果保存在 PY202.txt 中。其中逗号为英文逗号,最低分课程是物理 74,平均分是 88.40。


第1468题

(读者自行创建,注意每行第一个逗号后面有空格),其内容示例如下:

2016/5/31 0:05, vawel001, 1, 1

2016/5/31 0:10, earpa001, 1, 1

……

第 1 列是传感器获取数据的时间,第 2 列是传感器的编号,第 3 列是传感器所在的楼层,第

4 列是传感器所在的位置区域编号。

 问题 1读入 sensor.txt 文件中的数据,提取出传感器编号为 earpa001 的所有数据,将结果输出并保存到 earpa001.txt 文件。输出格式要求:原数据文件中的每行记录写入新文件中、行尾无空格、无空行。参考格式如下:

2016/5/31 7:11, earpa001, 2, 4

2016/5/31 8:02, earpa001, 3, 4

……


第1469题

(读者自行创建,注意每行第一个逗号后面有空格),其内容示例如下:

2016/5/31 0:05, vawel001, 1, 1

2016/5/31 0:10, earpa001, 1, 1

……

第 1 列是传感器获取数据的时间,第 2 列是传感器的编号,第 3 列是传感器所在的楼层,第4 列是传感器所在的位置区域编号。

问题2.读入 earpa001.txt 文件中的数据,统计 earpa001 对应的职员在各楼层和区域出现的次数,保存到 earpa001_count.txt 文件,每条记录一行,位置信息和出现的次数之间用英文半角逗号隔开、行尾无空格、无空行。参考格式如下:

1-1,5

1-4,3

……


第1470题

下列关于函数的说法中,正确的是( )。

第1471题

下列关于构造函数的说法中,正确的是( )。

第1472题

下列不属于C++规定的类继承方式是( )。

第1473题

有如下程序:

#include <iostream>
using namespace std;
class GA{
public:
    virtual int f(){return 1;}
};
class GB: public GA{
public:
    virtual int f(){return 2;}
};
void show(GA g){cout<<g.f();}
void display(GA &g){cout<<g.f();}
int main(){
    GA a; show(a); display(a);
    GB b; show(b); display(b);
    Return 0;
}

运行时的输出结果是( )。

第1474题

下列语句分别是不同程序中的第一个输入输出语句,若去掉其中的“<

第1475题

有如下定义: 

int a[5]= 1,3,5,7,9),* p=a; 

下列表达式中不能得到数值5的是( )。

第1476题

已知类Array的定义如下:

class Array {
public :
    int data[ 2 ];
    Array( int n = 0 ) {
        int start ;
        if ( n <= 1 ) start = n - 1; else start = n;
        data[ 0 ] = start ;
        data[ 1 ] = start + 1 ;
    }
};

且有如下程序段:

Array arr(2);
cout<<arr.data[0]<<arr.data[1];

则执行这个程序段的输出是( )。

第1477题

已知类Time的定义如下:

class Time { //时间类
private:
    int hour , minute , second ;//时、分、秒
public :
    Time ( int h , int m , int s ) : hour( h ), minute( m ), second( s ) { }
    ____________{
        switch ( index ) {
            case 0 :
                return hour;
            case 1:
                return minute;
            default:
                return second;
        }
    }
};

其中横线处应为下标访问运算符[]的重载函数的函数头,横线处应填入 的代码是( )。

第1478题

类Base及其派生类Derived的定义如下:

class Base {
private :
    int a ;
public :
    int b ;
    friend class Derived ;
} ;
class Derived : public Base {
public :
    void foo( ) {
        a = 0;//①
        b = 0;//②
    }
} ;

则下列说法正确的是( )。

第1479题

已知类Base、Middle和Derived的定义如下:

class Base {
public :
    virtual void foo ( ) { cout << 'a'; }
} ;
class Middle : public Base {
public :
    void foo ( ) { cout << 'b'; }
} ;
class Derived : public Middle {
public :
    void foo ( ) { cout << 'c'; }
} ;

且有如下程序段:

Base * p1;
Middle * p2;
Derived d;
p1 = &d;
p1 -> foo( );
p2 = &d;
p2 -> foo( );

运行这个程序段的输出是( )。

第1480题

已知类AA和BB的定义如下:

class AA
{
public:
    AA(){cout<<'0';}
    ~AA(){cout<<'1';}
};
class BB:public AA
{
public:
    BB(){cout<<'2';}
    ~BB(){cout<<'3';}
};

且有如下主函数定义:

int main(){
    BB b;
    return 0;
}

运行这个main函数的输出是( )。