2、下面哪一条语句出现编译错误: enum Gender{female, male}; //A struct Person{ char name[20]; Gender sex; //B Person father; //C }; Person members[30]; //DA.行AB.行BC.行CD.行D

题目

2、下面哪一条语句出现编译错误: enum Gender{female, male}; //A struct Person{ char name[20]; Gender sex; //B Person father; //C }; Person members[30]; //D

A.行A

B.行B

C.行C

D.行D


相似考题
更多“2、下面哪一条语句出现编译错误: enum Gender{female, male}; //A struct Person{ char name[20]; Gender sex; //B Person father; //C }; Person members[30]; //D”相关问题
  • 第1题:

    有以下程序:includeincludeusingnameSpacestd;classperson{ intage; Char*nam

    有以下程序:

    include <iostream>

    include <string>

    using nameSpace std;

    class person

    {

    int age;

    Char * name;

    public:

    person ( int i, Char * str )

    {

    int j;

    j = strlen( str ) + 1;

    name = new char[ j ];

    strcpy( name, str );

    age = i;

    }

    ~person()

    {

    delete name;

    cout<<"D";

    }

    void display()

    {

    cout<<name<<":"<<age;

    }

    };

    int main()

    {

    person demo( 30,"Smith" );

    demo.display();

    return 0;

    }

    则该程序的输出结果为:【 】。


    正确答案:Smith:30 D
    Smith:30 D 解析:本题考核类与对象的操作。主函数中定义类person的对象 demo,并赋初值(30,"smith")。然后调用成员函数display()输出赋值结果,即Smitch:30。程序结束时demo对象的析构函数被调用,再输出“D”。

  • 第2题:

    给出下列的不完整的类代码,则下列的( )语句可以加到横线处。 class Person{ String name,department; int age public Person(String n){name=n;} public Person(String n,int a){name=n;age=a;} pubilc Person(String n,String d,int a) { _______________ department=d; } }

    A.Person(n,a);

    B.this(Person(n,a));

    C.this(n,a);

    D.this(name,age);


    正确答案:C

  • 第3题:

    根据下面的定义,能打印出字母M的语句是( )。 struct person { char name[9]; int age; }; struct person class[10]={"John",17,"Paul",19,"Mary",18,"Adam",16};

    A.printf("%c\n",class[3].name};

    B.printf("%c\n",class[2].name[0]);

    C.printf("%c\n",class[3].name[1]);

    D.printf("%c\n",class[2].name[1]);


    正确答案:B
    解析:在结构体数组class[10]的初始化列表中只有第5个初始值中包含大写字母M,而该结构体只有两个成员变量,所以每两个初始值初始化一个数组元素,故第5个初始值是属于第3个数组元素class[2]的前一个成员变量的,选项A和C不正确。又因为‘M’是“Mary”的第一个元素,所以应该输出class[2]的name[0],B是正确答案。

  • 第4题:

    给出下面不完整的类代码,则横线处的语句应该为( )。 class Person { String name,department; int age; public Person (Strings) {name=s;} public Person (String s,int

    A.{name=s;age=a;} public Person (String n,String d,intA){ __________ department=d; } }A)Person (n,A);

    B.this (Person(n,A));

    C.this(n,A);

    D.this(name,age);


    正确答案:C
    解析:本题主要考查在同一个类的不同构造方法中调用该类的其他构造方法需要使用 this(…)的形式,而且必须是在构造方法的第一行调用。这个和普通方法重载调用的方式不同,普通方法可以直接使用方法名加参数来调用,而且调用位置没有限制,因此选项A是不行的,选项B的语法就是错误的,选项D的错误在于在父类型的构造方法被调用前不能引用类的成员。构造方法是一个类对象实例化的开始,因此在构造方法中不能将成员作为参数引用。

  • 第5题:

    ●以下的SQL 99语句,Student与Person之间的关系是 (62) 。

    CREATE TYPE Person(

    name char(20),

    address varchar(50));

    CREATE TYPE Student(

    under Person

    (degree char(20)

    department char(20));

    (62)

    A.类型继承

    B.类型引用

    C.表继承

    D.无任何关系


    正确答案:A

  • 第6题:

    某C语言结构体的定义如下。 struct date { int year, month, day; }; struct worklist { char name[20]; char sex; struct date birthday; }person; 若对变量person的出生年份进行赋值,正确的赋值语句是(33)。

    A.year=1976

    B.birthday. year=1976

    C.person. year=1976

    D.person. birthday. year=1976


    正确答案:D
    解析:本试题考查嵌套定义的结构体成员的引用。首先,直接使用结构体成员而无所属关系是一种典型错误,系统将认为它是普通变量而非结构体成员。其次,不论结构体嵌套的层次多少,只能从最外层开始,逐层用“.”运算符展开,注意展开时必须使用变量名而不是结构体名。事实证明,只有这种展开方式才能清楚地说明成员的所属关系。对于试题,若对变量person的出生年份进行赋值,正确的赋值语句是选项D的“person-birthday.year=1976”。

  • 第7题:

    Person p = new Person(“张三”,23);这条语句会调用下列哪个构造方法给属性进行初始化()

    A.public Person(){}

    B.public Person(String name,int age) { this.name = name; this.age = age; }

    C.public Person(int age,String name) { this.age = age; this.name = name; }

    D.public Person(String name) { this.name = name; }


    答案:B
    解析:创建对象时会找到匹配的构造方法给属性进行初始化,由于Person p = new Person(“张三”,23);这条语句中有两个参数,而且第1个参数是String类型的,第2个参数是int类型的,因此会调用B选项中的构造方法。

  • 第8题:

    在J2EE中,使用()选项中的代码,可以生成如下XML文档:    Tony Blair   

    • A、Element people = doc.createElement("PEOPLE");  Element person = doc.createElement("PERSON"); Element name = doc.createElement("NAME"); name.appendChild(doc.createTextNode("Tony Blair")); people.appendChild(person); person.appendChild(name); doc.appendChild(people);
    • B、Element people = doc.createElement("PEOPLE");  Element person = doc.createElement("PERSON"); people.appendChild(person); Element name = doc.createElement("NAME"); name.appendChild(doc.createTextNode("Tony Blair")); person.appendChild(name); doc.appendChild(people);
    • C、Element people = doc.createElement("PEOPLE");  Element person = doc.createElement("PERSON"); people.appendChild(person); Element name = doc.createElement("NAME"); name.appendText(doc.createTextNode("Tony Blair")); person.appendChild(name); doc.appendChild(people);
    • D、Element people = doc.createElement("PEOPLE");  Element person = doc.createElement("PERSON");Element name = doc.createElement("NAME"); name.createTextNode("Tony Blair"); people.appendChild(person); person.appendChild(name); doc.appendChild(people);

    正确答案:A,B

  • 第9题:

    单选题
    public class Person {  private name;  public Person(String name) {  this.name = name;  }  public boolean equals(Object o) {  if( !o instanceof Person ) return false;  Person p = (Person) o;  return p.name.equals(this.name);  }  }  Which is true?()
    A

     Compilation fails because the hashCode method is not overridden.

    B

     A HashSet could contain multiple Person objects with the same name.

    C

     All Person objects will have the same hash code because the hashCode method is not overridden.

    D

     If a HashSet contains more than one Person object with name=”Fred”, then removing another person, also with name=”Fred”, will remove them all.


    正确答案: B
    解析: 暂无解析

  • 第10题:

    多选题
    For Question 1, consider each of the choices separately and select all that apply.  The passage suggests which of the following about gender in Western culture?
    A

    Most, if not all, members of modern Western civilization consider themselves either male or female.

    B

    Contemporary Western civilization does not believe in the concept of hijra.

    C

    The idea of male/female binary gender is not generally considered the norm of contemporary Western civilization.


    正确答案: C,A
    解析:
    段落首句和最后一句表达了整段的主要含义。根据首句,西方文化通常认为性别有两性之分,即男性或女性,但也指出“it is far from universal”,并不是所有人都认同这个观点,因此选项A、C是正确的。最后一句提到,“There is no equivalent of hijras in the contemporary Western conceptualization of gender”,“hijra”概念的不存在并不表示没有人相信,因此不选择B项。

  • 第11题:

    单选题
    有以下程序:#include #include typedef struct stu{ char name[10]; char gender; int score;}STU;void f(char *name,char gender,int score){ strcpy(name,Qian); gender='f'; score=350;}main(){ STU a={Zhao,'m',290},b; b=a; f(b.name,b.gender,b.score); printf(%s,%c,%d,, a.name, a.gender, a.score); printf(%s,%c,%d, b.name, b.gender, b.score);}程序的运行结果是(  )。
    A

    Zhao,m,290,Qian,m,290

    B

    Zhao,m,290,Zhao,m,290

    C

    Zhao,m,290,Qian,m,350

    D

    Zhao,m,290,Qian,f,350


    正确答案: B
    解析:
    程序执行过程为:将a赋给b,调用f函数,将b中name地址与gender和score的值传进函数,执行函数体,strcpy函数改变b中name值,但由于后两个成员gender和score为值传递,不能改变b中gender和score值。调用函数结束后,结构体a= {"Zhao", 'm', 290},b= {"Qian', 'm', 290}。答案选择A选项。

  • 第12题:

    单选题
    有以下程序:#include #include typedef struct stu{ char name[10]; char gender; int score;}STU;void f(STU *c){ strcpy(c->name,Qian); c->gender='f'; c->score=350;}main(){ STU a={Zhao,'m',290},b; b=a; f(&b); printf(%s,%c,%d,, a.name, a.gender, a.score); printf(%s,%c,%d, b.name, b.gender, b.score);}程序运行后的输出结果是(  )。
    A

    Zhao,m,290,Qian,f,350

    B

    Zhao,m,290,Qian,m,290

    C

    Zhao,m,290,Zhao,m,290

    D

    Zhao,m,290,Qian,m,350


    正确答案: D
    解析:
    main函数中,首先定义两个结构体STU类型的变量a,b,并对a完成初始化,然后将a赋值给b,使得结构体a,b的值都是{"Zhao", 'm', 290},再调用f函数。f函数的功能是将形参结构体指针c指向的结构体赋值为{"Qian", 'f', 350},由于形参是指针,C指向的结构体就是b,所以实参b的值被修改为{"Qian", 'f', 350},而a的值不变,答案选择A选项。

  • 第13题:

    下列程序运行后的输出结果是( )。#include#includeusing namespace std;class Person{public:Person(string n):name(n) { cout<<'P'; }private:string name;};class Date{public:Date(int y=2012,int m=12,int d=21):year(y),month(m),day(d) { cout<<'D'; }

    private:int year,month,day;};class Student:public Person{public:Student(string n,int y,int m,int d,char c):birthday(y,m,d),sex(c),Person(n) { cout<<'S'; }private:Date birthday;char sex;};int main(){Student stu1("Zhang",1990,10,1,'F');return 0}

    A. S

    B.PS

    C.DPS

    D.PDS


    参考答案:D

  • 第14题:

    有如下定义: struct person {char name[9];int age;} struct person class[10]={ "John",17, "Paul",19, "Mary",18, "Adam",16}; 能输出字母M的是( )

    A.printf("%c\n",class[3].name);

    B.printf("%c\n",class[3].name[1]);

    C.printf("%c\n",class[2].name[1]);

    D.printf("%c\n",class[2].name[0]);


    正确答案:D

  • 第15题:

    设有以下语句: struct SS { int no; char name[10];}PERSON; 则下面叙述中错误的是 ( )

    A.struct是结构体类型的关键字

    B.struct SS是结构体类型

    C.PERSON是结构体类型名

    D.name是结构体成员名


    正确答案:C

  • 第16题:

    设有定义:

    struct person

    {int ID;char name[12];}P;

    请将scanf(“%d”, 【 】);语句补充完整,使其能够为结构体变量P的成员ID正确读人数据。


    正确答案:&p.ID
    &p.ID 解析:结构体成员的引用通过符号“.”来表示,通过scard语句对变量进行赋值时,要用取地址符&。

  • 第17题:

    TestClass类定义如下: class TestClass { private: intid; char gender; char*phone; public: TestClass ():id(0),gender('#'),phone(NULL){) TestClass(int no,char ge='#',char *ph=NULL) {id=no;gender=ge;phone=ph;} }; 下面类对象定义语句中错误的是( )。

    A.TestClass myObj(i);

    B.TestClass myObj(2,"11101111155");

    C.TestClass myObj(1,'m');

    D.TestClass myObj;


    正确答案:B
    解析:B) 中由于有两个参数,所以其调用了第二个构造函数,第二个构造函数的两个缺省参数,在调用时,实参会按从左到右的顺序传给形参,所以第二个参数“11101111155”会传递给形参ge,而原型中的ge为字符型,实参为指向字符的指针,所以在编译时会出现错误。A) 与C) 都能够正确的实现参数的传递。对于D) ,由于在创建TestClass的实例myObji时,没有参数,所以其调用了第一个构造函数。

  • 第18题:

    根据下述定义,能输出字母M的语句是( )。struct person { char name[9]; int age;}class[10]={"Johu",17,"Paul",19,"Mary",18,"Adam",16};

    A、prinft("%c\n",class[3].nane);

    B、pfintf("%c\n",class[3].name[1]);

    C、prinft("%c\n",class[2].name[1]);

    D、printf("%c\n",class[2].name[0])


    正确答案:D

  • 第19题:

    设有如下定义 struct ss { char name[10]; int age; char sex; }std[3], * p=std; 下面各输入语句中错误的是

    A.cin>>(* p).age);

    B.cin>>std.name);

    C.cin>>std[0].sex);

    D.cin>>(p->.sex));


    正确答案:B
    解析:std是一个数组,其内可以存放三个结构体类型的数据。当std单独使用的时候表示一个指针,指向该数组首地址。因此不能直接用std和点操作符进行配对使用。指针操作符->只能和指针配对使用,点操作符只能和有名对象或变量配对使用。

  • 第20题:

    public class Person {  private name;  public Person(String name) {  this.name = name;  }  public boolean equals(Object o) {  if( !o instanceof Person ) return false;  Person p = (Person) o;  return p.name.equals(this.name);  }  }  Which is true?() 

    • A、 Compilation fails because the hashCode method is not overridden.
    • B、 A HashSet could contain multiple Person objects with the same name.
    • C、 All Person objects will have the same hash code because the hashCode method is not overridden.
    • D、 If a HashSet contains more than one Person object with name=”Fred”, then removing another person, also with name=”Fred”, will remove them all.

    正确答案:B

  • 第21题:

    多选题
    在J2EE中,使用()选项中的代码,可以生成如下XML文档:      Tony Blair
    A

    Element people = doc.createElement(PEOPLE);  Element person = doc.createElement(PERSON); Element name = doc.createElement(NAME); name.appendChild(doc.createTextNode(Tony Blair)); people.appendChild(person); person.appendChild(name); doc.appendChild(people);

    B

    Element people = doc.createElement(PEOPLE);  Element person = doc.createElement(PERSON); people.appendChild(person); Element name = doc.createElement(NAME); name.appendChild(doc.createTextNode(Tony Blair)); person.appendChild(name); doc.appendChild(people);

    C

    Element people = doc.createElement(PEOPLE);  Element person = doc.createElement(PERSON); people.appendChild(person); Element name = doc.createElement(NAME); name.appendText(doc.createTextNode(Tony Blair)); person.appendChild(name); doc.appendChild(people);

    D

    Element people = doc.createElement(PEOPLE);  Element person = doc.createElement(PERSON);Element name = doc.createElement(NAME); name.createTextNode(Tony Blair); people.appendChild(person); person.appendChild(name); doc.appendChild(people);


    正确答案: D,A
    解析: 暂无解析

  • 第22题:

    单选题
    若有以下程序#include #include #include typedef struct stu{ char *name,gender; int score;}STU;void f(char *p){ p=(char *)malloc(10); strcpy(p,Qian);}main(){ STU a={NULL,'m',290},b; a.name=(char *)malloc(10); strcpy(a.name,Zhao); b=a; f(b.name); b.gender='f'; b.score=350; printf(%s,%c,%d,, a.name, a.gender, a.score); printf(%s,%c,%d, b.name, b.gender, b.score);}则程序的输出结果是(  )。
    A

    Qian,m,290,Qian,f,350

    B

    Zhao,m,290,Qian,f,350

    C

    Qian,f,350,Qian,t,350

    D

    Zhao,m,290,Zhao,f,350


    正确答案: D
    解析:
    初始化时,struct a中的数据:a.name:Zhao,a.gender:m,a.score:290。执行b=a,则b中的数据:b.name:Zhao,b.gender:m,b.score:290,struct在赋值过程中实现的是浅拷贝,a.name和b.name指向同一块内存空间。执行f(b.name),函数f中形参p和b.name指向同一块内存空间,在f函数内部,p又重新指向另外一块分配的内存空间,而b.name的指向没有变化,指向的内存空间的值也没有发生变化,函数f返回后,b.name中的值依然是Zhao。答案选择D选项。

  • 第23题:

    单选题
    有如下程序:#include struct person{ char name[10]; int age;};main(){ struct person room[4] = {{Zhang,19}, {Li,20}, {Wang,17}, {Zhao,18}}; printf(%s:%d,(room+2)->name, room->age);}程序运行后的输出结果是(  )。
    A

    Wang:19

    B

    Wang:17

    C

    Li:20

    D

    Li:19


    正确答案: B
    解析:
    可用以下3种形式来引用结构体变量中的成员:①结构体变量名.成员名;②指针变量名->成员名;③(*指针变量名).成员名。数组名room是指向数组首地址,也可以当做指向数组的指针来使用。room+2指向数组第三个元素,(room+2)->name为字符串Wang;room指向数组第一个元素,room->age=19。答案选择A选项。

  • 第24题:

    单选题
    有如下程序:#include struct person{ char name[10]; int age;};main(){ struct person room[2] = {{Wang,19},{Li,20}}; printf(%s:%d,(room+1)->name, room->age);}程序运行后的输出结果是(  )。
    A

    Li:19

    B

    Wang:19

    C

    Li:20

    D

    Wang:17


    正确答案: A
    解析:
    room表示数组首地址,首地址+1,指向room数组中第二个元素,并将该元素的name信息进行输出,同理,对第一个元素中的age信息输出。答案选择A选项。