第一部分 了解C#

C#是微软公司在2000年7月发布的一种全新且简单、安全、面向对象的程序设计语言,是专门为.NET的应用而开发的。体现了当今最新的程序设计技术的功能和精华。.NET框架为C#提供了一个强大的、易用的、逻辑结构一致的设计环境。其特点:

  • 语言简洁
  • 保留了C++的强大功能;
  • 快速应用开发功能;
  • 语言的的自由性;
  • 强大的Web服务器控件;
  • 支持跨平台;
  • 与XML相融合;

第二部分 C#语言基础;

一、C#项目的组成结构;

1、项目后缀

.config——配置文件(存放配置参数文件)

.csproj——项目文件(管理文件项)

.sln——解决方案文件(管理项目)

.cs——源文件(程序代码)

注:后缀不同代表文件类型也不同,这些文件后缀类型会在“解决方案资源管理器”中看到。

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

3、主函数,输出语句,输入语句:

//命名空间

namespace ConsoleApplication1

{//类

class Program

{

//程序的入口

static void Main(string[] args)

{

//输出语句,打印不换行

Console.Write("这是我的第一个C#程序!");

//输出语句,打印完成换行

Console.WriteLine("Hello world!");

//输入语句,等待直到接收到回车命令为止,获取一整行内容

//一个等号表示赋值号

string s = Console.ReadLine();

Console.WriteLine(s);

Console.ReadLine();

}

}

}

注意:●输出:

Console.WriteLine("这是我的第一个程序。");

Console.WriteLine("这是第二行代码。");

Console.Write("这是要输出的文字。");注意:没有换行

注意:

1.大小写敏感;

2.所有的符号全都用英文;

3.不要漏掉;。

●输入:

string s = Console.ReadLine();

//这句话的意思是从控制台程序读取一整行内容放到s这个容器里面

Console.WriteLine("你刚刚输入的是:"+s);

string -字符串类型

s -变量名

= -赋值

Console.ReadLine(); - 从控制台程序读取一整行

4、快捷键的使用

● Alt + →提示,需要执行程序时点击启动或Ctrl+F5;

● ctrl + K(ctrl + E), 然后按ctrl + C,注释本行(软件工具栏中有快捷图标);

● ctrl + K(ctrl + E), 然后按ctrl + U,取消注释(软件工具栏中有快捷图标);

● Shift + delete,一删删一行;

● Ctrl + X,剪切一行;Ctrl + Z,回复;

● Ctrl + Shift + Space,将光标放在方法函数括号里面时使用,显示重载

5、注意事项

(1)、注释和[取消注释]:

● 选中相应的行,点击工具栏中的注释选中行[取消注释选中行];

● 选中相应的行,使用快捷键:Ctrl+K Ctrl+C [Ctrl+K Ctrl+U]

● 手动注释:在不要的行前面加//(注释一整行)

● 注释其中一段代码:/*这里面是代码 */

● 注释的作用://这两行是输出的功能

技巧:

● 写的代码尽量使用智能感知功能;

● 先写总体,再完善细节;

● 自动完成单词功能。Alt+→

例如:/*表示注释一段内容

Console.Write("请输入你的姓名:");

string name = Console.ReadLine();

Console.Write("请输入你的年龄:");

string age = Console.ReadLine();

Console.Write("\n");

//第一种方式

//Console.WriteLine("你的姓名是"+name+",今年"+age+"岁了。");*/

//加号在遇到string类型的时候表示拼接

//第二种方式

//Console.WriteLine("你的姓名是{0},今年{1}岁了。",name,age);

//Console.ReadLine();

(2)、在一行声明相同类型的多个变量之间用逗号分开。

例:int a, b;//声明变量类型,用逗号隔开

(3)、同一语句中,不能对同一个变量名声明成同一类型两次。

例:int a = 4; int a = 5;//错误

综上练习题:案例:输入姓名,年龄,单位,

整合成一个流畅的句子显示出来。

主要程序:Console.Write ("请输入你的姓名:");

string name = Console.ReadLine();

Console.Write("请输入你的年龄:");

string age = Console.ReadLine();

Console.Write("请输入你的单位:");

string danwei = Console.ReadLine();

Console.WriteLine("你的姓名是"+a+",今年"+b+"岁了,在"+c+"实训");

Console.ReadLine();

"你的名字是***,今年**岁了,在**实训。"将a,b,c代入***。

