参考答案和解析
正确答案:
答:string str = null 是不给他分配内存空间,而string str =  给它分配长度为空字符串的内存空间。
更多“在C#中,string str = null 与 string str = “” 请尽量使用文字或图象说明其中的区别。”相关问题
  • 第1题:

    阅读下列程序说明和C++程序,把应填入其中(n)处的字句,写对应栏内。

    【说明】

    下面的程序实现了类String的构造函数、析构函数和赋值函数。

    已知类String的原型为:

    class String

    {

    public:

    String(coust char * str = NULL); //普通构造函数

    String( const String &other); //拷贝构造函数

    ~String(void); //析构函数

    String & perate =(const String &other); //赋值函数

    private:

    char * m_data; // 用于保存字符串

    };

    //String 的析构函数

    String:: ~String (void)

    {

    (1);

    }

    //String 的普通构造函数

    String: :String( const char * str)

    {

    if (2)

    {

    m_data = new char[1];

    *m_data = '\0';

    }

    else

    {

    int length = strlen(str);

    m_data = new ehar[ length + 1 ];

    strepy(m_data, str);

    }

    }

    //拷贝的构造函数

    String:: String( const String &other)

    { int length = strlen(other. m_data);

    m_data = new char[ length + 1 ];

    strepy(m_data, other, m_data); //赋值函数

    String & String::operate = (eonst String &other) //

    {

    if (3)

    return * this;

    delete [] m_clara; //释放原有的内存资源

    int length = strlen( other, m_data);

    m_data = new chart length + 1 ];

    (4);

    return (5);

    }


    正确答案:(1)delete[]m_data或者delere m_data
    (1)delete[]m_data或者delere m_data 解析:由于m_data 是内部数据类型,也可以写成delete m_data。

  • 第2题:

    下列( )语句是声明一个含有10个String对象的数组。

    A.char str [];

    B.char str [] [];

    C.String str[]=new String[10];

    D.String str[10];


    正确答案:C

  • 第3题:

    已知类 String 的原型为

    class string

    {

    public:

    string(const char *str=null);//普通构造函数

    string(const string &other);//拷贝构造函数

    ---string(void);

    string &operate=(const string &other);//赋值函数

    private:

    char * m-data;//用于保存字符串

    };

    请编写 string 的上述4 个函数


    正确答案:
     

  • 第4题:

    说出下面几个函数的区别:

    private void test(string str){…}

    private void test(ref string str){…}

    private void test(out string str){…}

    如果一个页面与数据


    正确答案:
     

  • 第5题:

    public static void main(String[] args) {  String str = “null‟;  if (str == null) {  System.out.println(”null”);  } else (str.length() == 0) {  System.out.println(”zero”);  } else {  System.out.println(”some”);  }  }  What is the result?()

    • A、 null
    • B、 zero
    • C、 some
    • D、 Compilation fails.
    • E、 An exception is thrown at runtime.

    正确答案:D

  • 第6题:

    下列哪个语句是声明了一个含有10个string对象的数组()。

    • A、char str[];
    • B、char str[][];
    • C、string str[]=newstring[10];
    • D、string str[10];

    正确答案:C

  • 第7题:

    C#中,新建一字符串变量str,并将字符串"Tom’sLivingRoom"保存到串中,则应该使用下列哪条语句()。

    • A、string  str="Tom/’s  Living  Room";
    • B、string  str="Tom’s  Living  Room";
    • C、string  str("Tom’s  Living  Room");
    • D、string  str("Tom"s  Living  Room");

    正确答案:A

  • 第8题:

    要声明一个长度为256个字符的定长字符串变量str,下列语句正确的是()

    • A、dim str as string
    • B、dim str as string(256)
    • C、dim str as string[256]
    • D、dim str as string*256

    正确答案:D

  • 第9题:

    顺序执行下列程序语句后,则b的值是() String str = "Hello"; String b = str.substring(0,2);

    • A、Hello
    • B、hello
    • C、He
    • D、null

    正确答案:C

  • 第10题:

    public static void main(String[]args){ String str="null"; if(str==null){ System.out.println("null"); }else(str.length()==0){ System.out.println("zero"); }else{ System.out.println("some"); } } What is the result?()

    • A、null
    • B、zero
    • C、some
    • D、Compilationfails.
    • E、Anexceptionisthrownatruntime.

    正确答案:D

  • 第11题:

    单选题
    以下叙述中正确的是(  )。
    A

    语句“char str[10]=string!;”和“char str[10]={string!};”并不等价

    B

    对于字符串常量“string!”,系统已自动在最后加入了'\0'字符,表示串结尾

    C

    对于一维字符数组,不能使用字符串常量来赋初值

    D

    在语句“char str[]=string!;”中,数组str的大小等于字符串的长度


    正确答案: B
    解析:
    B项正确,C编译程序将自动在字符串常量最后添加'\0'。AC两项错误,可以直接用字符串常量给一维字符数组赋初值,习惯上均省略花括号;D项错误,'\0'会占用一个不属于字符串的存储单元,因此数组str的长度大于字符串的长度。答案选择B选项。

  • 第12题:

    单选题
    public class Test {  public static void main(String[] args) {  String str = NULL;  System.out.println(str);  }  }   What is the result?()
    A

     NULL

    B

     Compilation fails.

    C

     The code runs with no output.

    D

     An exception is thrown at runtime.


    正确答案: C
    解析: NULL should be "null".

  • 第13题:

    下面代码的运行结果是( )。 public class ConcatTest { public static void main (String[ ] args) { String str1 = "abc"; String str2 = "ABC"; String str3 = str1. coneat(str2); System. out. println(str3); } }

    A.abc

    B.ABC

    C.abcABC

    D.ABCabc


    正确答案:C
    解析:String类的concat方法原型为public String concat (String str),其功能是将指定字符串连到此字符串的末尾。如果参数字符串的长度为0,则返回此String对象。否则,创建一个新的String对象,用来表示由此String对象表示的字符序列和由参数字符串表示的字符序列串联而成的字符序列。所以本题中的结果为str1和str2串联而成的字符序列,即“abcABC”。

  • 第14题:

    阅读下面程序 public class ConcatTest{ public static void main(String[] args) { String strl = "abc"; String str2 = "ABC"; String str3 = str1.concat(str2); System.out.println(str3); } } 程序的运行结果是:

    A.abe

    B.ABC

    C.abcABC

    D.ABCabc


    正确答案:C
    解析:本题考查字符串的使用。String类提供concat(str)方法,该方法将当前字符串对象与指定str字符串相连。题目程序中生成两个字符串变量str1和str2,并为其赋值,然后生成一个字符串变量str3,该字符串变量的值为表达式str1.concat(str2)的结果。表达式str1.concat(str3)是把字符串str1与字符串str2相连,结果为“abcABC”。
    因此,程序的运行结果是“abcABC”。本题的正确答案是选项C。

  • 第15题:

    C#中,string str = null 与 string str =””,请尽量用文字说明区别。(要点:说明详细的内存

    空间分配)


    正确答案:
    string str =”” 分配空间 

  • 第16题:

    阅读以下说明,Java代码将应填入(n)处的字句写在对应栏内。

    【说明】

    链表和栈对象的共同特征是:在数据上执行的操作与在每个对象中实体存储的基本类型无关。例如,一个栈存储实体后,只要保证最后存储的项最先用,最先存储的项最后用,则栈的操作可以从链表的操作中派生得到。程序6-1实现了链表的操作,程序6-2实现了栈操作。

    import java.io.*;

    class Node //定义结点

    { private String m_content;

    private Node m_next;

    Node(String str)

    { m_content=str;

    m_next=null; }

    Node(String str,Node next)

    { m_content=str;

    m_next=next; }

    String getData() //获取结点数据域

    { return m_content;}

    void setNext(Node next] //设置下一个结点值

    { m_next=next; }

    Node getNext() //返回下一个结点

    { return m_next; )

    }

    【程序6-1】

    class List

    { Node Head;

    List()

    { Head=null; }

    void insert(String str) //将数据str的结点插入在整个链表前面

    { if(Head==null)

    Head=new Node(str);

    else

    (1)

    }

    void append(String str) //将数据str的结点插入在整个链表尾部

    { Node tempnode=Head;

    it(tempnode==null)

    Heed=new Node(str);

    else

    { white(tempnode.getNext()!=null)

    (2)

    (3) }

    }

    String get() //移出链表第一个结点,并返回该结点的数据域

    { Srting temp=new String();

    if(Head==null)

    { System.out.println("Errow! from empty list!")

    System.exit(0); }

    else

    { temp=Head.getData();

    (4) }

    return temp;

    }

    }

    【程序6-2】

    class Stack extends List

    { void push(String str) //进栈

    { (5) }

    String pop() //出栈

    { return get();}

    }


    正确答案:(1)Head=new Node(strHead); (2)tempnode=tempnode.getNext(); (3)tempnode.setNext(new Node(strtempnode.getNext())); (4)Head=Head.getNext(); (5)insert(str);
    (1)Head=new Node(str,Head); (2)tempnode=tempnode.getNext(); (3)tempnode.setNext(new Node(str,tempnode.getNext())); (4)Head=Head.getNext(); (5)insert(str); 解析:本题考查链表和栈的基本特征在Java中的实现。
    在对链表进行表头插入时,首先要判断该链表是否为空,如果为空,直接插入结点;如果非空,在插入结点时把该结点的指针域改成能指向下一个结点的地址。在队尾插入时,同样要判断该链表是否为空,如果为空,直接插入结点;如果非空,在插入结点时把上一个结点的指针域改成能指向该结点的地址。
    下面来具体分析代码,首先定义了一个结点类,类中有两个不同的构造函数和三个函数,分别用于获取结点数据域,设置下一个结点值和返回下一个结点值。第(1)空是函数insert()里面的代码,函数要实现的功能是将数据str的结点插入在整个链表前面。结合整个函数看,此空处要实现的功能是在非空链表的前面插入结点,需要指针域来存放下一个结点的地址,而下一个结点的地址就是Head,因此,此处应该填Head=new Node(str,Head)。
    第(2)空和第(3)空一起考虑,它们都是函数append()里面的内容。函数要实现的功能是将数据str的结点插入在整个链表尾部。这两空要实现的功能是在非空链表的尾部插入结点。这需要调用返回下一个结点值函数和设置下一个结点值函数,因此,第 (2)空和第(3)空的答案分别为tempnode=tempnode.getNext()和tempnode.setNext(new Node(str,tempnode.getNext()))。
    第(4)空是函数get()里面的内容,此函数的功能是移出链表第一个结点,并返回该结点的数据域,从整个函数来看,此空处的功能是让链表的地址Head指向下一个结点。因此,答案为Head=Head.getNext()。
    第(5)空就比较简单了,要实现的功能就是让数据进栈,而进栈操作是在栈顶进行插入的,因此,只要调用函数insert()即可,其参数是str,此空答案为insert(str)。

  • 第17题:

    public class Test {  public static void main(String[] args) {  String str = NULL;  System.out.println(str);  }  }   What is the result?()  

    • A、 NULL
    • B、 Compilation fails.
    • C、 The code runs with no output.
    • D、 An exception is thrown at runtime.

    正确答案:B

  • 第18题:

    有变量定义语句“Dim Str1,Str2 As String *10”,其中Str1变量的类型应为(),其中Str2变量的类型应为()。


    正确答案:变体型;字符串型

  • 第19题:

    在C#中,表示一个字符串变量应使用下面哪条语句定义?()

    • A、CString str
    • B、String str
    • C、Dim str as string
    • D、char * str

    正确答案:B

  • 第20题:

    下面()是不正确的字符串赋值或赋初值的方式。

    • A、char*str;str=“string”;
    • B、charstr[7]={‘s’,‘t’,‘r’,‘i’,‘n’,‘g’};
    • C、charstr1[10];str1=“string”;
    • D、charstr1[]=“string”,str2[]=“12345678”;

    正确答案:C

  • 第21题:

    Which expressions are correct to declare an array of 10 String objects? ()   

    • A、 char str[];
    • B、 char str[][];
    • C、 String str[];
    • D、 String str[10];

    正确答案:C

  • 第22题:

    单选题
    Which expressions are correct to declare an array of 10 String objects? ()
    A

     char str[];

    B

     char str[][];

    C

     String str[];

    D

     String str[10];


    正确答案: A
    解析: 严格来说这个题目没有给出一个正确的答案,唯一比较正确的是c,而完全满足题目要求的应该是:String str[]=new String[10]; 注意答案d的形式是不对的,这和c++也是不同的。

  • 第23题:

    单选题
    public static void main(String[] args) {  String str = “null‟;  if (str == null) {  System.out.println(”null”);  } else (str.length() == 0) {  System.out.println(”zero”);  } else {  System.out.println(”some”);  }  }  What is the result?()
    A

     null

    B

     zero

    C

     some

    D

     Compilation fails.

    E

     An exception is thrown at runtime.


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