第一部分==进制转换

重点记忆:

1、任意进制转十进制

按权展开法

p代表进制数,a/b/c...m分别代表进制数p从右往左第1位--第(n-1)位的数

公式:a*p0+b*p1+c*p2+..........+m*P(n-1);

2、十进制转其他进制(二、八或十六进制)

公式:

十进制转二进制:除商取余法,十进制的数整数部分除以除数(2)取余数,余数按照倒序排列;

十进制转八进制:十进制的数先转成二进制,再以小数点为左右起点,3位一组,不足补0,按2---8对应关系转换;

十进制转十六进制:十进制的数先转成二进制,再以小数点位左右起点,4位一组,不足补0,按2----16对应关系转换;

第二部分==语言基础

一、了解程序的大体结构

1、文件后缀

.cs----源文件、程序代码

.sln----解决方案文件

函数的四要素:名称、输入、输出、加工

2、主函数 (在一个项目中,主函数有且仅有一个,既是程序的入口处,也是程序的结束点)

格式:static void Main(string[] args)

{

主函数内容(在这里编写程序)

}

3、输入语句

string s=Console.ReadLine();//读取一行数据,并赋值给s(所读取的数据都默认是字符串型)

4、输出语句

Console.WriteLine("要输出的内容");WriteLine输出后自动换行;

Console.Write("要输出的内容");

二、编写程序必须的语言---数据类型(两大类)

1、值类型

整形:byte、int、short、long

浮点型:float、double、decimal

布尔型:true、false

日期时间型:DateTime

字符型:char+单引号

枚举类型:

Enum E {.....}形式的用户定义类型

结构体类型:

Struct S {.....}形式的用户定义类型

2、引用类型

类类型:object——所有其他类型的最终基类

string——Unicode字符

Class C{.....]形式的用户定义类型

数组类型:一维、多维数组和集合ArrayList,int[]和int[,];

接口类型:

Interface I{.....}形式的用户定义类型

委托类型:

Delegate T.D(....)形式的用户类型

3、变量

1)、变量名:字母、数字、下划线、@、汉字;

2)、定义:数据类型 变量名[= 值]

例:string s="这是一个变量";

3)、使用:赋值、取值

4、常量

1)、分类:符号常量、字面常量

2)、符号常量  变量声明前加const

const int a=3;

3)、使用:不能赋值,只能取值

5、快捷键汇总

1)、语句结束+;(分号)

2)、注释一行://(左斜线)

3)、注释一段区域:/*........*/

4)、删除一行;shift+delete

5)、注释选中行:Ctrl+(K,C)

取消注释选中行:Ctrl+(K,U)

6)、Alt+ →提示,更改

7)、shift+Ctrl+Space 常用于在()中查看如何输入

三、数据类型的转换

分类:

1、自动转换(隐式转换)

2、强制转换(显示转换)

强制转换三种方式:

1)用()。()内是转换后的数据类型,只能转换同一大类

2)用convert.

3)用parse.解析,用于字符串型转相应值类型

四、运算符

分类:

1、数学运算符

2、关系运算符

3、逻辑运算符

4、赋值运算符

5、条件运算符(?:)

第三部分==语句

分类:

选择控制:if,else,switch,case

循环控制:while,do,for,foreach

跳转语句:break,continue(跳出本次循环,继续下面的循环)

异常处理:try,catch(捕获异常),finally

第四部分==类

第五部分==数组

第六部分==集合、特殊集合

集合不同于数组,是一组可变数量的元素的组合,集合能存放不同数据类型的值,不限定长度;而数组只能存放一种数据类型的值;

一、集合的基本操作:

1、定义集合:

ArrayList al=new ArrayList();

2、添加数据:

3、插入数据:

4、移除数据:

5、排序:代替冒泡排序,但是只能从小到大排列;

6、翻转:

7、查某个元素出现的位置放到n里面

某个数出现的最后位置:

8、统计元素个数:

9、清空集合

10、al[i]是直接访问集合中的第i个元素

二、特殊集合

1、Stack---堆集合

