C#总结知识点

模块一:知识点梳理

输入输出表达式---数据类型---变量与常量 ----运算符---语句-----数组与集合---函数--结构体;

模块二:输入与输出

输入:  console.resdline();   console.read();

输出:  console.writeline() ;     console.write();

模块三:数据类型

A  分类: 值类型  对象类型(引用类型)

1 值类型:

基本类型: int shart long  double float decimal  char bool

字符串的字面值:

\’ 表达为单引号        \’’  双引号     \\ 反斜杠    \0 空格   \a 蜂鸣   \b退格   \f  换页  \n 换行    \r 回车    \t 水平制表符   \v垂直制表符

★技巧1 String  a=@”www.baidu.\ddeg\\frfr\.com.“(@“包含特殊符号的要输出的语句”);

复杂类型  datetime类  math 类

Datetime:表达形式

Math:表达形式

2对象类型

String 类  表达形式

定义  字符串名字 str;

1) str.lenth(); //获取字符串长度; str.toupper/str.lower(); 将字符串全部调整为大写/小写; str.replace(要被替换的字符,要去替换的字符) 返回已经替换完成的字符串;

2) Str.trim()  str.trimstar()  str.trimend()  分别为去除字符串前后空格 去除字符串前空格 去除字符串后面空格

3)截取指定位置字符串:str.substring(起始位置int,截取长度int)返回值为字符串

string a="rfrrggfsggrrfgsfghggs";

string  s = a.Substring(4, 4);

Console.Write(s);

4)str.indexof(); str.lastindexof();

例子 : string a="rfrrggfsggrrfgsfghggs";

int w = a.IndexOf("r");//某个字符串在这个字符串中第一次出现的位置

int e = a.LastIndexOf("r");//某个字符在这个字符串中最后一次出现的位置

Console.Write(w); //返回值为整数

Console.WriteLine(e);

5)bool 型(返回bool值 true or fause)

例 :string a="rfrrggfsggrrfgsfghggs";

bool w = a.EndsWith("g");//是否以 g结尾

bool e = a.StartsWith("f");//是否 以f 开头

bool t = a.Contains("e");//是否包含e

Console.Write(w);//返回值为ture 或者是fause

Console.WriteLine(t);

Console.WriteLine(e);

3 类型间的转换

数据转换:

计算机运算的时候,必须使用同一类型数据进行运算。

如果不是同一类型数据,则需要进行类型转换。

类型转换的分类:

1.自动转换:只要不会出现丢数据的可能,就自动转。

byte->short->int->long->float->double

2.强制转换:凡是可能会出现丢数据的情况,就需要强制转。

在被转换的数据左边加上小括号:(要被转换成的数据类型)

使用Convert.ToXXXX(要被转换的数据)

例子:

int d = (int)3.14;

int d = Convert.ToInt32( 3.14);

float f = (float)3.14;

float f = Convert.ToSingle(3.14);

如果是字符串转换基本数据的话必须使用Convert.ToXXX(字符串);

模块四  变量与常量

  1. 常量

Const +数据类型 +常量名   例 const  PI  ;注:变量名一般为全部大写;

B  变量

命名规则:  a 变量名可以由 字母,数字 下划线, @,汉字  组成

b 变量名首字符 不能是数字;

c 变量名不能为关键字;

(一)变量——U盘

1.定义:

数据类型 变量名[=值[,变量名=值]];

变量名的命名规则:a.组成。b.首字符。c.关键词

2.赋值:变量名=值;

3.取值:直接使用变量名。

注意变量的作用域:变量只在它所在的花括号里面起作用,出了花括号就访问不到了。

1.在同一个花括号内,不能出两个重名的变量定义。

2.如果多重花括号,外层和里层都出现同一个变量的定义,则使用的时候遵循“就近原则”。

(二)常量——光盘

在程序只能定义的时候赋值,在运算的时候无法修改值(不能放在等号的左边)

1.定义:

const 数据类型 常量名 = 值;   //一般来说常量名统统大写。

2.取值:直接使用常量名。

3.分类:符号常量和字面常量。

int a = 10;  //10就是字面常量

const int PI = 3.14; //PI-符号常量;3.14字面常量

模块五 运算符

运算符:

一、算术运算:

+ - * / % ++ --

注意:

1.做除法运算的时候,如果两个操作数同为整数,则运算结果也是整数,不会出现小数。

2.上面这些运算,如果两个操作数不同是一类型,在运算的时候会自动进行类型转化。

取余用途有哪些?

1.判断能不能整除?

2.用来把数变成某个范围之内的数。

自增与自减操作:

语法:

变量名++; ++变量名;

int a = 4;

a++;  ++a;

意义:

a++ ++a <==> a = a+1; <==> 1.把a的值取出来。2.把a的值加上1。3.把加完的结果再赋给a。

