最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

C#物联网程序设计基础习题5(含答案)

IT圈 admin 46浏览 0评论

2024年4月1日发(作者:澄本)

习题5

一、选择题:

1.在c#中new关键字的作用是( )。

A) 新建对象实例 B) 定义命名空间

C) 调用类 D) 引入命名空间

2.C#中MyClass 为一自定义类,其中有以下方法定义

public void Hello(){..}

使用以下语句创建了该类的对象,并使变量obj 引用该对象:

MyClass obj = new MyClass();

那么,如何访问类MyClass 的Hello 方法( )。

A) () B) obj::Hello()

C) () D) MyClass::Hello();

3.下面哪一个不是C#关键字 ( )。

A)true B) sizeof C)super

4.下列关于构造函数的描述正确的是( )。

A) 构造函数可以声明返回类型。

B) 构造函数不可以用private修饰

C) 构造函数必须与类名相同

D) 构造函数不能带参数

5.如果不带修饰符,C#中类成员被默认声明成( )。

A)public B)protected C) private

6、下列关于析构函数的描述中,错误的是( )。

A.析构函数的函数体都为空

B.析构函数是用来释放对象的

C.析构函数是系统自动调用的

D.析构函数名是不能随意取的

7.下列关于运算符new的描述中,错误的是( )。

A.它可以创建对象或变量

B.它可以创建对象数组或一般类型数组

C.用它创建对象或对象数组时要调用相应的构造函数

D.用它创建的对象可以不用t()来释放

8、下列关于this的描述中,错误的是( )。

A.this是一个由系统自动生成的指针

B.this指针是指向对象的

C.this指针在用对象引用成员函数时系统创建的

D.this指针只能隐含使用,不能显式使用

二、分析下列程序的输出结果

1、

#include

using namespace std;

class M

D) void

D)static

{ int a;

public M() { a=0; }

public M(int i) { a=i; ine("init a");}

public int getA() { return a;}

}

void main()

{

M r1=new M();

M r2=new M(18);

ine(());

ine(());

}

答案:init a

0

18

2.

class DateClass

{ int year,month,day;

public DateClass(int y, int m, int d)

{

year=y;

month=m;

day=d;

}

public void Print()

{

ine(year + "/" + month + "/" + day);

}

}

void main()

{

DateClass d1 = new DateClass(2016, 10, 1);

DateClass d2 = new DateClass(2016, 12, 9);

();

();

}

答案:2016/10/1

2016/12/9

3、

class ClassA

{

private int a;

public int A

{

get { return a; }

set { a = value; }

}

public ClassA() { a=0; }

public ClassA(int i) { a = i; }

}

void main()

{

ClassA d = new ClassA(6);

}

(d.A);

答案: 6

、编程题:

按下列要求编程:

(1)定义一个描述矩形的类Rectangle,包括的数据成员有宽(width)和长(length);

(2)计算矩形周长;

(3)计算矩形面积;

(4)改变矩形大小。

通过实例验证其正确性。

答:编程如下:

class Rectangle

{ int width,length;

public Rectangle(int a,int b)

{ width=a; length=b; }

public int Area()

{ return width*length; }

public int Circle()

{ return 2*(width+length); }

public void Changesize(int a,int b)

{ width=a; length=b; }

public void Print()

{

ine("面积=" + Area());

ine("周长=" + Circle());

}

}

void main()

{

Rectangle r=new Rectangle(5,8);

();

size(3,9);

();

}

2、编一个关于求多个某门功课总分和平均分的程序。具体要求如下:

(1)每个学生信息包括姓名和某门功课成绩。

(2)假设5个学生。

(3)使用静态成员计算5个学生的总成绩和平均分。

答:编程如下:

class Student

{

string name;

int grade;

static int total=0;

public Student(string s,int gr)

{ name=s;

grade=gr;

total+=gr;

}

public static void Print()

{ ine("总成绩为 "+total+",平均成绩为 "+total/5.0);

}

}

void main()

{

Student s1=new Student("ma",85);

Student s2=new Student("Wang",96);

Student s3=new Student("Li",82);

Student s4=new Student("lu",78);

Student s5=new Student("zhang",80);

();

}

