献给初入C#的自己和同道中人

以下内容均为基础薄弱或没有基础的同学而写
如有错误,各位高手还请留言指正!
注:小弟处女作,各位看官还请捧个人场。

一、开篇

C#作为一门编程语言,学习它之前,我们应了解一下有关计算机的一些基本知识。从计算机懂得的语言谈起会是个不错的主意。所以这一篇文章里,并不会提及C#的代码。只对一些概念性的知识进行阐述,对文字天然催眠者,可跳着阅读此章,但请别跳离文章。

1.关于0和1的那点事

计算机并不懂得英语,所以刚开始英语不好的同学,也不用太担心是否学不好C#。因为在计算机的世界里没有abc和123,更不会懂汉语。计算机能识别的只有0和1。

我们常常使用0~9这十个数字按逢十进一的规则来计数。这种计数方式称为十进制。

计算机只认识0和1,致使人们与计算机的交流需要建立在0和1的不同组合之上,这种组合被人称之为:二进制(机器码)。

二进制 八进制  十进制  十六进的相关信息,感兴趣的同学可以自己百度。

2.冯诺依曼定律

冯诺依曼定律最主要的是定义了计算机最为主要的三个部件:主板 内存  CPU

定律提出:把计算过程描述为由许多命令按一定顺序组成的程序,然后把程序和数据一起输入计算机,计算机对已存入的程序和数据处理后,输出结果。

而理论里所提的存储器、运算器、控制器、输入设备和输出设备之中,在程序和数据输入完毕之后。若无输出设备,计算过程并不会受影响。

因此确定了主板  内存   CPU是计算机的核心部件。

3.两种数据类型

在C#中,从大的方面看,将数据类型分为两种:

值类型:被分配到内存的堆栈中。

        微软对值类型的说明如下:

基于值类型的变量直接包含值。将一个值类型变量赋给另一个值类型变量时,将复制包含的值。

值类型的变量直接包含其数据,值类型的每个变量都具有其自己的数据副本,

因此对一个值类型变量执行的操作不会影响另一个值类型变量。ref 和 out参数变量除外。

 引用类型:被分配到内存的堆中。

        微软对引用类的说明如下:

引用类型的变量存储对其数据的引用。对于引用类型,两种变量可引用同一对象;

因此,对一个引用类型变量执行的操作会影响另一个引用类型变量所引用的对象。

以上是对两种变量类型进行说明。在后面的几个内容中,我会用代码来演示这些区别。

4.数据类型的声明与定义   

C#中有大量的关键字,你问我什么是关键字?

        引用微软原话如下:

关键字是对编译器具有特殊意义的预定义保留标识符。它们不能在程序中用作标识符,除非它们有一个 @ 前缀。

值类型的定义需要以下关键字:

整  型


类型


范围


大小


sbyte


-128 到 127


有符号 8 位整数


byte


0 到 255


无符号 8 位整数


char


U+0000 到 U+ffff


16 位 Unicode 字符


short


-32,768 到 32,767


有符号 16 位整数


ushort


0 到 65,535


无符号 16 位整数


int


-2,147,483,648 到 2,147,483,647


有符号 32 位整数


uint


0 到 4,294,967,295


无符号 32 位整数


long


-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807


有符号 64 位整数


ulong


0 到 18,446,744,073,709,551,615


无符号 64 位整数

浮点型


类型


大致范围


精度


float


±1.5e−45 到 ±3.4e38


7 位


double


±5.0e−324 到 ±1.7e308


15 到 16 位

十进制小数:常用于货币计算中


类型


大致范围


精度


decimal


(-7.9 x 1028 - 7.9 x 1028) / (100 - 28)


28-29 个有效位

布尔型:bool

字符型:char

结构:struct  

枚举:enum  

引用类型的定义需要以下关键字:

类   :class

接    口:interface

委    托:ddelegate

字 符 串:string

编译检查:dynamic

根  类:object

如何声明一个具体的数据类型:

  声明公式:

      数据类型定义关键字   变量名称;  PS:C#中一个语句的结束由;来确定

  实例:

      string typeDescription;    //声明一个叫typeDescription的字符串变量

        int typeDescriptionValue;  //声明一个叫typeDescriptionValue的整型变量

如何定义一个具体的数据类型:

  定义公式:

      数据类型定义关键字   变量名称 = 值;    PS:=读法:赋值

      或者

      数据类型定义关键字   变量名称;

      变量 = 值;

  实例:

      string typeDecription="给字符串赋值";  //将指向  给字符串赋值  的引用赋值给typeDecription

      int typeDecriptionValue;

      typeDecriptionValue=90;     //将 90 赋值给typeDecriptionValue

这样一看,小伙伴们是否对声明和定义有明显的概念了吗?

  二者的区别在于:声明变量不会开辟内存空间,而定义变量会开辟出一个内存空间存放与之对应的数据。

时间: 2024-10-08 12:12:33

献给初入C#的自己和同道中人的相关文章

C#基础教学---献给初入C#的自己和同道中人二

