C#语言基础(一)

一、基本代码结构:

 1 using System;
 2 namespace HelloWorldApplication
 3 {
 4    class HelloWorld
 5    {
 6       static void Main(string[] args)
 7       {
 8          /* 我的第一个 C# 程序*/
 9          Console.WriteLine("Hello World");
10          Console.ReadKey();
//这使得程序会等待一个按键的动作,防止程序从 Visual Studio .NET 启动时屏幕会快速运行并关闭。
11 } 12 } 13 }

c#的文件后缀:.cs

c#是大小写敏感、每句话要以;结尾、文件名可以与类名不同。类和变量的定义与C++一致

Console.ReadLine() 会等待直到用户按下回车,一次读入一行。

Console.ReadKey() 则是等待用户按下任意键,一次读入一个字符。

Console.WriteLine("Area: {0}", GetArea()); //打印函数返回的结果

二、数据类型

 1 值类型(Value types)
 2 值类型直接包含数据。比如bool、doubleintcharfloat,它们分别存 储布尔值、双精度浮点数数字、字符、浮点数。
 3 运用sizeof(int) 看存储大小,几个字节
 4    十进制类型:decimal
5 5 引用类型(Reference types) 6 包含对变量的引用。它们指的是一个内存位置。 7 内置的 引用类型有:objectdynamicstring 8 对象(Object)类型 9 System.Object 类的别名。所以对象(Object)类型可以被分配任何其他类型(值类型、引用类型、预定义类型或用户自定义类型)的值。 10 但是,在分配值之前,需要先进行类型转换。 11 当一个值类型转换为对象类型时,则被称为 装箱;另一方面,当一个对象类型转换为值类型时,则被称为 拆箱。 12 object obj; 13 obj = 100; 14 15 动态(Dynamic)类型 16 可以存储任何类型的值在动态数据类型变量中。这些变量的类型检查是在运行时发生的。这点区别于对象类型 17 dynamic <variable_name> = value; 18 dynamic d = 20; 19 20 字符串(String)类型 21 System.String 类的别名。它是从对象(Object)类型派生的。字符串(String)类型的值可以通过两种形式进行分配:引号和 @引号。 22 @ 字符串中可以任意换行,换行符及缩进空格都计算在字符串长度之内 23 String str = "runoob.com"; 24 string str = @"<script type=""text/javascript""> 25 <!-- 26 --> 27 </script>"; 28 C# string 字符串的前面可以加 @(称作"逐字字符串")将转义字符(\)当作普通字符对待 29 string str = @"C:\Windows"; 30 == 31 string str = "C:\\Windows"; 32 指针类型(Pointer types) 33 于C++相同 34 char* cptr; 35 int* iptr;

三、类型转换

  • 隐式类型转换 - 这些转换是 C# 默认的以安全方式进行的转换, 不会导致数据丢失。例如,从小的整数类型转换为大的整数类型,从派生类转换为基类。
  • 显式类型转换 - 显式类型转换,即强制类型转换。显式转换需要强制转换运算符,而且强制转换会造成数据丢失。
强转
double d = 5673.74;   int i;
 // 强制转换 double 为 int
  i = (int)d;

内置转换方法
ToDateTime
把类型(整数或字符串类型)转换为 日期-时间 结构。
ToInt64
把类型转换为 64 位整数类型。
ToString
把类型转换为字符串类型。
 int i = 75;
 Console.WriteLine(i.ToString());

四、C#变量

枚举类型:enum 枚举名 {枚举元素1,枚举元素2,……};

变量的定义:

<data_type> <variable_name> = value;

variable_list 可以由一个或多个用逗号分隔的标识符名称组成。并直接初始化

num = Convert.ToInt32(Console.ReadLine());

接受用户的值:函数 Convert.ToInt32() 把用户输入的数据转换为 int 数据类型,因为 Console.ReadLine() 只接受字符串格式的数据。

五、C#常量

整数常量:

整数常量可以是十进制、八进制或十六进制的常量。前缀指定基数:0x 或 0X 表示十六进制,0 表示八进制,没有前缀则表示十进制。

85         /* 十进制 */
0213       /* 八进制 */
0x4b       /* 十六进制 */

整数常量也可以有后缀,可以是 U 和 L 的组合,其中,U 和 L 分别表示 unsigned 和 long。后缀可以是大写或者小写,多个后缀以任意顺序进行组合。

30         /* int */
30u        /* 无符号 int */
30l        /* long */
30ul       /* 无符号 long */

浮点常量

使用小数形式或者指数形式来表示浮点常量。

3.14159       /* 合法 */
314159E-5L    /* 合法 */

必须包含小数点、指数或同时包含两者。使用指数形式表示时,必须包含整数部分、小数部分或同时包含两者。有符号的指数是用 e 或 E 表示的。

字符常量

\a Alert 或 bell
\b 退格键(Backspace)
\f 换页符(Form feed)
\n 换行符(Newline)
\r 回车
\t 水平制表符 tab

字符串常量

string e = "Joe said \"Hello\" to me";      // Joe said "Hello" to me
string f = @"Joe said ""Hello"" to me";   // Joe said "Hello" to me
string g = "\\\\server\\share\\file.txt";   // \\server\share\file.txt
string h = @"\\server\share\file.txt";      // \\server\share\file.txt

常量定义

const <data_type> <constant_name> = value;

五 运算符

  • 算术运算符

+,-,*,/,%,++,-- 

c = a++: 先将 a 赋值给 c,再对 a 进行自增运算。c = ++a: 先将 a 进行自增运算,再将 a 赋值给 c 。

  • 关系运算符

==,!= , > , < , >= ,<=

  • 逻辑运算符

&&, ||,! (与或非)

  • 位运算符

逐位执行操作。&、 | 和 ^  

&:同一为一,否则为0

|:有一为一,否则为0

^: 相同为一,不同为0

~:含符号位,均取反

<<:二进制左移运算符,后补0:A << 2 将得到 240,即为 1111 0000

>>:二进制右移运算符,前补0:A >> 2 将得到 15,即为 0000 1111

  • 赋值运算符

=、+=、-=、*=、/=、%=、<<=、 >>=、 &=、  ^=、 |=

  • 其他运算符

&:取地址;

 

posted @ 2021-11-29 12:35  sylvia11  阅读(121)  评论(0编辑  收藏  举报