2024年4月1日发(作者:澄本)

习题5

一、选择题:

1.在c#中new关键字的作用是( )。

A) 新建对象实例 B) 定义命名空间

C) 调用类 D) 引入命名空间

2.C#中MyClass 为一自定义类,其中有以下方法定义

public void Hello(){..}

使用以下语句创建了该类的对象,并使变量obj 引用该对象:

MyClass obj = new MyClass();

那么,如何访问类MyClass 的Hello 方法( )。

A) () B) obj::Hello()

C) () D) MyClass::Hello();

3.下面哪一个不是C#关键字 ( )。

A)true B) sizeof C)super

4.下列关于构造函数的描述正确的是( )。

A) 构造函数可以声明返回类型。

B) 构造函数不可以用private修饰

C) 构造函数必须与类名相同

D) 构造函数不能带参数

5.如果不带修饰符,C#中类成员被默认声明成( )。

A)public B)protected C) private

6、下列关于析构函数的描述中,错误的是( )。

A.析构函数的函数体都为空

B.析构函数是用来释放对象的

C.析构函数是系统自动调用的

D.析构函数名是不能随意取的

7.下列关于运算符new的描述中,错误的是( )。

A.它可以创建对象或变量

B.它可以创建对象数组或一般类型数组

C.用它创建对象或对象数组时要调用相应的构造函数

D.用它创建的对象可以不用t()来释放

8、下列关于this的描述中,错误的是( )。

A.this是一个由系统自动生成的指针

B.this指针是指向对象的

C.this指针在用对象引用成员函数时系统创建的

D.this指针只能隐含使用,不能显式使用

二、分析下列程序的输出结果

1、

#include

using namespace std;

class M

D) void

D)static

{ int a;

public M() { a=0; }

public M(int i) { a=i; ine("init a");}

public int getA() { return a;}

}

void main()

{

M r1=new M();

M r2=new M(18);

ine(());

ine(());

}

答案:init a

0

18

2.

class DateClass

{ int year,month,day;

public DateClass(int y, int m, int d)

{

year=y;

month=m;

day=d;

}

public void Print()

{

ine(year + "/" + month + "/" + day);

}

}

void main()

{

DateClass d1 = new DateClass(2016, 10, 1);

DateClass d2 = new DateClass(2016, 12, 9);

();

();

}

答案:2016/10/1

2016/12/9

3、

class ClassA

{

private int a;

public int A

{

get { return a; }

set { a = value; }

}

public ClassA() { a=0; }

public ClassA(int i) { a = i; }

}

void main()

{

ClassA d = new ClassA(6);

}

(d.A);

答案: 6

、编程题:

按下列要求编程:

(1)定义一个描述矩形的类Rectangle,包括的数据成员有宽(width)和长(length);

(2)计算矩形周长;

(3)计算矩形面积;

(4)改变矩形大小。

通过实例验证其正确性。

答:编程如下:

class Rectangle

{ int width,length;

public Rectangle(int a,int b)

{ width=a; length=b; }

public int Area()

{ return width*length; }

public int Circle()

{ return 2*(width+length); }

public void Changesize(int a,int b)

{ width=a; length=b; }

public void Print()

{

ine("面积=" + Area());

ine("周长=" + Circle());

}

}

void main()

{

Rectangle r=new Rectangle(5,8);

();

size(3,9);

();

}

2、编一个关于求多个某门功课总分和平均分的程序。具体要求如下:

(1)每个学生信息包括姓名和某门功课成绩。

(2)假设5个学生。

(3)使用静态成员计算5个学生的总成绩和平均分。

答:编程如下:

class Student

{

string name;

int grade;

static int total=0;

public Student(string s,int gr)

{ name=s;

grade=gr;

total+=gr;

}

public static void Print()

{ ine("总成绩为 "+total+",平均成绩为 "+total/5.0);

}

}

void main()

{

Student s1=new Student("ma",85);

Student s2=new Student("Wang",96);

Student s3=new Student("Li",82);

Student s4=new Student("lu",78);

Student s5=new Student("zhang",80);

();

}

发布评论

评论列表 (0)

  1. 暂无评论