以下内容均为基础薄弱或没有基础的同学而写 如有错误,各位高手还请留言指正! 注:小弟处女作,各位看官还请捧个人场. 二 语法 在开篇里,引用类型和值类型大家或许还有疑问.这一篇里我将用几个小例子+图解来进一步让大家看到他们的区别.然后会在这个过程里,向大家介绍C#的基本语法.语法涉及有:访问修饰符,语句,语句块,语句的构成要素和三种注释. 有很多学习C#的初学者,并没有任何语法基础.我会用公式+代码来讲解下C#里最基础的语法. 在这里,先说设想下这样一个场景. 今天奥斯卡电话通知我,内容是我获得

[心情琐记]-为什么我选择做一个程序员?【谨以此文献给初入技术之路的纯白少年】

前言:此文又臭又长,废话连篇.某段言论激进,但绝无偏见.兄弟伙伴们看过且一笑置之. 人总是会变得,人也是最善变的动物.而我们要坚定的去努力不变成曾经厌恶的人! 那些年我们书生意气,伴着朗朗的读书声.'"大江东去浪淘尽,千古风流人物...","...惜秦皇汉武,略输文采,唐宗宋祖,稍逊风骚...",仿佛自己便是那些指点江山,激昂文字的主人公了,那些年我们是一群天真烂漫的纯白少年. 此去经年,应是良辰好景虚设,便纵有千种风情更与何人说?每当临近了六月,空气中弥漫的都是这

初入码田--ASP.NET MVC4 Web应用之创建一个空白的MVC应用程序

初入码田--ASP.NET MVC4 Web应用开发之一  实现简单的登录 初入码田--ASP.NET MVC4 Web应用开发之二 实现简单的增删改查 2016-07-29 再次之前,需要一台电脑(- ̄▽ ̄)-,以及Visual Studio 2013或者更高版本,SQL Sever数据库(暂时不用) 新建项目 下面会出现选择模板选项(我们选择的是MVC模板) 其中,在创建MVC模板时会有身份验证选项.可选择添加的文件夹和核心引用(Web Form和Web API)以及单元测试选项 身份验证分

0x00linux32位汇编初入--前期准备

0x00汇编初入--前期准备 一.汇编工具 在linux平台下常用的编译器为as,连接器为ld,使用的文本编辑器为vim,汇编语法为att 以下是一些工具: addr2line 把地址转换为文件名和行号 ar 创建,修改和展开文件存档 as 汇编器 c++filt 还原c++符号过滤器 gprof 显示程序简档信息 ld 把目标代码文件链接 nlmconv 把目标代码转换为Netware loadable Module格式 nm 列出目标文件中的符号 objcopy 复制和翻译目标文件 objd

初入树莓派1----安装系统+进入SSH

为了更好的从事程序员事业.填坑linux.为学弟打下第一手资料.留下linux培训教材-- -------实际就是为了搭个路由器///玩玩.... 入了树莓派3b +电源+外壳+sd卡---300大洋--------肉疼 树莓派3b的耗电量还是挺大的推荐买个2A以上的电源. ////////////////////////////////////分割线/////////////////////////////////////////// 树莓派系统安装+进入命令行 树莓派支持 数十款操作系统 一

初入'C',以做一个例题有感。

题目:写一个函数返回参数二进制中 1 的个数 方法1: 我自己写的,运用'%'和'/',感觉挺简单的. int count_one_bit(int num) { unsigned int count=0; while(num) { if(num%2==1) count++; num=num/2; } return count; } int main() { int n = 0; int count = 0; scanf("%d", &n); count = count_one_

初入前端,面对一个项目应注意哪些?

前言: 对于初入职场的前端小白来说,一整个项目来了,顿时感觉压力山大,张皇失措,也总会感到手忙脚乱.其实不用怕,拆分步骤,把每个步骤做好,做细,一切都迎刃而解,犹如顺藤摸瓜般畅快淋漓. 目录: 概念的介绍(可略) 项目分哪几个阶段(每个阶段注意什么) 如何排期 解决问题的方法 概念的介绍: PM(产品经理)负责需求的提出和项目的引导.PM根据产品特点和发展目标提出一定的需求,并协调各方资源投入开发.若需求层面有不清晰的地方,应当向PM沟通确认,如:需要做什么.希望达到什么效果.哪些内容应重点保证

致初入职场的兄弟姐妹

致初入职场的兄弟姐妹   我很喜欢电影<燃情岁月>中的那句台词--"有些人能够听见自己内心的声音,非常的清楚,他们依循着自己的内心来行事.这些人变得疯狂,或者成为传奇--"(Some people hear their own inner voices with great clearness and they live by what they hear. Such people become crazy, or they become legends. )     这是

初入京都的回想

北京,一个都市繁华的高新产业聚集地,我也就这样的来了.为了我的前端梦想. -----小飒的成长史 2012年 自从2012年进入软件工作室的那一刻起,我的生活就发生了与好友截然不同的状态.想想也觉得很神奇,大一一结束就进入一个软件工作室,这个工作室很励志,自然它叫励志工作室.进入工作室的第一项内容就是接触培训,菜鸟就是菜鸟,培训的学长学姐们说什么都是那张目瞪口呆的听着,似懂非懂,却也听的如此着迷.当时的崇拜感,现在想想也是异常激动. 头两个星期除了看基础视频,就是大家不停的通过八哥打字员这个软件