tceic.com
学霸学习网 这下你爽了
相关标签
当前位置:首页 >> >>

第二章 C#语言程序设计基础


第 二章 C#语言程序设计基础 语言程序设计基础

内容提要

本章主要分析C#的语法,C#作 为.NET的原生语言,功能非常 强大. 作为ASP.NET的编程基础,主 要分析C#的变量,常量,控制 语句,C#类的基本使用方法, C#的异常处理和C#语言面向对 象的高级特性.

目标

本章学习目标: 本章学习目标: 声明并使用变量 了解C#的主要数据类型 了解C#的主要数据类型 C# 理解值类型 使用表达式进行数学运算 掌握不同数据类型的转换方法

C#概述 概述

C#是微软公司专门为.NET量身定 做的编程语言,它与.NET有着密不 可分的关系. C#的类型就是.NET框架所提供的 类型,C#本身并无类库,而是直 接使用.NET框架所提供的类库. 另外,类型安全检查,结构化异 常处理也都是交给CLR处理的.因 此,C#是最适合开发.NET应用的 编程语言.

C#的特点

C#不仅具有C++的强大功能,而且具有 Visual Basic简单易用的特性.C#的语法 与C++基本相同.如果以前对C++非常 熟悉的话,学习C#则是一件非常容易 的事情. 默认情况下,C#代码在.NET框架提供 的受控环境下运行,不允许直接操作 内存.它带来最大的变化是C#没有了C 和C++中的指针.与此相关的,那些在 C++中被大量使用的指针操作符已经不 再出现.C#只支持一个"."

第 二章 C#语言程序设计基础 语言程序设计基础
变量 常量 C# 数据类型 类型转换 运算符和表达式 小结 实验 习题

变量 变量用于存储特定数据类型的值
语法: 语法: 访问修饰符 数据类型 变量名

2.1变量 变量

Public Private 盐 2 Protected
胡椒粉 5.4

int string 糖 "Test" float …… 盐 float
胡椒粉 string

糖 int

命名变量

2.1.1 命名变量

为变量命名时要遵循C#语言的命名规范 为变量命名时要遵循 语言的命名规范 : 变量名只能由字母,数字和下划线组成, 变量名只能由字母,数字和下划线组成, 而不能包含空格,标点符号, 而不能包含空格,标点符号,运算符等其 他符号 变量名不能与C#中的关键字名称相同 变量名不能与C#中的关键字名称相同 C#