2、Queue---队列集合

3、HashTable---哈希表集合

第七部分==结构体

结构体实际是一个自定义的集合,里面可以包含各种类型的数据,用法同集合。

1、定义:

2、用法:

第八部分==枚举类型

第九部分==函数(重点)

一个较大的程序一般应分为若干个程序块,每一个模块用来实现一个特定的功能。所有的高级语言中都有子程序这个概念,用子程序实现模块的功能。在C#语言中,子程序的作用是由一个主程序和若干个函数构成。有主函数调用其他函数,其他函数也可以互相调用。同一个函数可以被一个或多个函数调用多次。

简单得理解函数,就是把主函数里面大片的程序代码分割到其他函数(即自建的函数)中,便于对主函数的应用,所有的程序在主函数中执行时,都需要从其他函数中调用函数。

在程序设计中,常将一些常用的功能模块编写成函数,放在函数库中供公共选用。要善于利用函数,以减少重复编写程序段 的工作量。

一、定义一个名为sum的简单函数,这里的参数叫做形参,并不是实际的参数。

Static void 函数名(数据类型 参数名)

函数体

return值;

在调用函数的时候,在Main函数中将实参传给函数体,函数体执行完后之后返回一个值到Main函数中,Main函数中定义一个变量来接收传递过来的值完成函数调用。

int a=函数名(实参)

二、函数调用

三、函数前面加注释

/// <summary>

/// 输入一个数字,返回它的和,这里写这个函数的功能
/// </summary>

/// <param name="m"></param>这里写m是做什么的

/// <returns></returns>这里写返回什么,也就是要求的数值

四、函数一个是传值另一个是传址

1、传值就是将实参的值传到所调用的函数里面操作,实参的值并没有发生变化。

2、传址就是将地址传到所调用的函数里面操作,实参的值也会跟着变化,传址的有数组和字符串string,字符串类型比较特殊;

五、结构形式:

修饰符(static/public/private)+ 返回值(有/无返回)+函数名(参数)---作用同主函数,但必须通过主函数的调用这个函数才能真正的起作用。

函数体(也就是程序代码,可以写任何程序)

函数下面就是主函数的执行:

ststic vioid Main(string[] args)----主函数在一个项目里有且仅有一个,即使程序的入口,也是程序的结束点;

{

主函数的调用

}

注:

1、修饰符有多种:static、public、private等

区别:它们之间可以访问的范围不同

static:是静态的,不能跨类使用,不用初始化;

public:可以在整个命名空间里公共使用,需要初始化;

private:只能在当前类里面使用,必须要初始化;

2、返回值

有返回值:多种数据类型int、string、double等

无返回值:void

3、函数名(有/无参数)如何加参数,参数类型有好多种

例:public void hanshu()/无参数

public string hanshu(int i,double b,string s)/有参数

4、()内不仅能传值,也能返回值---必须+out才能返回值,这是函数特有的

例:public int hanshu(int a,int b,out int s)//注意:这里写参数的顺序跟下面主函数调用时输出参数的顺序保持一致

//s是下面要输出的参数,要用out标识

5、在函数写完时,必须要用return返回,同开始学习时写入的程序必须要打印Console.WriteLine();

6、主函数调用部分:

1)需要返回什么样的数据类型,必须在前面转换成此数据类型

例:string s=hs.hanshu();//就是将这个名为hanshu的函数里面的数据转换成string类型,赋值给s;

2)解决函数中返回多个数值的问题,就是在()内加入要输出的参数+out,需要返回几个值就+几个out;

第十部分==递归

递归的特点就是自己调用自己,return是将数值返回到上一级执行。