"你的名字是"+a+",今年"+b+"岁了,在"+c+"实训。"

二、数据类型

大类

小类

C#语言

.net语言(通用语言)

说明

大小(字节)

值区间

基本数据类型(值类型)

整型

sbyte

SByte

8位有符号整数

1

-128~127(负的2的7次方~正的2的7次方减1)

short

Int16

16位有符号整数

2

-32768~32767(负的2的15次方~正的2的15次方减1)

int

Int32

32位有符号整数

3

(负的2的31次方~正的2的31次方减1)

long

Int64

64位有符号整数

4

(负的2的63次方~正的2的63次方减1)

byte

Byte

8位无符号整数

1

0~255 (0~2的8次方减1)

ushort

UInt16

16位无符号整数

2

(0~2的16次方减1)

uint

UInt32

32位无符号整数

3

(0~2的32次方减1)

ulong

UInt64

64位无符号整数

4

(0~2的64次方减1)

浮点型

float

Single

32位单精度浮点数

4

1.5 × 10−45 到 3.4 × 1038

double

Double

64位双精度浮点数

8

5.0 × 10−324 到 1.7 × 10308

decimal

Decimal

128精确浮点数

16

1.0 × 10−28 到大约 7.9 × 1028

字符型

char

Char

16位Unicode字符,放在''里的是字符

2

任意字符

布尔型

bool

Boolean

表示true或者false

1

True或Flase

日期时间

datetime

DateTime

     

结构体

struct

Struct

     

枚举类型

enum

Enum

     

引用类型

字符串类型

string

String

   

字符序列

         

数组

         

集合

         

1、基本数据类型:值类型

⑴、整数类型:int(最常用)

int a = 2;

⑵、浮点型:double(最常用)是C#默认小数类型,float用需加后缀f,decimal用需加后缀m。

double b = 3.14;

a = (int)b;

float c = 3.14f;

decimal d = 3.14m;

⑶、布尔型:用于判断,只允许放TRUE或者FALSE。

bool e = false;

e = true;

2、引用类型:字符串型string,长度较长,定义时用双引号。

string ss = "Hello world!";

Console.WriteLine(e);

3、类类型

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

4、接口类型:interface

三、C#转义字符

\’ 单引号     \” 双引号     \\ 反斜杠   \0 空

\a 警告(产生峰鸣)   \b 退格    \f 换页   \n 换行

\r 回车     \t 水平制表符         \v 垂直制表符

四、变量、常量

1、变量名的命名规则:

●变量名组成:字母,数字,下划线,@,汉字。

●首字母只能用字母,下划线,@,汉字

●不能与关键字重名

2、变量的定义:

数据类型  变量名 [=值];   //[]内的值可以不写

例子:int  a=1;

注意:int a, b;//声明变量类型,用逗号隔开

int a = 4; int a = 5;//错误

3、常量:只能够取值,不能重新赋值

const int f = 5;

f = 7;错误,不能重新赋值

4、变量名前加关键字(不能赋值,只能取值):const

例子:const  int a=1;

五、基本的类型转换

1、自动转换(隐式转换)--从值类型转换到引用类型时候

2、强制转换(显式转换)--从引用类型转换到值类型时候,或者从浮点型转换到整形

当从一个引用类型转换到值类型时,必须引用类型中的数据元素,能够转换成值类型的容量范围内的数据才行,否则不能转。

⑴、用(),注:在被转换的数据左边加上小括号:(要被转换成的数据类型);

例子:int a;double b=12.3;a=(int)b;

⑵、用convert;

例子: int a;    float c;    double b=12.3;

a=convert.ToInt32(b);

c=convert.Tosingle(b);

⑶、用parse,常用;

例子: int a;  double b=12.3;

a=int.parse(b);

注:int a = 2;

string s = a.ToString();

例子:输入三个数,求它们的和、差、积、商。

Console.WriteLine("请输入a=");

double a = double.Parse(Console.ReadLine());

Console.WriteLine("请输入b=");

double b = double.Parse(Console.ReadLine());

Console.WriteLine("两个数的和为{0},两个数的差为{1},两个数的乘积为{2},两个数的商为{3}",a+b,a-b,a*b,a/b);

Console.ReadLine();

六、运算符

分类

符号

解释

优先级

算数

++   --

加加   减减

由高到低,即执行顺序由上到下.(圆括号的优先级最高)

*/%