命名变量( 命名变量(续)

2.1.1 命名变量

关于变量命名的一般建议 : 变量名最好以小写字母开头

变量名应具有描述性质 在包含多个单词的变量名中, 在包含多个单词的变量名中,从第二个单词 开始,每个单词都采取首字母大写的形式 开始,

随堂练习

2.1.2 随堂练习

以下4个变量名中, 以下 个变量名中,合法的变量名 个变量名中 是________. . (1) &adw (2) Good bye (3) _list (4) jx@shi.com

声明变量

2.1.3 声明变量

变量使用原则:先声明, 变量使用原则:先声明,后使用

变量声明方法: 变量声明方法: 数据类型 变量名; 变量名;

// 声明布尔型,字符串型,整型,短整型和浮点型变量 bool test = true; 变量中存储的值取决于该 short num1 = 19; 变量的类型 int num2 = 14000; string val = "Jamie"; float num3 = 14.5f; // 显示变量值 Response.Write ("布尔值 = " + test); Response.Write ("短整型值 = " + num1); Response.Write ("整型值 = " + num2); Response.Write ("字符串值 = " + val); Response.Write ("浮点值 = " + num3);

第 二章 C#语言程序设计基础 语言程序设计基础
变量 常量 C# 数据类型 类型转换 运算符和表达式 小结 实验 习题

常量

2.2 常量

定义: 定义:常量就是其值固定不变的量

声明方法: 声明方法:const 数据类型 常量表达式;

// PI常量PI 声明常量 const float _pi = 3.14F; // 由地球引力引起的加速度常量,单位为 cm/s*s const float _gravity = 980; // 钟摆的长度 int length = 40; 在表达式中使 用常量 // 钟摆的周期 double period = 0; // 钟摆周期的计算公式 period = 2 * _pi * Math.Sqrt(length / _gravity); Response.Write ("钟摆的周期为" +period+ "秒");

第 二章 C#语言程序设计基础 语言程序设计基础
变量 常量 C# 数据类型 类型转换 运算符和表达式 小结 实验 习题

C# 数据类型
C#数据类型 数据类型

2.3 C# 数据类型

引用类型

2.3.1

引用类型

在内存中不直接存储引用类型的数据,而是 在内存中不直接存储引用类型的数据, 引用类型包括 存储该数据的地址 .引用类型包括 : 类(class) ) 接口( 接口(interface) ) 数组( 数组(array) ) 字符串( 字符串(string )

值类型

2.3.2

值类型

值类型主要由简单类型, 值类型主要由简单类型,枚举类型和结构类型这 三类组成: 三类组成:
种类 描述 有符号整数:sbyte, short, int, long 无符号整数:byte, ushort, uint, ulong 简单类型(Simple types) 值类型 Unicode 字符:char IEEE 浮点数:float, double 十进制数:decimal 布尔值:bool 枚举类型(Enum type) 结构类型(Struct type) enum E {...} struct S {...}

简单类型

整数类型 浮点类型 十进制类型 布尔类型 字符类型

整数类型
整数类型在计算机中的取值范围
描述 位数 8 16 有符号整数 32 64 8 16 无符号整数 32 64 uint ulong 0~4 294 967 295 0~18 446 744 073 709 551 615 int long byte ushort –2 147 483 648~2 147 483 647 –9 223 372 036 854 775 808~9 223 372 036 854 775 807 0~255 0~65 535 数据类型 sbyte short 取值范围 –128~127 –32 768~32 767

浮点类型
浮点类型在计算机中的取值范围

描述

位数

数据类型

取值范围

单精度浮点型

32

float

1.5 × 1045 到~3.4 × 1038, 7位精度 5.0 × 10324 ~1.7 × 10308, 15位精度

双精度浮点型

64

double

十进制类型

十进制类型在计算机中的取值范围

描述

位数

数据类型

取值范围

十进制类型

128

decimal

1.0 × 1028~7.9 × 1028, 29位精度

布尔类型
布尔类型表示现实中的" 布尔类型表示现实中的"真"或"假"这两个概 主要用来进行逻辑判断. 念,主要用来进行逻辑判断.在C#中,分别采用 中 true和false这两个值来表示"真"和"假". 这两个值来表示" 和 这两个值来表示
描述 位数 数据类型 取值范围

布尔类型

8

bool

true或false

字符类型

字符类型采用国际上公认的Unicode标准字符集 标准字符集 字符类型采用国际上公认的

描述

位数

数据类型

取值范围

字符类型

16

char

在0~65 535范围内以双 字节编码的任意符号

只能存放单个字符 只能使用单引

第 二章 C#语言程序设计基础 语言程序设计基础
变量 常量 C# 数据类型 类型转换 运算符和表达式 小结 实验 习题

类型转换

2.4 类型转换

隐式类型转换 当将一个数值范围小的类型的值赋给数值范围大的类 型变量时,C#在内部要进行一次数值类型转换, ,C#在内部要进行一次数值类型转换 型变量时,C#在内部要进行一次数值类型转换,这种在内部 进行的数值类型转换称为隐式转换 进行的数值类型转换称为隐式转换 (小到大) 显式类型转换(强制类型转换 显式类型转换 强制类型转换) 强制类型转换 从一种数值类型到另一种数值类型的转换(大到小 从一种数值类型到另一种数值类型的转换 大到小) 大到小

隐式数值转换
隐式数值转换包括以下几种: 隐式数值转换包括以下几种:
从 sbyte byte short ushort int uint long ulong char float 到 short,int,long,float,double 或 decimal short,ushort,int,uint,long,ulong,float,double 或 decimal int long float double int,long,float,double 或 decimal int,uint,long,ulong,float,double 或 decimal long,float,double 或 decimal long,ulong,float,double 或 decimal float,double 或 decimal float,double 或 decimal ushort,int,uint,long,ulong,float,double 或 decimal double

隐式数值转换
//整形到双精度的隐式转换 整形到双精度的隐式转换 int k = 432; Response.Write("k="+ k); double Q = k; Response.Write("Q="+Q); //隐式转换失败 隐式转换失败 int a = 10; Response.Write("a="+ a); char c = a; Response.Write("c="+ c);

显式数值转换
显式数值转换是指当不存在相应的隐式数值转换时, 显式数值转换是指当不存在相应的隐式数值转换时, 从一种数值类型到另一种数值类型的转换. 从一种数值类型到另一种数值类型的转换.
从 sbyte byte short ushort int uint long ulong char float double decimal byte,ushort,uint,ulong或char sbyte或char sbyte,byte,ushort,uint,ulong或char sbyte,byte,short或char sbyte,byte,short,ushort,uint,ulong或char sbyte,byte,short,ushort,int或char sbyte,byte,short,ushort,int,uint,ulong或char sbyte,byte,short,ushort,int,uint,long或char sbyte,byte或short sbyte,byte,short,ushort,int,uint,long,ulong,char或decimal sbyte,byte,short,ushort,int,uint,long,ulong,char,float或decimal sbyte,byte,short,ushort,int,uint,long,ulong,char,float或double 到

//显示转换 显示转换 int a = 23; byte b = Convert.ToByte(a); //隐式转换 出错机会少) 隐式转换(出错机会少 隐式转换 出错机会少 byte d = 43; int f = d; //显示转换 四舍五入 显示转换(四舍五入 显示转换 四舍五入) double r = 342.723; int u = Convert.ToInt32(r); //显示转换 没有 认为是 显示转换(没有 认为是double类型 四舍五入 类型,四舍五入 显示转换 没有M认为是 类型 四舍五入,) decimal q = 154354324243.423732432543M; double x = Convert.ToDouble(q); //显示转换 无符号向有符号数转换 显示转换(无符号向有符号数转换 显示转换 无符号向有符号数转换) uint ui = 100; int i = (int)ui; label1.Text = i.ToString();

//显示转换 显示转换

float f; int n; f = 67.886f; n = (int)f; Response.Write(n);

随堂练习

2.4.3

随堂练习

1. 下面声明了一些数值类型的变 量 short s=10; int i=5; uint ui=50; long l=1000; double d=45.3;decimal m = 154; 2. 试着分析下列哪些类型转换是 正确的: 正确的: s = ui; i = ui; s = l; l = s; m = d; d = m; l = d; m = i;

第 二章 C#语言程序设计基础 语言程序设计基础
变量 常量 C# 数据类型 类型转换 运算符和表达式 小结 实验 习题

运算符和表达式

2.5 运算符和表达式

运算符类型 运算符的优先级 简单的赋值运算符与赋值表达式 算术运算符与算术表达式 关系运算符与关系表达式 逻辑运算符与逻辑表达式 扩充后的赋值运算符与赋值表达式

运算符类型

2.5.1 运算符类型

运算符分为三类 : 一元运算符: 一元运算符: 只使用一个操作数

二元运算符: 二元运算符:

使用两个操作数

三元运算符: 三元运算符:

使用三个操作数

运算符的优先级
运算符从高到低的优先级顺序: 运算符从高到低的优先级顺序:
运算符类型 初级运算符 一元运算符 乘法,除法,取模运算符 增量运算符 移位运算符 关系运算符 等式运算符 逻辑"与"运算符 逻辑"异或"运算符 逻辑"或"运算符 条件"与"运算符 条件"或"运算符 条件运算符 赋值运算符

2.5.2 运算符的优先级

运 算 符 x.y, f(x), a[x], x++, x--, new, typeof, checked, unchecked !, ~, ++, --, (T)x *, /, % +,<< , >> < , > , <= , >= , is, as == , != & ^ | && || ?: = , *= , /= , %= , += , -= , <<=, >>= , &= , ^= , |=

简单的赋值运算符与赋值表达式

2.5.3 简单的赋值运算符 与赋值表达式

赋值就是给一个变量赋一个新值. 赋值就是给一个变量赋一个新值."="运算 运算 符用于将等号右边的操作数( 符用于将等号右边的操作数(第二个操作 的值赋给左边的操作数( 数)的值赋给左边的操作数(第一个操作 ).表达式的结果是右边操作数的值 表达式的结果是右边操作数的值, 数).表达式的结果是右边操作数的值, 所以赋值操作可以串联在一起. 所以赋值操作可以串联在一起.

算术运算符与算术表达式

2.5.4 算术运算符与 算术表达式

算术运算符用于创建执行数学操作的表达式 .

运算符 + *

描 述 加 减 乘

运算符 / ++ --

描 述 除 自增1 自减1

%

取模

关系运算符与关系表达式

2.5.5 关系运算符与 关系表达式

关系运算符用于创建一个表达式, 关系运算符用于创建一个表达式,该表达式 用来比较两个对象并返回布尔值. 用来比较两个对象并返回布尔值.

运 算 符

描 述

运 算 符

描 述

==

等于 等于 小于

>

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

!=

<=

<

>=

逻辑运算符与逻辑表达式

2.5.6 逻辑运算符与 逻辑表达式

逻辑运算符和布尔型操作数一起组成了逻辑 表达式. 表达式.
运算符 ! && || 描述 NOT (非) AND (短路) OR (短路)

扩充后的赋值 运算符与赋值表达式

2.5.8 扩充后的赋值 运算符与赋值表达式

扩充后的赋值运算符与赋值表达式. 扩充后的赋值运算符与赋值表达式.
运算符 = += -= *= /= %= 描 述 赋值 加法赋值 减法赋值 乘法赋值 除法赋值 取模赋值 运算符 <<= >>= &= |= ^= 描 述 左移赋值 右移赋值 AND 位操作赋值 OR 位操作赋值 XOR 位操作赋值

第 二章 C#语言程序设计基础 语言程序设计基础
变量 常量 C# 数据类型 类型转换 运算符和表达式 小结 实验 习题

小结

2.6 小结

本章我们学习了程序设计的基础元素: 本章我们学习了程序设计的基础元素:变量和数 据类型, 据类型,介绍了运算符和表达式以及数据类型转 换,还介绍运算符的使用方法和基本的数据类型 转换概念, 转换概念,这些都是重要的基本知识需要熟练掌 握.

第 二章 C#语言程序设计基础 语言程序设计基础
变量 常量 C# 数据类型 类型转换 运算符和表达式 小结 实验 习题

实验

2.7 实验

参照实验手册, 参照实验手册,并在教师指导 下完成实验报告. 下完成实验报告.

第 二章 C#语言程序设计基础 语言程序设计基础
变量 常量 C# 数据类型 类型转换 运算符和表达式 小结 实验 习题

习题

2.8 习题

1.判断正误,如果错误,请说明原因 判断正误,如果错误, 判断正误 (1)在使用变量之前必须先声明其数 ) 据类型. 据类型. (2)C# 认为 ) 认为number和NuMbEr 是同一个 和 变量. 变量. (3)算术运算符*,/,%,+和-处于同 )算术运算符* , , 一优先级

习题( 习题(续)

2.8 习题

2.填空题 填空题 的初始值为5, (1)如果 X的初始值为 ,则执行表达 )如果int 的初始值为 之后, 的值为 的值为_______. 式X-=3之后,X的值为 之后 . (2)_______运算符将左右操作数相加的结 ) 运算符将左右操作数相加的结 果赋值给左操作数. 果赋值给左操作数. 3) (3)存储整型数的变量应当用关键字 ________来声明. 来声明. 来声明 进行声明. (4)常量通过关键字 )常量通过关键字_________进行声明. 进行声明 (5)布尔型变量可以赋值为关键字 ) ________或________. 或 .