5++ 为什么不正确?

const int b = 5;

b++; 为什么不正确?

++a与a++的区别?

1.如果这一行语句中,只有唯一的++或--运算,不再有其它运算的话,前++后++效果是一样的。

2.如果这一行语句中,除了++ --外,还有其它运算。

前++,最先执行。后++,最后执行。

例如:

int a = 5;

int b;

b = a++; //相当于b = a; a = a+1;

Console.WriteLine(a); //a=6

Console.WriteLine(b); //b=5

b = ++a; //相当于a = a+1;b=a;

Console.WriteLine(a); //a=6

Console.WriteLine(b); //b=6

二、关系运算符:6个

== != > >= < <=

所有关系运算符,运算的结果都是bool型。

int a = 5;

int b = 6;

Console.WriteLine(a == b); //False

Console.WriteLine(a != b); //True

Console.WriteLine(a > b); //False

Console.WriteLine(a < b); //True

Console.WriteLine(a >= b); //False

Console.WriteLine(a <= b); //True

注意:不要把== 写成 =

三、逻辑运算符

&& || !

int a = 5;

int b = 6;

a>6 && b<=10 //结果是False

18<a<35 ==> a>18 && a<35

a<18 或 a>35 ==> a<18 || a>35

&&——只有两个条件都成立,结果才成立True;如有一个不成立,或者两个都不正确,结果就False

||——除非两个都不成立,结果才不成立False;只要有一个成立,结果就成立True。

!——取反运算。

int a = 16;

bool b =  a>18 && a<35; //b == false

bool c = !(a>18 && a<35); //c == true

四、其它运算

= -- 赋值运算,把右侧的值赋给左侧。因此它的左侧只能是变量,不能是常量或表达式。

+= -= *= /= %= --- 复合运算符。

int a = 5;

a += 10;  // <==> a = a+10; //1. 执行a+10。2.把相加的结果赋给a;

?: -- 条件运算符。

逻辑(关系)式?式子二:式子三;

int a = 10

int b = 5;

bool c = a>b?a:b;

模块六  语句(顺序 循环 分支)

五、语句:顺序、分支、循环

(一)分支:

1.if

(1)if(条件){}

(2)if(条件){} else {}

(3)if(条件){} else if(条件){}...else{}

(4)if(条件){if(条件){}..else{}} else{if(条件){}...else{}}

案例:

a.18岁抓当兵。

b.相亲

c.体重

d.平年闰年 ——判断一个日期是否正确。

e.一元二次方程根的情况。

2.switch

switch(表达式)

{

case 常量:

...

break;

case 常量:

...

break;

default

break;

}

(二)循环:

1.基本语法:

(1).for

for(初始条件;循环条件;状态改变)

{

循环体

}

循环的四要素:。。。。。。

(2).while

初始条件

while(循环条件)

{

循环体

状态改变

}

2.循环嵌套:

for(;;)

{

for(;;)

{

}

}

3.应用:

a.打印星号。好多图形。

b.穷举。把各种可能的情况都走一遍,筛选出符合条件的。

●100以内所有与7有关的数。

●买牙刷,洗发水,香皂

●百鸡百钱,百马百石

●兑硬币

●填+-号使等式成立的。

●侦察兵

************关与本文中的例题不明白可以加793059747 相互探讨一下************

c.迭代。找到规律,使用变量不断累计的功能实现运算。不断求中间结果,直到得出最终的结果。

●100以内所有数的和

●猴子吃桃

●小朋友算年龄

●折纸-珠峰

●棋盘分米

●富翁与程序员

●兔子

模块七 数组与集合

六、数组与集合

(一)数组:同一类型,连续存储

1.一维:——豆角

定义: 数据类型[] 数组名 = new 数据类型[长度]{初始值列表};

赋值:数组名[下标] = 值;

取值:数组名[下标]

与for语句配合用:——使用循环来控制下标。

数组常用的属性:Length。要搞清下标与长度的关系。

应用:

●球员打分。

●彩票

●排序

●二分法查找。

2.二维:——表格

定义:数据类型[,] 数组名 = new 数据类型[行数,列数]{初始值列表};

赋值:数组名[行下标,列下标] = 值。

取值:数组名[行下标,列下标]

与循环配合用:

for(;;) //循环行

{

for(;;)//循环列

{

}

}

应用:

●推箱子。

3.锯齿:——数组中的数组

定义:

1.定义数组中的数组:数据类型[][] 数组名 = new 数据类型[行数][];

2.定义一维数组:

3.把一维数组赋给数组的数组。

★★★★锯齿数组详解★★★★

.锯齿数组——数组的数组

定义:

a.定义数组的数组:

int[][] a = new int[3][];

b.定义一维数组:

int[] b1 = new int[4]{1,2,3,4};

int[] b2 = new int[3]{5,6,7};

