C#结构化编程基础(金老师编程课第二讲)

  • 变量(variable )和数据类型(DataType)

变量就是一块内存地址的别名(利用变量名找到对应的一块虚拟内存),不直接使用内存地址的编码,因为不同的计算机硬件或者计算机操作系统存取数据的方式不同。

声明变量即为开设一个虚拟内存;变量的赋值即为变量对应的内存写入数据,变量之间的赋值即为数据的赋值,再存储。

把变量看做容器,int value =100;int类型的变量,变量名为value;变量生活在内存中,内存=内存单元+内存地址;汇编语言,可以利用内存地址找到内存单元取存数据,但受硬件和操作系统的限制。不具体指定内存地址,利用名字来取存数据,名字即为变量。赋值:利用变量名找到对应的内存区,将数据转化为2进制,保存到内存空间。

Gettype(变量):得出变量的种类 ;typeof (int) 用于比较变量的类型,是否为int

sizeof(变量):得出变量的占用内存单元(4个字节,32位)

int 32位 double 64位 100.6d float 32位100,5f long 64位 :100l

C#中采用的小写int double float long 需要转换为CLR支持的基础数据类型大写system.int32=int system.int64=long system.Single=float system.Double=double (类似于基类)

String and  string 不区分大小写,可以利用typeof 来比较,均会编译为 system.string

Var 关键字,隐式类型变量,用于精简代码。利用值的类型来自己推断类型。

数据类型的转换:大变小直接转换,隐式转换,小变大用方法:(int强制转换、int.parse 、convert.toint32 、tostring()  string+“”,一般提示无法隐式转换)

变量的分类:值类型+引用类型,前者存活于线程堆栈,后者存活于堆

运算符表达式,整数/整数=商,利用%取余,取模。++ --自增、自减运算符。

IF and Switch

逻辑表达式结果为 true or False ,逻辑表达式的组合 与&& 或|| 非!

注:=> 为lambda表达式。区别于>=

switch 注意语法 switch(变量)case 值:执行语句;break;最后为default:

 static void Main(string[] args)
        {
            Console.WriteLine("请输入第一个数字");
            int a = int.Parse(Console.ReadLine());
            Console.WriteLine("请输入第二个数字");
            int b = int.Parse(Console.ReadLine());
            Console.WriteLine("请输入运算符");
            string s = Console.ReadLine();
            switch (s)
            {
                case "+" :
                    Console.WriteLine(a+b);
                    break;
                case "-":
                    Console.WriteLine(a-b);
                    break;
                case "*":
                    Console.WriteLine(a*b);
                    break;
                default:
                    Console.WriteLine(a / b);
                    break;
            }
            Console.ReadKey();
        }
    }

循环语句:

for循环,知道循环的次数,以及每次的步长。

while 循环,知道循环的条件。

Do-While循环,知道循环的条件,先执行循环体后判断循环条件。

console的小技巧:
知道按键,利用console中的readkey 方法。返回值为control keyinfo

方法的调用,有静态和非静态之分,静态可以直接利用方法名进行调用,或者利用类名+方法名。非静态的方法,一般通过实例化对象来调用。

堆栈溢出 ,内存区域称为线程堆栈,他的储存空间有限。避免溢出,在递推中规模要变小即为收敛。

 static long Factorial(int n)
        {
            if (n==1)
                return 1;
            long ret;
            ret = Factorial(n - 1) * n;//再次调用,规模变小
            return ret;
        }

注意,计算机不能准确的比较两个值,一般利用Math类中的ABS方法,计算两个值之间的误差,并将误差与1e-10 等来进行比较。

原文地址:https://www.cnblogs.com/LljCoder/p/11029507.html

时间: 2024-10-07 17:08:41

C#结构化编程基础(金老师编程课第二讲)的相关文章

第四课-第二讲04_02_权限及权限管理

第四课-第二讲04_02_权限及权限管理三种权限:rwx三类用户:u:属主g:属组o:其他用户 1.chown:改变文件属主命令(管理员独享命令)chown USERNAME file,file2,file3,.....-R 递归修改,修改目录和目录下文件属主--reference = /path/to/somefile /path/file(主和组一起修改)chown USERNAME:GRPNAME filechown :GRPNAME filechown USERNAME.GRPNAME

第五课-第二讲05_02_bash脚本编程之一 变量、变量类型等