习题( 习题(续)

2.8 习题

3.选择题 选择题 进行计算. (1)算术表达式 )算术表达式________进行计算. 进行计算 A.自右至左 B.自左至右 自右至左 自左至右 C.按照运算符优先级规则 按照运算符优先级规则 D.按照优先级从低往高的顺序 按照优先级从低往高的顺序 (2)当________时,条件"expression1 ) 时 条件" XOR expression2"的值为真 的值为真 A.expression1为真而 为真而expression2为假 为真而 为假 B.expression1为假而 为假而expression2为真 为假而 为真 C.expression1和expression2均为真 和 均为真 D.a和b都对 和 都对

习题( 习题(续)

2.8 习题

中无需编写任何代码就能将int型 (3)在C#中无需编写任何代码就能将 型 ) 中无需编写任何代码就能将 数值转换为double,称为 ________. 数值转换为 , . A.显式转换 B.隐式转换 显式转换 隐式转换 C.数据类型变换 D.变换 数据类型变换 变换 运算符_________. (4)"&&"运算符 ) 运算符 . A.执行短路计算 B.不是关键字 执行短路计算 不是关键字 C.是一个比较运算符 是一个比较运算符 D.的值为真,如果两个操作数都为真 的值为真, 的值为真 表示为"″ (5)在C#中,_______表示为"″. ) 中 表示为"″. A.空字符 B.空串 空字符 空串 C.空值 D.以上都不是 空值 以上都不是

习题( 习题(续)

2.8 习题

运算符________ . (6)"*="运算符 ) 运算符 A.计算右操作数的平方值,然后将结果存 计算右操作数的平方值, 计算右操作数的平方值 储在左操作数中 B.把左操作数的值与右操作数的值相加, 把左操作数的值与右操作数的值相加, 把左操作数的值与右操作数的值相加 然后将结果存储在左操作数中 C.创建一个新的变量,然后将右运算数的 创建一个新的变量, 创建一个新的变量 值赋值给该变量 D.把左操作数的值与右操作数的值相乘, 把左操作数的值与右操作数的值相乘, 把左操作数的值与右操作数的值相乘 然后将结果存储在左操作数中 (7)如果左操作数大于右操作数, )如果左操作数大于右操作数, ________运算符返回 运算符返回false. 运算符返回 A. = B. < C. <= D. 以上都是