10-26C#基础回顾、汇总(函数重点)的更多相关文章

  1. JS基础回顾_函数

    函数 不要使用C风格的大括号 // log function return1() { return { name: 'oceans', } } function return2() { return ...

  2. Javascript基础回顾 之(二) 作用域

    本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...

  3. Javascript基础回顾 之(三) 面向对象

    本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...

  4. C#基础回顾:正则表达式

    C#基础回顾:正则表达式 写在前面:本文根据笔者的学习体会结合相关书籍资料对正则表达式的语法和使用(C#)进行基本的介绍.适用于初学者. 摘要:正则表达式(Regular Expressions),相 ...

  5. 数论算法 剩余系相关 学习笔记 (基础回顾,(ex)CRT,(ex)lucas,(ex)BSGS,原根与指标入门,高次剩余,Miller_Rabin+Pollard_Rho)

    注:转载本文须标明出处. 原文链接https://www.cnblogs.com/zhouzhendong/p/Number-theory.html 数论算法 剩余系相关 学习笔记 (基础回顾,(ex ...

  6. 沉淀,再出发:Java基础知识汇总

    沉淀,再出发:Java基础知识汇总 一.前言 不管走得多远,基础知识是最重要的,这些知识就是建造一座座高楼大厦的基石和钢筋水泥.对于Java这门包含了编程方方面面的语言,有着太多的基础知识了,从最初的 ...

  7. ORACLE| ORACLE基础语法汇总

    创 ORACLE| ORACLE基础语法汇总 2018-07-18 16:47:34 YvesHe 阅读数 9141更多 分类专栏: [数据库]   版权声明:本文为博主原创文章,遵循CC 4.0 B ...

  8. [C#] C# 基础回顾 - 匿名方法

    C# 基础回顾 - 匿名方法 目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 -- 命名方法. 而 C# 2.0 -- 引进了匿名方法,在 ...

  9. Javascript基础回顾 之(一) 类型

    本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...

  10. JavaScript 基础回顾——对象

    JavaScript是基于对象的解释性语言,全部数据都是对象.在 JavaScript 中并没有 class 的概念,但是可以通过对象和类的模拟来实现面向对象编程. 1.对象 在JavaScript中 ...

随机推荐

  1. 如何用Qt写一个同一时间只能运行一个实例的应用程序

    http://blog.sina.com.cn/s/blog_6343941a0100nk2x.html 可以达到的目的: 1.应用只启动一个实例,依赖于QtNetwork模块 2.启动时向另一个实例 ...

  2. asp.mvc 基本知识

    (1)@Html.DisplayNameFor(model => model.Title)是显示列名, (2)@Html.DisplayFor(modelItem => item.Titl ...

  3. c、rust、golang、swift性能比较

    mac 计算速度视觉判断是(由好到差):c > rust > swift > golang 内存开销在mac上是(由好到差):c > rust > golang > ...

  4. maven pom.xml 配置 cxf-codegen-plugin 生成web服务客户类型

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  5. ElasticSearch聚合分析API——非常详细,如果要全面了解的话,最好看这个

    转自:http://www.tianyiqingci.com/2016/04/11/esaggsapi/ 前言 说完了ES的索引与检索,接着再介绍一个ES高级功能API – 聚合(Aggregatio ...

  6. 使用document.domain和iframe实现站内AJAX跨域

    站内AJAX跨域可以通过document.domain和iframe实现,比如www.css88.com.js.css88.com.css88.com这3个域名其实是3个不同的域,很多时候www.cs ...

  7. winform使用相对路径读取文件的方法

    获取exe文件的路径进行截取,分两次进行,然后拼接文件名,形成全路径 代码如下: string haarXmlPath = @"haarcascade_frontalface_alt_tre ...

  8. yii2.0缓存的使用

    1.片段缓存(针对于视图中的某部分进行缓存): <?php 设置有效时间 $time=15; 缓存依赖,存入文件.当文件内容发生改变是才会刷新新内容 $dependecy=[ 'class'=& ...

  9. Codeforces Round #260(div2)C(递推)

    有明显的递推关系: f[i]表示i为数列中最大值时所求结果.num[i]表示数i在数列中出现了几次. 对于数i,要么删i,要么删i-1,只有这两种情况,且子问题还是一样的思路.那么很显然递推一下就行了 ...

  10. main函数的参数的用法

    说明:main函数的参数的用法源代码: #include <stdio.h>#include <stdlib.h>int main(int argc, char *argv[] ...