C#—第四章语句、运算符、表达式

1,语句(声明语句、表达式语句、选择语句、迭代语句、处理异常语句、跳转语句(goto,break,continue,return,throw))

2,运算符(分类:一元运算符,二元运算符,三元运算符)(短路运算:在&&或||语句中)(算术运算符:如果有字符,会转换为相应的ASCII值计算)(字符串运算符:+连接两个字符串)(null运算符:??合并运算符,如果有一个为空,则输出另一个参数;?.访问运算符:防止访问空时,出现异常)条件运算符((逻辑表达式?表达式1:表达式2)表示如果表达式为真则为表达式1,否则表达式2)

 

1、请说明如下语句的结果:

int i=2,a=5;a=i++;

a=2

7%3

1

3/2

1

10+‘3’

61

10+"3"

103

2、什么是逻辑运算符的短路运算?

比如在x&&y运算中,如果x为假,则不计算y

           x||y运算中,如果x为真,则不计算y

3、什么是运算符的优先级和结合性?至少列出两个右结合性的运算符。

先考虑优先级,在优先级相同情况下考虑结合性

优先级决定操作数先与其相邻的哪一端的另一个操作数进行计算

当两端运算符的优先级相同的时候,运算的顺序取决于结合性

赋值号和三元运算符都是右结合性

4、解释以下语句的含义?

string s2=s1??“nothoning”

在s1为null时输出s2为nonothing

一,语句

1,声明语句,表达式语句,选择语句

2,迭代语句,跳转语句,捕获异常语句

二,运算符

1,运算符分类:一元运算符,二元运算符,三元运算符

2,短路运算

(1)x&&y,如果x为false,则不计算y

(2)x||y,如果x为true,则不计算y

3,算术运算符

两边的操作应该为数值型,如果是字符型,则自动转换成字符对应的ASCII码值后再进行运算

C#—第四章语句、运算符、表达式

4,字符串运算符

只有一个“+”,用于两个字符串的拼接,如果有操作数为null,则用空字符来替换此操作数

C#—第四章语句、运算符、表达式

5,条件运算符

逻辑表达式  ?  表达式1:表达式2;

表示为:如果为真执行表达式1,为假执行表达式2

6,Null相关运算符

(1)合并运算符:??

语法:表达式   ??缺省值

C#—第四章语句、运算符、表达式

(2)访问运算符:?.     /?[]

防止在访问空对象时,出现异常。

语法:对象  ?.成员