习题( 习题(续)

2.8 习题

4.简答题 简答题 (1)计算下列表达式的值(不要用计算 )计算下列表达式的值( ),并在 并在Visual Studio 2005中进行验 器),并在 中进行验 证 A. 3+4*5 B. (3+4)*5 C. 7 % 3

习题( 习题(续)

2.8 习题

4.简答题 简答题 (2)写一个表达式,使变量 的值增加 )写一个表达式,使变量var的值增加 5%(尽可能多写几种). (尽可能多写几种).

习题( 习题(续)

2.8 习题

4.简答题 简答题 高的地方以15 (3)假定一个小球在 m高的地方以 )假定一个小球在2 高的地方以 m/s的初速度垂直上抛 m/s的初速度垂直上抛,问:3s后小球 的初速度垂直上抛, 3s后小球 的高度?(提示:t秒后小球高度近似 ?(提示 的高度?(提示:t秒后小球高度近似 值计算公式: 其中V 值计算公式:V0*t + h0-5t 其中 0指初速 是球的初始高度) 度,h0是球的初始高度)

习题( 习题(续)

2.8 习题

4.简答题 简答题 (4)下面代码运行后 myInteger的值是多 )下面代码运行后, 的值是多 少? int myInteger; double myDouble = 5555.55; myInteger = (int)myDouble;

推荐相关:

C#语言程序设计复习资料

C#语言程序设计复习资料_工学_高等教育_教育专区。计算机...面向对象的程序设计的基本特征继承, 多态, 封装 ...最大用途是多态,其实重载 也是一种多态,但二种多态...


C#程序设计教程(第2版)课后习题 完全版

C#程序设计教程(第2版)课后习题 完全版_计算机软件及应用_IT/计算机_专业资料。...第 3 章 面向对象编程基础 1.C#语言的核心是面向对象编程(OOP),OPP 语言都至...


C#程序设计语言_第2章 C# 语言的基本原理

第2章 C# 语言基本原理本章介绍了 C# 语言基本语法和结构,描述了 C# 数据...25 C# 程序设计语言 图 2-1 代码编辑 2.1.2 在 C# 中设置代码格式代码...


C#程序设计与应用教程第三版第二章课后题

C#程序设计与应用教程第三版第二章课后题_工学_高等教育_教育专区。第二章课后题 2.2 简述 C#语言中不同整型之间进行转换的原则。 在整型之间进行转换时, 小...


C#程序设计基础测试题(一)

C#程序设计基础测试题(一)_IT认证_资格考试/认证_教育专区。C#程序第一章练习...() 10、DotNet 包含两个部分,即公共语言运行时和框架类库。 () 11、在定义...


C#语言程序设计题库

语言程序设计》 《C#语言程序设计》 语言程序设计 复习纲要 语言程序设计》 《...一章 概述 2 第二章 C#语言的基本原理 3 第三章 C#中对象的创建 4 第四...


第二章 C#语言基础

第二章 C#语言基础 #语言基础 C#是基于 C 语言系列的最新衍生语言,专门用于 # 语言系列的最新衍生语言,专门用于.Net 的程序设计,也是 C 语言系列 的程序设计,...


C#程序设计习题集

四.简答题 1.C#语言有哪些特点? 2 第二章 C#程序设计入门一、选择题 1.以下对引入命名空间的原因叙述正确的是( ): A.命名空间可以解决程序逻辑错误问题 B....


C#程序设计基础课后笔记

C#程序设计基础课后笔记_其它_职业教育_教育专区。C#程序设计基础课后笔记 C#开发入门一、.NET Framework 1、组成:公共语言运行时(CLR) 、.NET Framework 基础类库...


《c#语言程序设计》-考试大纲

二、考试目的 《C#语言程序设计》课程考试依据本课程教学大纲,及由郑宇军编著、 清华大学出版社 出版的《C#语言程序设计基础(第 2 版)》教材,旨在从了解、理解、...

网站首页 | 网站地图
All rights reserved Powered by 学霸学习网 www.tceic.com
copyright ©right 2010-2021。
文档资料库内容来自网络,如有侵犯请联系客服。zhit325@126.com