C#是大小写敏感的
C#语⾔程序是由多个函数构成的。
C#语⾔程序中有且只有⼀个main函数。
C#不使⽤⾏号,⽆程序⾏的概念。
C#中可使⽤空⾏和空格。
C#常⽤锯齿形书写格式。
C#所有表达式必须以 ; 结尾
C#与java不同,文件名可以不同于类名
C#是一种面向对象的编程语言,在面向对象的程序设计方法中,程序由各种对象组成。相同种类的对象通常具有相同的类型。
关键字: 【对编译器有特殊意义的预订保留标识符,不能再做程序中的标识符】
using :引用命名空间
namespace : 声明命名空间
class : 声明类
特点:
易于学习。
结构化语言。
它产生高效率的程序。
它可以处理底层的活动。
它可以在多种计算机平台上编译。
C#的数据类型:
单词 —————释义
object ————对象
sbyte ————有符号字节型
byte —————无符号字节型
int ——————有符号整型
short ———— 短整型
long —————长整型
float —————单精度浮点型
double———— 双精度浮点型
decimal ———高精度浮点型
bool —————布尔型
char —————字符型
string ————字符串型
注释:
// 行注释
/*注释内容*/ 块注释
/// 文档注释【可以用来解释类和方法】
/// <summary>
/// 描述这个方法的作用
/// </summary>
输出函数示例:
输出空行:
Console.WriteLine();
输出字符串:
Console.WriteLine("C#基本语法");
不换行输出整数:
Console.WriteLine(199);
换行输出小数:
Console.WriteLine(0.89);
输入数据示例:
返回输入的字符串:
Console.ReadLine();
注:+号运算符有两种运算法则
1、+号左右两边的数据如果有一边是字符串,则进行字符串连接运算
"Abc" + 100 = "Abc100"
3.14 + "AAA" = "3.14AAA"
"555" + "AAA" = "555AAA"
2、+号左右两边的数据都是数值型数据,则进行算术运算
100 + 200 = 300
100 + 3.14 = 103.14
数据类型转换:
自动转换规则:
a)浮点数赋给整型,该浮点数小数被舍去;
b)整数赋给浮点型,数值不变,但是被存储到相应的浮点型变量中;
3.强制类型转换形式
(类型说明符)(表达式)
(type_name) expression
补充:强制类型转换运算符的优先级大于除法
变量的定义和声明的区别:
变量定义:用于为变量分配存储空间,还可为变量指定初始值。程序中,变量有且仅有一个定义
变量声明:用于向程序表明变量的类型和名字
定义也是声明:当定义变量时我们声明了它的类型和名字
extern 声明不是定义:通过使用 extern 关键字声明变量名而不定义它。
左值(Lvalues)和右值(Rvalues)
左值(lvalue):
指向内存位置的表达式被称为左值(lvalue)表达式。
左值可以出现在赋值号的左边或右边。
右值(rvalue):
术语右值(rvalue)指的是存储在内存中某些地址的数值。
右值是不能对其进行赋值的表达式,也就是说,右值可以出现在赋值号的右边,但不能出现在赋值号的左边。
左值必须是变量
右值可以是变量,常量或者表达式
总结:
当需要保存数据的时候,需要lvalues。
当需要读取数据的时候,需要rvalues。
lvalues 和 rvalues 角色的相互转换:
1) 根据表达式的上下文情况,lvalues 在需要 rvalues 的地方会自动转换为 rvalues。
2)rvalues 永远不能转换为 lvalues