C#入门详解(3)

构成C#语言的基本元素

关键字

关键字是预定义的保留标识符,对编译器有特殊意义。//编译器的代码规范

操作符

对数据进行运算,数据可能是多个,运算可能是逻辑运算,移位运算或一般算术运算等。

标识符

自己定义的变量名,类型名等。数字,字母,下划线组成,且不能以数字开头。

标点符号

对应键盘上标点符号,建议全英文键盘状态下

文本

字符,字符串等

注释与空白

注释和空白是编译器不关心的,尽量在命名上规范,逻辑紧凑,代码即注释。

简要介绍类型、变量和方法

不同种类的数据有不同种类的数据类型,这是强类型语言的特征。C#有var 声明交由编译器判定。

变量可以承载一个实例或者数值类型数据,为我们所用。

方法又可以叫做函数或者成员方法,是类的成员。

算法简介

常见的有,迭代、递归、数学算式。递归慎用,可能复杂度高,消耗大量内存。

//汉诺塔问题(练习递归思想)

问题描述:自行百度。

解决方案目标:输入圆环数量,得到多少次才能移动完成

解决方案一:从一环开始枚举,凭经验推送,加一个验证

得到公式:2的n次方减去1

解决方案二:假设法:A、B、C三根柱子

A起始有n个圆环,最终目标:A上0个圆环,B上n个圆环,C上0个圆环  耗费x次数

假设我们提前在B上装了最大的圆环:

A起始有n-1个圆环,最终目标:A上0个圆环,B上n个圆环,C上0个圆环,耗费x-1次数

得到递归思路,正序逆序次数相等所以之后要乘2。

        public class HanNuoTa
        {
            public int JiSuan(int i)
            {
                if (i==1)
                {
                    return 1;
                }
                else
                {
                    return 2*JiSuan(i - 1)+1;
                }
            }
        }

 

猜你喜欢

转载自www.cnblogs.com/jingjingweixiao/p/10915739.html