int[] b3 = new int[5]{9,10,11,12,13};

c.把一维数组加到数组的数组中去

a[0] = b1;

a[1] = b2;

a[2] = b3;

使用:

a[行][列] = 。。。

a[行][列]

a.Length == ???  3

a[0].Length = ????? 4

(二)集合:不用连续

1.链表

弱类型:ArrayList list = new ArrayList(); //using System.Collection;

强类型:List<类型> list = new List<类型>(); //using System.Collection.Generic;

2.哈希表

弱类型:Hashtable table = new Hashtable();

强类型:Dictionary<key类型,value类型> table = new Dictionary<key类型,value类型>();

栈,队

★★★★集合详解★★★★

集合:

(1)链表——每个存储的值都会分配一个索引号,通过索引号可对每个元素赋值或取值。

弱类型:

using System.Collection;

ArrayList list = new ArrayList();

强类型:

using System.Collection.Generic;

List<类型> list = new List<类型>();

list.Clear();

list.Add(value);

list.Insert(索引号,value);

list.RemoveAt(索引号);

list.Count;

(2)哈希表——每个元素都由两部分组成,一部分叫key,一部分叫value

弱类型:

using System.Collection;

Hashtable table = new Hashtable();

强类型:

using System.Collection.Generic;

Dictionary<类型,类型> dic = new Dictionary<类型,类型>();

dic.Clear();

dic.Add(key,value);

dic.Remove(key)

dic.Count;

模块 八 函数  结构体

个人理解 函数 与结构体只是为了美化已经完成的程序提高程序的利用率,或者是说为了提高工作效率完成的;

函数

函数 :结构与枚举:

(一)结构体——自己定义的复杂的类型。

什么是结构体?为什么需要用到结构体?

定义:

struct 结构体名

{

public 数据类型 成员变量名;

public 数据类型 成员变量名;

public 数据类型 成员变量名;

...

}

使用:

结构体名 变量 = new 结构体名();

变量.成员变量 = 值

变量.成员变量

说明:结构体的成员,还可以用其它结构体来定义。

(二)枚举:使用枚举来替代一些难以记忆的整数。

枚举和整数之间可以相互强制转换。

定义:

enum 枚举名

{

成员名[=整数],

成员名[=整数],

成员名[=整数],

....

成员名[=整数]

}

结构体:

★★★★结构体详解:★★★★

结构体:

由多种简单类型,组合成一种复杂的类型。使用这种复杂的类型来解决生活中的实际例子。

一、结构体定义:

struct 结构体的名子

{

public 类型名 变量名;

.....

}

struct Student

{

public string NO;

public string Name;

public double YuWen;

public double ShuXue;

public double WaiYu;

public double ZongFen;

}

二、结构体的使用:

1.使用结构体来定义变量

Student s1 = new Student();

2.给结构体变量赋值。

s1.Name = "";

s1.NO = "";

3.给结构体变量取值。

s2.YuWen

三、复杂结构体。

使用结构体类型的成员变量,来组成更大的结构体。

1.先造个小的结构体

2.使用小的结构体来组合成更大的结构体。

struct Student

{

public string NO;

public string Name;

public ChengJi Score = new ChengJi();

public LianXiFangShi Contact = new LianXiFangShi():

}

struct LianXiFangShi

{

public string DianHua;

public string QQ;

public string YouXiang;

public string ZhuZhi;

}

struct ChengJi

{

public double YuWen;

public double ShuXue;

public double WaiYu;

public double ZongFen;

}

复杂结构体的定义:

Student s1 = new Student();

复杂结构体成员变量的使用。

s1.NO = "s001";

s1.Name = "张三";

s1.Contact.DianHua="18500002222";

s1.Contact.QQ="88888888";

s1.Contact.YouXiang="88888888@qq.com";

s1.Contact.ZhuZhi = "地球";

s1.Score.YuWen=89;

s1.Score.ShuXue=99;

s1.Score.WaiYu=79;

s1.Score.ZongFen = s1.Score.YuWen+s1.Score.ShuXue+s1.Score.WaiYu;