grep 搜索结果是浪费和占用大量的CPU资源fgrep : fast grep 不支持正则表达式,所以速度快 1.shell脚本编程编译器,解释器 编程语言:机器语言(01代码)汇编语言(机器可以识别人不可以)高级语言(接近人类的思考特性,但不是人类的自然语言,也不是机器语言.所以需要编译器)静态语言(编译型语言,需要编译器编译在执行前全部转换成可用执行格式,强变量类型语言.如 C C++ java)动态语言(解释型语言,通常是弱类型语言,需要解释器,解释器本身是静态语言开发的.执行时在转换,

第七课-第二讲 07_02_bash脚本编程之六 使用脚本选项及组合条件测试

vim 编辑多个文件 vim file1 file2 file3 就打开了多个文件,但是默认显示第一个文件.next 在末行模式下输入:next 切换至下一个文件prev 末行模式下输入:prev 切换至上一个文件(如果当前文件有改动 要先保存,然后切换至上一个文件)last 在末行模式下输入:last 切换至最后一个文件first 在末行模式下输入:first 切换至第一个文件qa或者qall 在末行模式下输入:qa 一次性全部退出打开的文件 分屏显示一个文件 Ctrl+w,s 按下Ctrl+

第八课-第二讲 08_02_bash脚本编程之七 case语句及脚本选项进阶

一. 面向过程控制结构顺序结构选择结构循环结构选择结构if语句 单分支,双分支,多分支case 语句 case语句:选择结构 case SWITCH invalue1)---此处的value是当做字符来比较的statement.....;;value2)statement.....;;value3)statement.....;;*)statement.....;;esac 原文地址:http://blog.51cto.com/13788421/2147914

第六课-第二讲06_02_sed命令

灵活按照我们需要充分处理文件要掌握三大利器:grep,sed(流编辑器),awk(报告文本生成器) 1.sed的基本用法-sed=Stream Editor--操作纯ascii的文本的,他是逐行处理文本的,所以也叫行编辑器(与之相对的叫全屏编辑器:vi)sed工作机制:并不直接处理文本文件本身,而是每次读取一行到内存空间,在内存中完成编辑,并且将编辑结果输出到屏幕,将模式空间中的内容输出到屏幕.这段内存空间叫sed的模式空间.默认情况下不编辑原文件,仅对模式空间中的数据做操作sed [optio

米斯特培训基础38课+第二期视频教程+其他渗透教程

这视频我也没看过,最近也是在学渗透(虽然我是个菜鸟),今天给大家分享几套视频. 米斯特基础入门38课+第二期培训:链接:http://pan.baidu.com/s/1qYFgvWo 密码:xl79(这个是两套视频) 小迪13期:链接:http://pan.baidu.com/s/1o8boPZk 密码:j93q(这4个压缩包下载来放在一起解压其中一个就可以了) 小迪14期:链接:http://pan.baidu.com/s/1pKOvE8F 密码:xpcv 还有个15期的,但是我这里的不完整,

【C语言探索之旅】 第一部分第四课第二章:变量的世界之变量声明

内容简介 1.课程大纲 2.第一部分第四课第二章:变量的世界之变量声明 3.第一部分第四课第三章预告:变量的世界之显示变量内容 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. C语言编程基础知识 什么是编程? 工欲善其事,必先利其器 你的第一个程序 变量的世界 运算符 条件表达式 循环语句 实战:第一个C语言小游戏 函数 练习题 习作:完善第一个C语言小游戏 C语言高级技术 模块化编程 进击的指针,C语言王牌 数组 字符串 预处理

Day6 - Python基础6 面向对象编程

Python之路,Day6 - 面向对象学习 本节内容: 面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法. 引子 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做<人狗大战>的游戏,你就思考呀,人狗作战,那至少需要2个角色,一个是人, 一个是狗,且人和狗都有不同的技能,比如人拿棍打狗, 狗可以咬人,怎么描述这种不同的角色和他们的功能呢? 你搜罗了自己掌握的所有技能,写出了下面的代码来描述这两个角色 1 2 3 4 5 6 7 8 9 10 11

零基础如何学习编程

零基础如何学习编程 心得笔记 自学编程2年来,加过n多群,泡过n多论坛,接触过心怀激情的编程新人,遇到过沉着冷静的技术大牛--编程,吸引了一批又一批的热血青年,或许是为了理想,或许是心中的爱好,不断有新人的加入,也不断有人从编程中退出.编程的入场入口只有一个,出场的出口却很多.自学编程的新人,有很大一部分卡在了入门上,对此,我想写下对编程入门的一些拙见,权当抛砖引玉,或对或错,还望同学们自己鉴定.1.零基础,打算自学编程,应具备哪些的知识?答:对于入门阶段,对知识水平的要求并不算高,或者说很低,