2011.10.14*************BACK TO BASIC。
生活中有三种人
第一种是卓越的人他们把自己每天要完成的事情写在纸上,每天都会完成它.
第二种是优秀的人这些人把自己想要的事情放在头脑里面,想起的时候再做.
第三种人是普通的人他们没有明确的目标去度过自己的每一天.
C#
0.对于变量要先定义再赋值再使用
1.swich case语句中case起到标号的作用,不能结束循环的作用;就像goto语句的标记。
2.循环语句的最重要的地方是 如何确定循环条件来实现我们循环体预期的执行次数。
3.对于循环语句编程高手喜欢使用do{} while()/while(){}而不是for(表达式1;表达式2;表达式3)
我们要有意的使用前两者;
4.结构化程序设计的灵魂:step by step。step可以使一个for语句一个while循环一个函数;
5.if else 语句中if的个数大于等于else的个数;else与它上一个离它最近的没有与else配对的if配对。
6.同类型的数相除得到同类型的数,不同类型的数相除得到精度高的数。
double类型的变量能精确到.后几位?
7.Random rnd=new Random(); //创建一个存储随机数的变量Random类没有构造函数.
roll=(int) rnd.Next(1,7); //生成一个1~6之间的随机数
8.数组:同类型的连续的变量的集合。个人认为数组的操作时最难的,特别是二位数组,因为二位数组很多情况下要利用双重for循环(循环条件的控制)。
9.冒泡排序算法的优化:
10.学习一门新语言的时候,要对比的学,一个程序可以用多门语言实现.
11.变量和常量的区别就是一个可以改变另一个不能改变.变量的本事内存单元.
12.this指针,是指向类类型的指针变量,作用this指针指向对象本身,当调用this指针时,指针接受参数,然后将参数传 递给对象的方法,完成相应的操作。
this关键字,this可以用在类成员的内部,该关键字引用对象实例,由this对象引用的实例是当前对象的实例,this
关键字最常用的功能是把当前对象实例的引用传递给一个方法。
关键字的定义***********************************************?
13.今天听见了老师说他到现在为止还没有弄明白的问题。
14.老师说一定是共有的成员函数是构造函数.是不是一个错误???
对于C#如果没有提供构造函数,那么系统提供默认的构造函数,此构造函数默认是共有的,如果定义的构造函数是私有的那么着了类就不能被实例化,这正是抽象类的特点,难道抽象类不可一 有私有的构造函数吗?上级实验表明:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 入口地址
{
abstract class shunyang
{
public void shunyang1() { }
private void shunyang2() { }
}
class Program
{
static void Main(string[] args)
{
}
}
}
此段代码没有报错,怎么解释????????
15.静态成员函数没有this指针,友元函数没有this指针。
16.派生类中含有和父类中同名成员.那么派生类对象为同名成员开辟两个内存空间,但是对象调用成员时调用的是本身的 成员而不是继承的,如果想要调用基类的成员,可以通过基类对象调 用.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 入口地址
{
class shiyan1
{
public int a;
public shiyan1()
{
a = 1;
}
}
class shiyan2 : shiyan1
{
public int a;
public shiyan2()
{
a = 2;
}
}
class Program
{
static void Main(string[] args)
{
shiyan1 c = new shiyan1();
shiyan2 b= new shiyan2();
Console.WriteLine("{0}",b.a);
c = b;
Console.WriteLine("{0}",b.a);
}
}
}
17.函数的定义时的参数类型 值类型 指针类型(实质也是值类型) 引用类型(实参的别名,将实参邦定),还有默认值参数
18.函数的调用通过函数名 或者 函数指针,内存为函数也开辟了内存空间函数名就是内存空间的首地址。如果函数返回值没有变量接受,则创建匿名变量接受.函数调用的过程:函数邦定,
函数有操作码和地址码,函数调用过程就是由操作系统或者是编译环境计算出函数的地址码,然后装入地址码。
19. i++拿出来 运算 写回去 拿出来+1,写回去;
++i拿出来+1,写回去 运算;
20 OnlyReadC#特有关键字,与静态成员的区别在于,它可以在构造函数中赋值,或者在定义过程中利用变量为其赋初值。
21.如果函数参数中存在数组型参数,那么该形参放在最后面,类似于函数的默认值参.
22.ref型参数实参传递给形参的是地址.???
23.我个人写程序时,习惯先写成员变量,在写成员函数,我个人认为成员函数是对数据进行操作的.
24.静态方法最大的特点就是没有this指针,所以不能实例数据成员,只能调用类中的数据成员。
25.严格意义上讲返回值类型不同的方法不算重载.
26.构造函数不能被继承,析构函数可以被继承.//????????
27.c++的析构函数在c#中叫做垃圾处理器,C#中析构函数封装了所有类的构造函数(.NET本质论中说的);
28.在C#中运算符的本质是函数,在老师说之前还是没有想到,自己应该反思一下这是为什么?