乘  除  取余

+  -

加  减

关系

>    <    >=     <=

大于 小于 大于等于   小于等于

==     !=

等于  不等于

逻辑

&&

与(并且)

||

!

非(注:优先级在此表的最顶层)

条件运算符

?:

惟一的一个三元运算符  如果

赋值

=    +=  -=    *=    /=   %=

如:x-=4.即x=x-4;

1、算数运算符:

⑴、+  -

int a = 2; int b = 5;

Console.WriteLine(a+b)

⑵*  /  %

int a = 10 % 3;

Console.WriteLine(a);

Console.ReadLine();

注意:

●做除法运算的时候,如果两个操作都是整数,则运算之后的结果也是整数。

●做算数运算的时候,如果两个被操作的数不是同一类型,则会在运算的时候会自动进行类型转换。

备注:%  模   取余的用途

●判断a是不是b的倍数(是否能够整除)====>a%b是否==0

●判断a的个位是不是b====>a%10是否==b

●把数变成某个范围之内的数(利用余数一定比除数小的定理,比如十六进制里面最大的单个数是F(15))

⑶、++  --

int a =5;

int b= a++;  ====>可以写成int b =a; a = a+1;

int c = ++a;====>可以写成a = a+1; int c =a;

运算出来的结果就是

b = 5;

c = 7;

注意:●++  --这两种运算只能应用于变量(5++是不对的!!常量也是不可以使用的!!)

●前++和后++的区别:加加在前,先运算再赋值;加加在后,先赋值再运算。

int a = 5;

int b = a++;//int b=a;a=a+1;

int c = ++a;//a=a+1;int c=a;

Console.WriteLine(a);

Console.WriteLine(b);

Console.WriteLine(c);

Console.ReadLine();

2、关系运算符:

==  !=  >  <  >=  <=

关系运算符运算结果统统是bool型(结果不是Ture就是False)

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

注意:==    不能写成 =(一个=是赋值的意思)

3、逻辑运算符:

⑴、&&====>两个条件都成立,结果为True,否则False

bool a = 3 > 2 && 3 < 7;//true

⑵、||====>两个条件只要有一个成立,结果为True,两个都不成立为False

bool b = 5 > 3 || 5 > 7;//true

⑶、!====>将原来的结果取相反的(若本来为True,取反就是False)

bool c = !(5 > 3) || 5 > 7;//false

Console.WriteLine(c);

Console.ReadLine();

4、其他运算

= ====>赋值运算,将后面的值赋给左侧的变量。(注意:只能是变量)

+=  -=  *=  /=  %=  ====>复合运算符(例:a += b;(意思是a = a +b;))

int a = 6;

a += 7;//a=a+7;

a *= 2;//a=a*2;

a %= 4;//a=a%4;

Console.WriteLine(a);

Console.ReadLine();

5、条件运算符:?

例题1:老狼老狼几点了?   若是上午出现am,下午出现pm,若是下午,需要报时的时候减去12。

Console.Write("老狼老狼几点了?");

int time = int.Parse( Console.ReadLine());

string s = time > 12 ? (time-12)+"pm" : time+"am";

Console.WriteLine(s);

Console.ReadLine();

例题2:键盘键入三个数,找出来最大的数。

Console.Write("输入一个a值");

double a = double.Parse(Console.ReadLine());

Console.Write("输入一个b值");

double b = double.Parse(Console.ReadLine());

Console.Write("输入一个c值");

double c = double.Parse(Console.ReadLine());

//double  d =a>b ? a:b;

//double e = d > c ? d : c;

double e = (a > b ? a : b) > c ? (a > b ? a : b) : c;

Console.WriteLine("最大的数是"+e);

Console.ReadLine();

