第一范文网 - 专业文章范例文档资料分享平台

C#实用教程郑阿奇课后习题答案

来源:用户分享 时间:2025/5/31 7:36:24 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

} }

9.下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数,请填空。

using System; public class Exe6 {

public static void Main() { int i,j;

for(i=0; i<10;i++) {

j=i*10+6; if ( j%3!=0 ) continue;

Console.WriteLine(\,j); } } }

10.用插入法对数组a进行降序排列,请填空。 Using System; public class Exe7 {

Public static void Main() {

Int[]a={4,7,1,2,5,8,9,10,3,6}; Int I,j,m;

for(i=1;i<10;i++) { m=a[i];

j= (1)i+1 ; while(j>=0 && m>a[j]) { (2) ; j--;

}

(3) =m; }

For (i=0;i<10;i++)

{console.writeLine(“{0}”,a[i]);} Console.writeLine(); } }

第三章 面向对象编程基础习题

1、C#语言的核心是面向对象编程(OOP),所有OOP语言都应至少具有三个特性: A A、封装、继承和多态 B、类、对象和方法 C、封装、继承和派生 D、封装、继承和接口

2、C#的构造函数分为实例构造函数和静态构造函数,实例构造函数可以对静态成员和非静态成员进行初始化,静态构造函数只能对静态成员进行初始化。

3、C#实现了完全意义上的面向对象,所以它没有全局变量、全局常数和全局方法,任何数据域和方法都必须封装在类体中。

4、方法中的值参数是__A______的参数。

A、按值传递 B、按引用传递 C、按地址传递 D、不传递任何值 5、以下关于ref和out的描述哪些项是不正确的 D

A.ref和out参数传递方法相同,都是把实在参数的内存地址传递给方法,实参与形参指向同一个内存存储区域,但ref要求实参必须在调用之前明确赋过值。

B.ref是将实参传入形参,out只能用于从方法中传出值,而不能从方法调用出接收实参数据 C ref和out参数传递的是实参的地址所以要求实参和形参的数据类型必须一致。

D.ref和out参数要求实参和形参的数据类型的数据类型必须一致,或者实参能被隐式地转化为形参。

6、假设class Mclass类的一个方法的简明为:public void Max(out int max, params int[] a),m1是Mclass类的一个对象,maxval是一个int类型的值类型变量,array A是一个int类型的数组对象,则下列调用该方法有错的是 C

A m1.Max(out maxval) B m1.Max(out maxval,4,5,3) C m1.Max(out maxval,ref array A ) D m1.Max(out maxval,3,3,5)

7、填空

1、析构函数不能由程序显示的调用,而是由系统在 释放对象时 时调用,如果这个对象是一个派生类对象,那么在调用构希函数时,除了执行派生类的析构函数,也会执行基类的析构函数,其执行顺序与构造函数 正好相反 。

2、在类中,如果一个数据成员被定义为static的,则说明这个类的所有势力都共享static数

据成员,在类体外,static成员不能通过 继承 来访问,他必须通过 构造函数 来访问。

3.程序运行结果 using System; public class Test {

public void change1(string s) {

s=s+”Change1”;

}

public void change2(ref string s) {

s=s+”Change2”; }

public void change3(string s1,out string s2) {

s1=s1+”Change3”;

s2=s1; }

}

Public class Exe8 {

Public static void Main(){ String s1,s2; S1=”Hello,”;

Test t1=new Test(); t1.change1(s1);

Console.WriteLine(“s1 after call to change1 is {0}”, s1); t1.change2( ref s1);

Console.WriteLine(“s1 after call to change2 is {0}”, s1); t1.change3(s1,out s2);

Console.WriteLine(“s1 after call to change3 is {0}”, s1); Console.WriteLine(“s2 after call to change3 is {0}”, s2); Console.Read(); } }

4.程序运行结果 using System; public class Test {

public void change(string s) {

s=s+”change1”; }

Public void change( ref string s) {

s=s+”change2” }

public void change(string s1,out string s2) {

s1=s1+”Change3”; s2=s1; } }

public class Exe9 {

Public static void Main() {

string s1,s2; s1=”Hello,”;

Test t1=new Test();

t1.change1(s1);

Console.Write(“s1 is {0}”, s1); t1.change2( ref s1);

Console.Write(“s1 is {0}”, s1); t1.change3(s1,out s2);

Console.Write(“s1 is {0}”, s2 is {1}”, s1,s2); Console.Read(); } }

8、定义全班学生成绩类,包括姓名,学号,C++成绩,英语成绩,数学成绩,和平均成绩,设计下列4个方法

1、全班成绩的输入

2、求每一个同学的平均成绩 3、按平均成绩的升序排列 4、输出全班成绩

using System;

using System.Collections.Generic; using System.Text; namespace hanxu {

class Program {

static void Main(string[] args) {

int t = 0; int k = 1;

Console.Write(\请输入全班同学的人数:\); t = Convert.ToInt32(Console.ReadLine()); score[] stu = new score[t];

Console.WriteLine(\请输入全班同学的信息:\); for (int i = 0; i < t; i++) {

Console.WriteLine(\请输入第{0}个学生信息:\, k++); stu[i] = new score(); stu[i].init(); stu[i].AVG(); }

Console.WriteLine(\按学号排序学生信息:\);

Console.WriteLine(\ 姓名 学号 C++ 英语 数学 平均成绩\); for (int j = 0; j < t; j++) {

stu[j].display(); }

Console.WriteLine(\排序后的学生信息:\);

搜索更多关于: C#实用教程郑阿奇课后习题答案 的文档
C#实用教程郑阿奇课后习题答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c1oekk1roxu0wacw0ffrw_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top