c# 结课小结的更多相关文章

  1. linux学习第十九天 (Linux就该这么学) 结课了

    今天最后一天课程了,结课了,还有点舍不得那,在些也祝 李老师 事业蒸蒸日上,超来超好, 今天内容是部署了 LNMP 部署动态网站环境(linux  +nginx+mysql+php) 安装文件挺别多, ...

  2. 南方IT学校期末PCB结课项目考试(实操)说明书

    南方IT学校期末结课项目考试(实操)说明书(一) 课程:<印制电路板设计技术>(二) 项目:笔记本电脑电源适配器的印制电路板设计(三) 背景说明:如今笔记本已经进入千家万户,作为给电脑充电 ...

  3. OO结课了,狂喜

    OO结课了,狂喜 哈哈哈哈哈 哈哈哈 哈哈 哈 第十三次作业 UML类图 简要分析: 本次作业是对UML类图进行解析,给到的接口里面已经有了很多类了,但是自带的类肯定是没有反应这些类的结构的.所以就自 ...

  4. OO Unit4总结 & 结课总结

    OO Unit4总结 & 结课总结 OO课Unit4 UML解析应用技术回顾 BUAA.1823.邓新宇 2020/6/19 总结本单元三次作业的架构设计 本单元的架构设计主要是两方面. 一方 ...

  5. 这是C语言结课前(期末考试之前)写给牛晓霞的一封信!

    致尊敬的牛晓霞老师: 这是黄领衫的感想,也是想告诉你的话! 在老师说要给班里写得好的人发黄领衫的时候,我当时的想法是我很有可能拿到这份奖品的,怎么说呢,算是一种自信吧,或是对自己的态度的认可.虽然我能 ...

  6. oo作业第四单元总结暨结课总结

    目录 一.第四单元作业架构设计 1.第一次UML作业架构设计 2.第二次UML作业架构设计 二.架构设计和OO方法理解演进 三.测试理解与实践的演进 四.课程收获总结 五.三个具体改进建议 一.第四单 ...

  7. 2017.8.12 dp课小结

    这节课难度超级大啊,基本上都是省选+NOI的题. 例1: 1801: [Ahoi2009]chess 中国象棋 Time Limit: 10 Sec  Memory Limit: 64 MB Subm ...

  8. 大一C语言结课设计之《学生信息管理系统》

    第一次写这么长的程序,代码仅供參考,有问题请留言. /* ** 学生信息管理系统 ** IDE:Dev-Cpp 4.9.9.2 ** 2014-6-15 */ #include <stdio.h ...

  9. C#结课报告

    Revision History Date Issue Description Author 18/May/2015 v1.0 Initial creation 邓彪翼 模拟图书馆的查询系统 1.ob ...

随机推荐

  1. UI:页面传值、单例模式传值、属性传值、NSUserDefaults 数据持久化

    <单页面传值> 页面传值,从前向后传值,使用属性,在后一个页面定义属性,在前一个页面,用点语法,获得值,在适当的时候传值 页面传值,从后向前面传值,使用协议和代理,在后一个页面指定协议,定 ...

  2. css去掉a标签点击后的虚线框(转自网络)

    outline是css3的一个属性,用的很少. 声明,这是个不能兼容的css属性,在ie6.ie7.遨游浏览器都不兼容. outline控制的到底是什么呢? 当聚焦a标签的时候,在a标签的区域周围会有 ...

  3. nodejs以及npm的安装

    参考资料:http://xiaoyaojones.blog.163.com/blog/static/28370125201351501113581/ 上面的仁兄说的比较清楚,基本解决了安装中遇到的问题 ...

  4. TT付款方式、前TT和后TT、LC信用证+TT付款方式

    TT付款方式是以外汇现金方式结算,由您的客户将款项汇至贵公司指定的外汇银行账号内,可以要求货到后一定期限内汇款. .T/T属于商业信用,也就是说付款的最终决定权在于客户.T/T分预付,即期和远期.现在 ...

  5. Slony-I的删除:

    接前篇:http://www.cnblogs.com/gaojian/p/3196244.html 简单的Slony-I设置实例 如何删除slony相关的内容呢. 我再另外找一台机器,安装slony, ...

  6. JDBC连接各种数据库的方法(经典)

    1)连接Oracle 8/8i/9i/10g/11g(thin模式) Class.forName("oracle.JDBC.driver.OracleDriver").newIns ...

  7. Swift学习笔记十

    枚举 一个枚举为一组相关联的值定义一个通用类型,并且让你可以在代码中类型安全地操作这些值. C中的枚举将关联的名字指派给一系列整型值.Swift中的枚举类型更为活泼,并不需要为每个成员指定值,如果指定 ...

  8. SQL 32位还原位64位出现3154错误

    1:首先检查新建数据库的路径是否正确. 2:勾选覆盖原有数据库. 3:新建查询,选择master.然后新建查询中进行如下直接对bak文件的操作. RESTORE DATABASE TestFROM D ...

  9. hdu4336 Card Collector 概率dp(或容斥原理?)

    题意: 买东西集齐全套卡片赢大奖.每个包装袋里面有一张卡片或者没有. 已知每种卡片出现的概率 p[i],以及所有的卡片种类的数量 n(1<=n<=20). 问集齐卡片需要买东西的数量的期望 ...

  10. UTF-8 BOM(EF BB BF)

    原标题:link标签和script标签跑到body下面,网页顶部有空白,出现“锘匡豢”乱码,UTF-8 BOM,EF BB BF 来自:http://tunps.com/link-and-script ...