C#语言基础的更多相关文章

  1. 《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(下)

    索引: 一.SQL Server的体系结构 二.查询 三.表表达式 四.集合运算 五.透视.逆透视及分组 六.数据修改 七.事务和并发 八.可编程对象 五.透视.逆透视及分组 5.1 透视 所谓透视( ...

  2. 《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(上)

    索引: 一.SQL Server的体系结构 二.查询 三.表表达式 四.集合运算 五.透视.逆透视及分组 六.数据修改 七.事务和并发 八.可编程对象 一.SQL Server体系结构 1.1 数据库 ...

  3. C语言基础回顾

    第一章 C语言基础 1.  C语言编译过程 预处理:宏替换.条件编译.头文件包含.特殊符号 编译.优化:翻译并优化成等价的中间代码表示或汇编代码 汇编:生成目标文件,及与源程序等效的目标的机器语言代码 ...

  4. 黑马程序员_ C语言基础(二)

    ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 概览 今天基础知识分为以下几点内容(注意:循环.条件语句在此不再赘述):   1.Hello W ...

  5. C#语言基础— 输入与输出

    C#语言基础— 输入与输出 1.1函数的四要素:名称.输入.输出.加工 1.2主函数:输出语句.输入语句: Static viod Main(string[] stgs)//下划线部分可以自己指定 { ...

  6. 【GoLang】GO语言系列--002.GO语言基础

    002.GO语言基础 1 参考资料 1.1 http://www.cnblogs.com/vimsk/archive/2012/11/03/2736179.html 1.2 https://githu ...

  7. R语言基础:数组&列表&向量&矩阵&因子&数据框

    R语言基础:数组和列表 数组(array) 一维数据是向量,二维数据是矩阵,数组是向量和矩阵的直接推广,是由三维或三维以上的数据构成的. 数组函数是array(),语法是:array(dadta, d ...

  8. OC语言基础知识

    OC语言基础知识 一.面向对象 OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能 ...

  9. Java学习总结(二)----Java语言基础

    1.     Java语言基础 2.1 关键字 定义:被java语言赋予特殊含义的单词 特点:关键字中的字母都为小写 用于定义数据类型的关键字 class,interface,byte,short,i ...

随机推荐

  1. [翻译]AKKA笔记 -ACTOR SUPERVISION - 8

    失败更像是分布式系统的一个特性.因此Akka用一个容忍失败的模型,在你的业务逻辑与失败处理逻辑(supervision逻辑)中间你能有一个清晰的边界.只需要一点点工作,这很赞.这就是我们要讨论的主题. ...

  2. .NET Core下的日志(1):记录日志信息

    记录各种级别的日志是所有应用不可或缺的功能.关于日志记录的实现,我们有太多第三方框架可供选择,比如Log4Net.NLog.Loggr和Serilog 等,当然我们还可以选择微软原生的诊断机制(相关A ...

  3. c 数组与指针的使用注意事项

    数组变量和指针变量有一点小小的区别 所以把数组指针赋值给指针变量的时候千万要小心 加入把数组赋值给指针变量,指针变量只会包含数组的地址信息 而对数组的长度一无所知 相当于指针丢失了一部分信息,我们把这 ...

  4. 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之RAC 工作原理和相关组件(三)

    RAC 工作原理和相关组件(三) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总.然后形成体 ...

  5. 【Oracle 集群】Linux下Oracle RAC集群搭建之基本测试与使用(九)

    Oracle 11G RAC数据库安装(九) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总 ...

  6. 11gRAC报错CRS-4535, CRS-4000解决

    环境:AIX6.1 + Oracle11.2.0.4 RAC(2 nodes) 1.故障现象 2.定位问题 3.处理问题 1.故障现象 使用crsctl查看集群各资源状态,在任一节点都会直接报错CRS ...

  7. 使用session页面控制登录入口及购物车效果的实现

          由于 Session 是以文本文件形式存储在服务器端的,所以不怕客户端修改 Session 内容.实际上在服务器端的 Session 文件,PHP 自动修改 Session 文件的权限,只 ...

  8. android黑科技——完美解决界面逻辑的数据框架DataBinding(最新)的使用(二)

    昨天我们一起学习了dataBinding的基础用法,我想你可能还停留在它只是不用再findViewById,其实不然,今天我们就来扩展延伸,看看这个框架到底有什么魔力让谷歌官方大力推崇.这里还没看昨天 ...

  9. 【分布式】Zookeeper应用场景

    一.前言 在上一篇博客已经介绍了Zookeeper开源客户端的简单实用,本篇讲解Zookeeper的应用场景. 二.典型应用场景 Zookeeper是一个高可用的分布式数据管理和协调框架,并且能够很好 ...

  10. 匹夫细说C#:庖丁解牛聊委托,那些编译器藏的和U3D给的

    0x00 前言 由于工作繁忙所以距离上一篇博客已经过去一个多月的时间了,因此决心这个周末无论如何也得写点东西出来,既是总结也是分享.那么本文主要的内容集中在了委托的使用以及内部结构(当然还有事件了,但 ...