c#—第三章标识符、变量、常量、数据类型

1,标识符(规则:开头只能时字母下划线@,其后可以为数字字母下划线,区分大小写;命名规则,PC每一个字母的首字母大写CC除了第一个单词的首字母外其他字母的首字母都大写UU所有字母都大写)

2,变量(变量的分类:成员变量(类成员变量),局部变量(语句块局部变量、方法体局部变量);变量的定义  类型  变量名【=初始值】如果没有初始值,如果是成员变量,如果是数值类型或者字符类型,默认为0;如果是引用类型默认为null;如果是布尔类型默认为false;如果是局部变量默认没有初始值;变量的作用域,类成员变量类类中;语句块局部变量在if或者for语句中,方法体局部变量方法内;同名变量的作用域:语句块的局部变量会覆盖类的成员变量,在方法体局部变量和语句块局部变量中不可能有相同的局部变量)

3,常量(使用关键字const,一般建议使用大写,在定义的时候必须初始化,随后其值不能改变)

4,数据类型

浮点数类型:F表示单精度浮点数;D表示双精度浮点数;decliam用于财务计算

1、C#对标识符有什么规定?

以字母、下划线、@开头;其后跟数字、字母或下划线;区分大小写

2、C#建议的几种命名约定?

三种;PC所有单词的首字母大写;CC除了第一个单词的首字母其他单词的首字母都要大写;UU所有单词都要大写

3、变量分为哪两种?其中函数的参数属于哪一种变量?

成员变量和局部变量;其中函数的参数属于局部变量

4、不给变量赋初始值,变量是否有值?

如果是局部变量,则没有默认的初始值;

如果是成员变量,其中如果成员变量是数值或字符类型,默认为0;如果是布尔类型,默认为false;如果是引用类型,默认为null

5、根据变量的作用域不同可以将变量分为哪三类?在不同作用域中可以使用同名的变量吗?如果可以怎么识别?

类成员变量、语句块局部变量、方法体局部变量

可以有

其中方法体局部变量会覆盖类成员变量,但是语句块局部变量和方法体局部变量不能相同

6、指出以下声明常量的错误:

conste double pi;

pi=3.1415;

pi=3.1416;

关键字const,常量在初始化的时候就要赋值;常量的值不能改变

7、值类型和引用类型有什么区别?各自包括哪些类型?

值类型:枚举类型、简单类型,结构类型  ;引用类型:数组类型、接口类型、类类型,委托类型

8、什么是装箱和拆箱?

将一个值类型转变为引用类型

将一个引用类型的对象转变为值类型

9、十六、八、二进制的整数常量分别使用什么前缀?

0x、0、0b

10、有哪两种浮点类型?哪一种是默认的?浮点型常量一般可以跟什么后缀字母?

float  F/f    double  D/d    默认为double类型

11、浮点型和decimal类型在使用精度上、常量后缀上、采用进制上、位数上、性能开销上有什么区别?

浮点型常量后缀使用f和d,采用二进制表示,故有精度误差,

decimal常量后缀使用m,采用十进制表示,精度高,但性能开销大

12、字符常量有哪几种表示方法?

‘a’、‘\U0041’、(char)65、‘\x0041’


13、字符型与整型可以相互转换吗?

可以

14、可空类型有哪两种表示方法?有哪几个常用的属性和方法?

T? (Nullable<T>)

可空类型有HasValue和Value两个只读属性和一个GetValueOrDeault方法

15、有哪两种字符串?有什么区别?

正则字符串(regular string)

包含在双引号中的零个或多个字符组成(如"hello"),并且可以包含简单转义序列(如表示制表符的\t)、十六进制转义序列和Unicode转义序列

原义字符串(verbatim string)

由@字符后跟开始的双引号字符、零个或多个字符以及结束的双引号字符组成。一个简单的示例就是 @"hello”

17、C#中根类型是哪个类型?string是引用类型

object类,引用类型

18、以下语句有哪些错误?

var myfc(var a)

{

  var aa;

  aa=9;

  var b=3.2;

  int c=4;

  b=c;

  string d="ok";

  b=d;

  return b;

}

隐式类型(var)

var不能作为函数返回类型,不能作为函数参数类型;

使用var必须在声明时赋初始值;

使用var一旦赋值,中途不能修改为其他不能自动转换的类型。

20、什么是溢出检查?使用什么关键字?有什么作用?

使用关键字checked可以指定已检查的上下文;

这种不检查就不会报异常,

但是存在隐含错误

一,标识符及其命名规则

标识符:

1,第一个字符必须是字母、下划线、@字符开头

2,其后可以跟字母、下划线、数字

3,标识符区分大小写

4,不能使用保留关键字作为标识符,但可以定义@加关键字的变量名

命名规则 :

(1)PascalCase:

在多个单词组成的名称中,每一个单词除了第一个字母大写外,其余的字母均小写

(2)camelCase:

在多个单词组成的名称中,每一个单词除了第一个字母大写外,其余字母都小写

(3)UPPERCASE:

名称中的所有字母都大写

二,变量

1,变量(variable)

表示存储位置,每一个变量必须具有一个类型

2,变量的分类

(1)成员变量(也叫做字段)

包括静态变量和非静态变量

(2)局部变量

在类成员方法中声明的变量,称为局部变量

包括值参数、引用参数、输出参数

3,变量的声明

使用前必须先声明:    变量类型   变量名1【=初始值】;

如果没有初始值,情况如下:

(1)成员变量(包括静态和非静态的成员变量)、数组元素,可以自动获取一个默认值

  • 对于所有的整数类型(字符类型、枚举类型)和实数类型,其默认值为0
  • 对于布尔类型,其默认值为false
  • 对于引用类型,其默认值为null

(2)局部变量

如果不初始化,不会获得类型的默认值

4,变量的作用域

(1)类型成员变量

有效范围:类类型定义体内

(2)方法体局部变量

有效范围:方法体内

(3)语句块局部变量

有效范围:在语句块内,比如在if 或者for语句块内

注意:

(1)不同作用域中可以使用相同名字的变量,但内部的会屏蔽外部的

(2)在同名的方法体局部变量中,会屏蔽同名的类型成员变量

(3)但是:方法体局部变量不能与改方法内的语句块局部变量同名

三,常量

***常量的声明

使用关键字const,一般习惯大写,常量声明时必须初始化,指定其值后不能再对其赋值修改

const  变量类型  常量名

四,数据类型

1,值类型

(1)值类型的种类

简单类型、枚举类型、结构类型、可以为null的类型

(2)对一个变量操作不会影响另一个变量

2,引用类型

(1)引用类型的种类

类类型、接口类型、数组类型、委托类型

(2)对其中一个变量的操作可能影响另一个变量所引用的对象

3,装箱和拆箱

装箱:将一个值类型隐式或显示的转换成一个object类型

拆箱:将一个对象类型显示的转换成一个值类型

4,浮点类型

后缀加F,解释为单精度浮点类型(float)

后缀加D,解释为双精度浮点类型(double)

decimal数据类型一般支持用于财务计算,可以用较大的精确度来标识货币值

5,string数据类型

1,正则字符串

使用\输出标点符号

2,原义字符

使用@字符输出双引号中的原样内容

6,隐式类型(var)

(1)隐式类型不能赋值为null,不能进行类型转换

(2)var只能用于方法或属性中声明局部变量

(3)不能用来声明类型成员变量,不能用于返回值,参数值类型

 

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值