}
}
6.下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数,请填空。 class Exe6 {
Static void Main(string[] args) {
int i,j;
for(i=0;________;i++) {
j=i*10+6; if(_________) {
continue; }
Console.WriteLine(“{0}”,j); }
Console.Read(); } }
7.程序运行结果:____________ 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; } }
class Exe7 {
static void Main(string[] args) {
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(); } }
五、编程题
1.斐波那契数列中的前两个数是1和1,从第三个数开始,每个数等于前两个数的和,编程 计算此数列的前30个数,且每行输出5个数。
2.从键盘上输入一个整数n的值,按下式求出y,并输出n和y的值(y用浮点数表示)。
y=1!+2!+3!+4!+??+n!
3.设计一个程序,输出所有水仙花数,所有水仙花数是一个三位整数,其各位数字的立方和 等于该数本身,例如,153=13+53+33。 4.设计一个程序,输入一个四位整数,将各位数字分开,并按其反序输出。例如:输入1234, 则输出4321。要求必须用循环语句实现。
5.求π/2的金是指的公式为:π/2=(2/1)*(2/3)*(3/4)*(4/5)*??*(2n/2n-1)*(2n/2n+1)*?? 其中,n=1,2,3,??。设计一个程序,求出当n=1000是π的近似值。 6.设计一个程序,输入一个十进制数,输出相应的十六进制数。 7.当x>1时,Hermite多项式定义为:
1 n=0
Hn(x)= 2x n=1
2xHn-1-2(n-1)Hn-2(x) n>1
当输入浮点数x和整数n后,求出Hermite多项式前n项的值。 8.找出数组a中最大值的下标,输出下标及最大值。 9.判断s所指的字符串是否是“回文”(即顺读和逆读是相同的字符)。
10.输入一组非0整数(以0作为结束标志)到一位数组中,求出这一组数的平均值,并统 计出正数和负数的个数。
11.设计一个程序,求一个4*4矩阵两对角线元素之和。 12.输入一个字符串,串内有数字和非数字字符,例如,“abc2345 345fdf678 jdhfg945”, 将其中连续的数字作为一个整数,依次存放到另一个整型数组b中。如将2345存放到b[0]。 345存放到b[1],678放入b[2],??统计出字符串中的整数个数,并输出这些整数。 第三章 C#面向对象编程 一、选择题
1.C#语言的核心是面向对象编程(OOP),所有OOP语言都应至少具有三个特性:()
A.封装、继承和多态 B.类、对象和方法 C.封装、继承和派生 D.封装、继承和接口 2.以下有关属性的叙述正确的是:()
A.要求与字段域一一对应 B.只包含get访问器的属性是只写属性 C.不能把它当变量使用 D.在静态属性访问器中可访问静态数据
3.假设class Mclass类的一个方法的签名为:public void Max(out int max,params int[]a),m1是Mclass类的一个对象,maxval是一个int型的值类型变量,arrayA是一个int型的数组对象,
则下列调用该方法有错的是()
A. m1.Max(out maxval) B. m1.Max(out maxval,4,5,2) C. m1.Max(out maxval,ref arrayA) D. m1.Max(out maxval,3,3.5)
4.枚举类型是一组命名的常量集合,所有整型都可以作为枚举类型的基本类型,如果类型省 略,则约定为()
A.uint B.sbyte C.int D.ulong 二、简答题
1.举一个现实世界中继承的例子,用类的层次图表示出来。 2.什么是抽象类和密封类?它们有什么不同?
3.分别在什么情况下使用隐式数值转换和显式数值转换? 三、填空题
1.析构函数不能由程序显式地调用,而是由系统在_________时自动调用。如果这个对象是 一个派生类对象,那么在调用析构函数时,除了执行派生类的析构函数,也会执行基类的 析构函数,其执行顺序与构造函数__________. 2.C#实现了完全意义上的面向对象,所以它没有____,任何数据域、方法都必须封装在类中。 3.在类中,如果一个数据成员被声明为static的,则说明这个类的所有实例都共享这个static 数据成员。在类体外,static成员不能通过_______来访问,它必须通过________来访问。 四、程序分析
1.下面的程序,输入不同参数,如:5、hello、0、1212121212121212等,观察并分析运行结果。 class Test {
static void Main(string[] args) {
while(true) {
String s=Console.ReadLine(); if(s==”exit”) break; try {
int i = 10/int32.Parse(s); Console.WriteLine(“结果是”+i); }
catch(IndexOutOfRangeException e) {
Console.WriteLine(e.Message); }
catch(FormatException e) {
Console.WriteLine(e.Message); }
catch(DivideByZeroException e) {
Console.WriteLine(e.Message); }
catch(OverflowException e) {
Console.WriteLine(e.Message); } }
Console.Read(); } }
2.指出下面代码中错误的地方,并进行修改。 using System;
??
namespace PavelTsekov {
interface I1 {
void MyFunction1(); }
interface I2 {
void MyFunction2(); }
class Test:I1,I2 {
public void I1.MyFunction() {
Console.WreitLine(\ }
public void I2.MyFunction() {
Console.WreitLine(\ } }
class AppClass {
static void Main(string[] args) {
Test t=new Test(); t.MyFunction1(); t.MyFunction2(); Console.Read(); } } }
相关推荐: