当前位置:文档之家› 第二章 变量、运算符和表达式

第二章 变量、运算符和表达式


字符串的输出与读取
• 输出字符串,并换行 Console.WriteLine("字符串"); • 输出字符串,不换行 Console.Write ("字符串"); • 读取字符串 Console.ReadLine ("字符串");
示例程序
Console.WriteLine(“Please input your name”); String name = Console.ReadLine(); Console.WriteLine(“Your name is ” + name);
常量
类型 int uint long ulong float double decimal 后缀 无 u或U l或 L ul或UL f或 F d或D或无 m或 M 示例 10,100,-10,-100 1u,100u,2007U 10l,100L,-888888L 200000000UL 1.0f,3.14f,1.155F 1.0,3.1415926535897D 1000.00m
字符
• 字符包括英文字母、中文汉字、各类特 殊字符、数字符号等等。 • C#中用单引号标记字符 • 比如’f‟, ‟#‟, ‟8‟等 其中’8‟只是用来显示8这个符号,不是 一个可以用于计算的数字。
字符变量和字符串变量声明
• 字符变量
char c; c = „f‟;
• 字符串变量
string s; s = "fine";
溢出
short a; a = 32768;
实数型变量
• 实数型也称为浮点型
类型
字节数
取值范围
有效数字 备注
float
double
4
8
±1.5×1045~3.4×1038
±5.0×10324~1.7×10308
7位
15/16位
单精度实数
双精度实数
decimal 16
±1.0×1028~7.9×1028
转义字符
Console.WriteLine(“Where are you from? \n I am from Shanghai.”);
\n在这里起换行的作用。像这样控制文本格式 的特殊字符称为转义字符。
转义字符
转义字符 功能 单引号 Unicode编码 0027
\‟ \”
\\ \0 \a \b
28位
金融货币
从上表可以看出,decimal的有效位数很大,达到了28位,但是表示的 数据范围却比float和double类型小。decimal类型并不是C#中的基础 类型,所以使用的时候会对计算时的性能有影响。
Decimal数据类型可以在Visual Studio编辑器中使用,只要在一个浮点类 型的值后加一个大写或小写的M,则编辑器会认为这个浮点类型的值是一个 Decimal类型。这种128位高精度十进制数表示法通常用在财务计算中。要 注意的是,在.NET环境中,计算该类型的值会有性能上的损失,因为它不 是基本类型。
变量、运算符和表达式
上海师范大学
主讲:於 家
变量
• 变量有多种类型,比如自然数、整数、 有理数、实数等。 • C#中如何定义各种类型的变量?变量如 何运算?
整型变量
Static void Main(string[] args) { int a; //声明变量a a = 7; //为变量a赋值 int b; //声明变量b b = 2; //为变量b赋值 int add; //声明变量add add = a + b; //求变量a、b的和 //输出结果 Console.WriteLine(“{0}+{1}={2}”,a,b,add); }
标准ASCII码表(部分)
ASCII值 0 1 2 3 4 控制字符 NUT SOH STX ETX EOT ASCII值 32 33 34 35 36 控制字符 (space) ! ” # $ ASCII值 64 65 66 67 68 控制字符 @ A B C D ASCII值 96 97 98 99 100 控制字符 、 a b c d
ASCII编码
• 为了方便在计算机里使用字符,在计算 机诞生之初,制定了ASCII编码 (American Standard Code for Information Interchange),即美国信 息交换标准码。标准ASCII码用7位二进 制数来表示128个字符,包括英文字母、 希腊字母、数字、常用的字符和各种控 制符。后来ASCII码扩展至256个字符。
声明整型变量
int a;
变量类型 变量名称
• 该语句被执行时,系统会在内存中 分配一块4字节的空间,用来存储变 量a的值。整型变量的默认值为0。
赋值语句
a = 7;
• 把变量a的值设置为7(原先未赋值 时默认为0)。
*赋值运算符“=”不是“相等”的意思。并非是 比较左右两边是否相等。
赋值语句
add = a + b;
变量的命名规则
• 变量的第一个字符必须是字母、下划线 或者@; • 后面的字符可以使字母、数字、下划线; • 变量不能和关键词重名(比如int、 double、float、还有以后我们要讲的if、 for等关键词); • 区分大小写(A与a是两个变量); • 命名选择有意义的名称,更容易理解。
变量的命名规则
• Int型变量占用4个字节的空间,共32位。 为了表示负数,把最高位定义为符号位, 0表示正数,1表示负数,后面的31位表 示数值的大小。 • Int型的取值范围是-231~231-1,即2147483648~2147483647
short型
• 某些情况下使用int型太浪费 • short型变量占用2个字节,最高位表示 正负号,后面的15位表示数值大小,取 值是-215~215-1,即-32768~32767。
decimal[ (p[ , s] )] and numeric[ (p[ , s] )] 固定有效位数和小数位数的数字。当使用最大有效位数时,有效值是从 - 10^38 +1 到 10^38 1。decimal 的 SQL-92 同义字是 dec 和 dec(p, s)。numeric 的功能相当於 decimal。
把读取的字符串赋值给变量name,然后输出。
读取字符
Int ch = Console.Read(); 从输入窗口读取一个字符,返回字符的 ASCII编码。 如:输入f,返回f的ASCII码102
读取数字
需要使用Convert.ToDouble()把字符串 转换为double型数字
double a = Convert.ToDouble(Console.ReadLine());
• 例子(哪些是错误的变量名)
a g1 float chkListBox _Count 5thRoom @shnu
推荐的变量命名方式
• 变量名称第一个单词全部小写,最好用 简称来表示变量的类型,以后在用变量 的时候可以很容易的看出变量的类型。 • 如:string strName; double dblNumber;
p (有效位数)
可储存的最大十进位数总数,小数点左右两侧都包括在内。有效位数必须是 1 至最大有效位数 38 之间的值。预设有效位数是 18。 s (小数位数) 小数点右侧所能储存的最大十进位数。小数位数必须是从 0 到 p 的值。只有在指定了有效位数 时,才能指定小数位数。预设小数位数是 0;因此,0 <= s <= p。最大储存体大小会随著有效 位数而不同。 例: decimal(2,1),有效长度为2,小数位占1位。
赋值语句
n = n + 100;
• 将n的增加100,然后重新赋值给n
int n; n = 100; n = 200; n = n + 100; Console.WriteLine(“n = {0}”, n);
整型变量的类型
• int型 • short型 • long型 • 无符号型
Int型变量的取值范围
Unicode编码
• ASCII码可以表示256个字符,对西方的 字母语言编码已经足够了。但是对于中 国的汉字,却远远不够。 • 为解决汉字的编码问题,1981年中国制 定了GB2312编码标准,用两个字节表 示一个汉字,可以存储6万多个字符。日 文、韩文、繁体中文等文字都使用类似 的方法来构建本地字符集编码。这些字 符集都使用多个字节来表示一个字符, 因此这些编码称为多字节字符集 (Charset)。
双引号
反斜杠 空 警告 退格
0022
005C 0000 0007 0008
\f
\r
换页
回车
000C
000D
转义字符
Console.WriteLine(“C:\STUDY\2010”);
由于双引号用来标记字符串,反斜杠“\” 用来标记转义字符,所以在输出的时候 要用转义字符。
Console.WriteLine(“C:\\的内容原样输出, 而不理会里面的转义字符。
Console.WriteLine(@“ Where are you from? \n I am from Shanghai.”);
+运算符
• 将两个字符串用“+”运算符连接。
string strSentence = “Shanghai Normal University ”; strSentence = strSentence + “ is a famous university in Shanghai.” Console.WriteLine(strSentence);
Unicode编码
• 多字节字符集由于各个国家和地区之间 定义的字符集编码标准不同,会产生不 兼容的问题。比如用GB2312编码的软 件,在繁体中文的环境下就会出现乱码。 • Unicode编码:世界通用的编码。为全 世界每个字符提供统一的编码,同一个 字符,不论在什么平台、什么软件上、 什么语言环境中,都有相同的编码。
相关主题