首页 > 代码库 > 第三章 运算符和表达式

第三章 运算符和表达式

课时20 认识运算符

1.运算符(操作符)

定义:是一个用于运算的符号,作用于一个或多个操作数。

操作数:参与运算的数据

 

 

 

 

 

2.运算符分类(A,B两类)

A.按操作数的数量

一元(目)运算符 → 作用于一个操作数

二元(目)运算符 → 作用于两个操作数

(理解:一个运算符,例如:1+1=2   ‘‘+‘表示运算符,11是操作数)

三元(目)运算符 → 作用于三个操作数

 

 

 

 

代码表示的意思:

double类型转化为int类型再转换为string类型

Double a=1.2;

String b =(int)a;

1)变量类型为小数1.2   2)变量名为a  3)将1.2赋值给a  

示例:

double类型转化为int类型 将1赋值给int

Int a=1;

String b =a.ToString();

4)Int(任何类型)再转换为string类型 写法:_.ToString 得到a.ToString

5)String b+a.ToString

注意:

_.ToString中的.为调用符号

 

 

 

 

 

 

 

 

 

 

 

B.按运算符的功能

算数运算符 → 用于数学运算

逻辑运算符 → 用于判断真假

位运算符 → 用于二进制运算

其他

 

 

 

课时21 常见的运算符号:小括号

1.常见运算符:小括号

  书写方式:() 成对的英文小括号

  功能作用:类型转换  改变运算顺序  函数调用(了解)

 

 

 

 

 

 

 

A.类型转换

示例理解:

Long  a=1;

Int  b=a;

Short  c=b;

Byte  d=c;

1)依据  知晓其取值范围:long>int>short>byte

2)代码意思  取值范围大赋值给取值范围小的 → 表示显示转换

3)所以该进行类型转换

4)大转小取小

 

 

 

 

 

B.改变运算顺序

示例理解:

String a=1+(2+”3”);

1)小括号里优先  得到“23”

2)从左往右计算  得到123

 

 

课时22常见的运算符:算术运算符

1.常见的运算符:+-*/%++- -

 

2.加加运算

 

x++ 后加加,先加后用

++x 前加加,加完再用

示例:

Int  x=1;

X++;

++x;

X=X++;  →x=1,但是运算时值为2

X=++x;  →x=2

 

 

 

 

 4.运算顺序:++  - -  →  *  /  % → + -

 

课时23常见运算符:赋值运算

 

 

1.常见运算符

+=-=*=/=%=

 

 

 

2.赋值运算符

示例理解:

    int x=1

    x +=x+1   等效  x=x+(x+1)  

-=*=/=%=

备注:其他一样

 

 

 

 

 

 

 

赋值运算示例理解:

Int x,y;

X=y=1;

1)int 定义两个变量x y

2)1赋值给y,再把y赋值给x

 

课时24 常见运算符:逻辑运算符

 

 

1.逻辑运算符

1)定义:用于判断条件是否成立的运算

(用真和假表示判断结果)

2)常见逻辑运算符: == , !=  ,>  ,>=  ,<  ,<=  ,&&(并且)  ,||(或者)  ,!(非)

   以上运算返回类型:bool   ture,或者fales

 

 

 

 

 

示例理解:

int  a=1, b=2;

bool  c=a== b;

1int定义了两个值a,b  值分别为12

2)左右两边为布尔类型:bool  a==b

 

 

&&(并且运算)理解:

int  a =1, b= 2;

bool  c =a != b;

bool  d =a > b;

bool  e= c && d

1int定义了两个值a,b  值分别为12

2bool c=a !=b  表示1<2  为真

3bool d=a>b   为假

4bool e=c&& d  最后为假

 

||(或者运算)理解:

int  a =1, b= 2;

bool  c =a != b;

bool  d =a > b;

bool  e= c || d

1int定义了两个值a,b  值分别为12

2bool c=a !=b  表示1<2  为真

3bool d=a>b   为假

4bool e=c||d  最后为真

 

!(非运算)理解:

int  a =1, b= 2;

bool  c =a != b;

bool  d =!b;

1int定义了两个值a,b  值分别为12

2bool c=a !=b  表示1<2  为真

3bool d=!c  求反则为假

 

25.课时  常见运算符:三目运算符

 

1.三目运算符(三元运算符)

 1)需要三个操作数参与运算

2)书写方式:操作数1? 操作数2: 操作数3

   备注:操作数是bool布尔类型  操作数23为相同类型  中间的符号为英文符号

3)返回结果

a如果操作数1判定结果为真,则将操作数2作为返回结果

b如果操作数1判定结果为假,则将操作数3作为返回结果

 

 

 

 

 

 

 

代码理解:

int a= 3;

int b= a % 2;

bool c= b== 0;

string  d=c?”偶数”:”奇数”;

1)int 定义一个变量a,3赋值给a

2)int 定义一个变量a,3%2的余数2.5 赋值给b

3)判断b== 0T还是F,再将F赋给c

4)string 定义一个变量d,将F赋给d

5)判定结果为F,将奇数作为返回结果

备注:%只用于整数间的运算,%除完后的余数

 

 

课时26位运算符

 

 

1.位运算符:用于对数字进行二进制运算

二进制是:逢二进一   支持:01两个数字

十进制是:逢十进一   支持:0--9十个数字

 

 

 

 

2.位运算符

 

& 与  

 

 |或   

 

^异或  

 

 <<左移  

 >>右移  

 

 ~取补

 

 

 

 

&  

   111,其他取0

|  

   000,其他取1

^  异或

  相同曲0,不同取1

<<  左移

  左移指定的位数

>>  右移

  右移指定的位数

~  取补

  1001

 

 

27 表达式

 

1.表达式是:一条有意义的语句,并且该语句至少包含一个操作数和一个操作符


理解:红框中的表达式,表示在做加法运算。

 

 

 

上图中的都为表达式

 

 

2.每一个表达式都有一个返回类型

          

a++

返回类型:与变量a相同

a=1+2

 返回类型:与变量a相同

Console.ReadLine()

返回类型:string

a&&b

 返回类型:bool

a==b

返回类型:bool

int.Parse(input)

 返回类型:int

Console.WriteLine()

返回类型:void()

bool a=true

返回类型:void

表示输出语句,无返回结果    

     变量定义语句,无返回类型 

 

 

3.每一个表达式都可以与其他表达式进行运算,只要类型符合要求

 

 

 

 

 

示例理解:

String result=a + “_”+b+”=”+c;

Console.WriteLine(result);

运算后Console.WriteLine(a + “_”+b+”=”+c);

 

 

 

 

第一次进行运算的结果

 

第二次进行运算的结果

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace ConsoleApplication1

{

    class Program

    {

        static void Main(string[] args)

        {

            Console.Write("请输入第一个数:");

            double a = double.Parse(Console.ReadLine());

            Console.Write("请输入第二个数:");

            double b = double.Parse(Console.ReadLine());

            string result = a > b ? "第一个数大" : "第二个数大";

            Console.Write(result);

 

        }

    }

}

 

28  运算符优先级

1.运算符的优先级

A.优先级越高的运算符,会优先得到执行

B.优先级相同的运算符,从左到右依次执行

举例

上表 对初学者意义不大

 

 

2.使用多个运算符的常见场景

1)赋值运算

2)数学运算

3)类型转换和函数调用

4)逻辑运算

5)三目运算

6)其他运算

 

赋值运算的理解:

1)先计算表达式结果

2)赋值运算,永远最后运行

 

 

数学运算的理解:

1)先运行括号,有嵌套则由里往外运行

2)再运行乘,除,求余

3)最后运行加减

 

 

 

 

 

 

类型转换和函数调用的理解:

示例:

(int)double.Pparse(a)

1)先进行函数调用

2)将变量a转换为double类型,得到double类型的返回结果

3)double返回结果强制转化给int

 

 

 

 

 

 

 

 

代码理解:

int.Prase(a.ToString())

1)将变量a转化为string(字符串)类型,得到string类型

2)将得到的string类型转化为int类型

 

 

 

逻辑运算

逻辑运算时,将&&||符号两端的表达看作一个整体,都为bool类型

 

代码理解:

示例:

a>b&&c>d

1)a>bc>d的返回类型是bool,本身是表达式

2)将左右两端返回类型bool进行bool类型中的&&(并且)运算

 

理解代码:

1)a>b&&c>d

a大于b并且c大于d

2)a>b&&c>d&&a>c

a大于b并且c大于d并且a大于c

 

 

三目运算

1)书写方式:  表达式1?表达式2:表达式3  

   表达含义:表达式1返回类型是bool;表达式23的类型相同

2)表达式1返回结果为真取表达式2,否之取表达式3

 

 

 

代码理解:

示例:

a > b ? a + “.00”:b.ToString()

如果a>b,则取a拼接“00”的结果,否则取b的字符串结果

 

其他

使用小括号或分开书写来控制运算顺序

小括号具有最高的优先级

可以使用小括号将需要优先执行的代码括起来

 

 

示例:

int  result=( a + b ) > c ? a+ b : c;

有三个int类型的变量a,b,c,如果a+b的值大于c,则取a+b的值,否则取c的值

 

 

29 课时  健康计算器

 

 

运行代码:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace ConsoleApplication1

{

    class Program

    {

        static void Main(string[] args)

        {

            /*标准体重计算公式

                  男:(身高-80*0.7

                  女:(身高-70*0.6

              健康:在标准 体重10%范围内

              偏瘦:低于标准体重10%

              偏胖:高于体重10%

             */

            Console.Write("请输入性别(男 或 女):");

            string input = Console.ReadLine();

            Console.Write("请输入身高(厘米)");

            //获取用户输入,然后把用户输入的身高转化为int类型,保存到变量height

            int height = int.Parse(Console.ReadLine());

            Console.Write("请输入体重(千克):");

            //获取用户输入的体重,将其转化为int类型,存放到weight

            int weight = int.Parse(Console.ReadLine());

 

            //计算用户的健康状况

            //计算用户的标准体重

            double standardWeight=input==""?(height-80)*0.7:(height-70)*0.6;

            //计算健康体重的最小值和最大值

            double minHealthWeight=standardWeight*0.9;

            double maxHealthWeight = standardWeight * 1.1;

 

            //根据健康体重的最小值和最大值,得到用户的健康状况

            string result=weight>=minHealthWeight && weight<= maxHealthWeight?

                "身体非常健康,继续保持":

                (weight<minHealthWeight?"偏瘦,请多补充营养":"偏胖,请少吃多运动");

            Console.WriteLine(result);

            Console.ReadLine();

 

        }

    }

}

 

第三章 运算符和表达式

课时20 认识运算符

1.运算符(操作符)

定义:是一个用于运算的符号,作用于一个或多个操作数。

操作数:参与运算的数据

 

 

 

 

 

2.运算符分类(A,B两类)

A.按操作数的数量

一元(目)运算符 → 作用于一个操作数

二元(目)运算符 → 作用于两个操作数

(理解:一个运算符,例如:1+1=2   ‘‘+‘表示运算符,11是操作数)

三元(目)运算符 → 作用于三个操作数

 

 

 

 

代码表示的意思:

double类型转化为int类型再转换为string类型

Double a=1.2;

String b =(int)a;

1)变量类型为小数1.2   2)变量名为a  3)将1.2赋值给a  

示例:

double类型转化为int类型 将1赋值给int

Int a=1;

String b =a.ToString();

4)Int(任何类型)再转换为string类型 写法:_.ToString 得到a.ToString

5)String b+a.ToString

注意:

_.ToString中的.为调用符号

 

 

 

 

 

 

 

 

 

 

 

B.按运算符的功能

算数运算符 → 用于数学运算

逻辑运算符 → 用于判断真假

位运算符 → 用于二进制运算

其他

 

 

 

课时21 常见的运算符号:小括号

1.常见运算符:小括号

  书写方式:() 成对的英文小括号

  功能作用:类型转换  改变运算顺序  函数调用(了解)

 

 

 

 

 

 

 

A.类型转换

示例理解:

Long  a=1;

Int  b=a;

Short  c=b;

Byte  d=c;

1)依据  知晓其取值范围:long>int>short>byte

2)代码意思  取值范围大赋值给取值范围小的 → 表示显示转换

3)所以该进行类型转换

4)大转小取小

 

 

 

 

 

B.改变运算顺序

示例理解:

String a=1+(2+”3”);

1)小括号里优先  得到“23”

2)从左往右计算  得到123

 

 

课时22常见的运算符:算术运算符

1.常见的运算符:+-*/%++- -

 

2.加加运算

 

x++ 后加加,先加后用

++x 前加加,加完再用

示例:

Int  x=1;

X++;

++x;

X=X++;  →x=1,但是运算时值为2

X=++x;  →x=2

 

 

 

 

 4.运算顺序:++  - -  →  *  /  % → + -

 

课时23常见运算符:赋值运算

 

 

1.常见运算符

+=-=*=/=%=

 

 

 

2.赋值运算符

示例理解:

    int x=1

    x +=x+1   等效  x=x+(x+1)  

-=*=/=%=

备注:其他一样

 

 

 

 

 

 

 

赋值运算示例理解:

Int x,y;

X=y=1;

1)int 定义两个变量x y

2)1赋值给y,再把y赋值给x

 

课时24 常见运算符:逻辑运算符

 

 

1.逻辑运算符

1)定义:用于判断条件是否成立的运算

(用真和假表示判断结果)

2)常见逻辑运算符: == , !=  ,>  ,>=  ,<  ,<=  ,&&(并且)  ,||(或者)  ,!(非)

   以上运算返回类型:bool   ture,或者fales

 

 

 

 

 

示例理解:

int  a=1, b=2;

bool  c=a== b;

1int定义了两个值a,b  值分别为12

2)左右两边为布尔类型:bool  a==b

 

 

&&(并且运算)理解:

int  a =1, b= 2;

bool  c =a != b;

bool  d =a > b;

bool  e= c && d

1int定义了两个值a,b  值分别为12

2bool c=a !=b  表示1<2  为真

3bool d=a>b   为假

4bool e=c&& d  最后为假

 

||(或者运算)理解:

int  a =1, b= 2;

bool  c =a != b;

bool  d =a > b;

bool  e= c || d

1int定义了两个值a,b  值分别为12

2bool c=a !=b  表示1<2  为真

3bool d=a>b   为假

4bool e=c||d  最后为真

 

!(非运算)理解:

int  a =1, b= 2;

bool  c =a != b;

bool  d =!b;

1int定义了两个值a,b  值分别为12

2bool c=a !=b  表示1<2  为真

3bool d=!c  求反则为假

 

25.课时  常见运算符:三目运算符

 

1.三目运算符(三元运算符)

 1)需要三个操作数参与运算

2)书写方式:操作数1? 操作数2: 操作数3

   备注:操作数是bool布尔类型  操作数23为相同类型  中间的符号为英文符号

3)返回结果

a如果操作数1判定结果为真,则将操作数2作为返回结果

b如果操作数1判定结果为假,则将操作数3作为返回结果

 

 

 

 

 

 

 

代码理解:

int a= 3;

int b= a % 2;

bool c= b== 0;

string  d=c?”偶数”:”奇数”;

1)int 定义一个变量a,3赋值给a

2)int 定义一个变量a,3%2的余数2.5 赋值给b

3)判断b== 0T还是F,再将F赋给c

4)string 定义一个变量d,将F赋给d

5)判定结果为F,将奇数作为返回结果

备注:%只用于整数间的运算,%除完后的余数

 

 

课时26位运算符

 

 

1.位运算符:用于对数字进行二进制运算

二进制是:逢二进一   支持:01两个数字

十进制是:逢十进一   支持:0--9十个数字

 

 

 

 

2.位运算符

 

& 与  

 

 |或   

 

^异或  

 

 <<左移  

 >>右移  

 

 ~取补

 

 

 

 

&  

   111,其他取0

|  

   000,其他取1

^  异或

  相同曲0,不同取1

<<  左移

  左移指定的位数

>>  右移

  右移指定的位数

~  取补

  1001

 

 

27 表达式

 

1.表达式是:一条有意义的语句,并且该语句至少包含一个操作数和一个操作符


理解:红框中的表达式,表示在做加法运算。

 

 

 

上图中的都为表达式

 

 

2.每一个表达式都有一个返回类型

          

a++

返回类型:与变量a相同

a=1+2

 返回类型:与变量a相同

Console.ReadLine()

返回类型:string

a&&b

 返回类型:bool

a==b

返回类型:bool

int.Parse(input)

 返回类型:int

Console.WriteLine()

返回类型:void()

bool a=true

返回类型:void

表示输出语句,无返回结果    

     变量定义语句,无返回类型 

 

 

3.每一个表达式都可以与其他表达式进行运算,只要类型符合要求

 

 

 

 

 

示例理解:

String result=a + “_”+b+”=”+c;

Console.WriteLine(result);

运算后Console.WriteLine(a + “_”+b+”=”+c);

 

 

 

 

第一次进行运算的结果

 

第二次进行运算的结果

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace ConsoleApplication1

{

    class Program

    {

        static void Main(string[] args)

        {

            Console.Write("请输入第一个数:");

            double a = double.Parse(Console.ReadLine());

            Console.Write("请输入第二个数:");

            double b = double.Parse(Console.ReadLine());

            string result = a > b ? "第一个数大" : "第二个数大";

            Console.Write(result);

 

        }

    }

}

 

28  运算符优先级

1.运算符的优先级

A.优先级越高的运算符,会优先得到执行

B.优先级相同的运算符,从左到右依次执行

举例

上表 对初学者意义不大

 

 

2.使用多个运算符的常见场景

1)赋值运算

2)数学运算

3)类型转换和函数调用

4)逻辑运算

5)三目运算

6)其他运算

 

赋值运算的理解:

1)先计算表达式结果

2)赋值运算,永远最后运行

 

 

数学运算的理解:

1)先运行括号,有嵌套则由里往外运行

2)再运行乘,除,求余

3)最后运行加减

 

 

 

 

 

 

类型转换和函数调用的理解:

示例:

(int)double.Pparse(a)

1)先进行函数调用

2)将变量a转换为double类型,得到double类型的返回结果

3)double返回结果强制转化给int

 

 

 

 

 

 

 

 

代码理解:

int.Prase(a.ToString())

1)将变量a转化为string(字符串)类型,得到string类型

2)将得到的string类型转化为int类型

 

 

 

逻辑运算

逻辑运算时,将&&||符号两端的表达看作一个整体,都为bool类型

 

代码理解:

示例:

a>b&&c>d

1)a>bc>d的返回类型是bool,本身是表达式

2)将左右两端返回类型bool进行bool类型中的&&(并且)运算

 

理解代码:

1)a>b&&c>d

a大于b并且c大于d

2)a>b&&c>d&&a>c

a大于b并且c大于d并且a大于c

 

 

三目运算

1)书写方式:  表达式1?表达式2:表达式3  

   表达含义:表达式1返回类型是bool;表达式23的类型相同

2)表达式1返回结果为真取表达式2,否之取表达式3

 

 

 

代码理解:

示例:

a > b ? a + “.00”:b.ToString()

如果a>b,则取a拼接“00”的结果,否则取b的字符串结果

 

其他

使用小括号或分开书写来控制运算顺序

小括号具有最高的优先级

可以使用小括号将需要优先执行的代码括起来

 

 

示例:

int  result=( a + b ) > c ? a+ b : c;

有三个int类型的变量a,b,c,如果a+b的值大于c,则取a+b的值,否则取c的值

 

 

29 课时  健康计算器

 

 

运行代码:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace ConsoleApplication1

{

    class Program

    {

        static void Main(string[] args)

        {

            /*标准体重计算公式

                  男:(身高-80*0.7

                  女:(身高-70*0.6

              健康:在标准 体重10%范围内

              偏瘦:低于标准体重10%

              偏胖:高于体重10%

             */

            Console.Write("请输入性别(男 或 女):");

            string input = Console.ReadLine();

            Console.Write("请输入身高(厘米)");

            //获取用户输入,然后把用户输入的身高转化为int类型,保存到变量height

            int height = int.Parse(Console.ReadLine());

            Console.Write("请输入体重(千克):");

            //获取用户输入的体重,将其转化为int类型,存放到weight

            int weight = int.Parse(Console.ReadLine());

 

            //计算用户的健康状况

            //计算用户的标准体重

            double standardWeight=input==""?(height-80)*0.7:(height-70)*0.6;

            //计算健康体重的最小值和最大值

            double minHealthWeight=standardWeight*0.9;

            double maxHealthWeight = standardWeight * 1.1;

 

            //根据健康体重的最小值和最大值,得到用户的健康状况

            string result=weight>=minHealthWeight && weight<= maxHealthWeight?

                "身体非常健康,继续保持":

                (weight<minHealthWeight?"偏瘦,请多补充营养":"偏胖,请少吃多运动");

            Console.WriteLine(result);

            Console.ReadLine();

 

        }

    }

}

 

第三章 运算符和表达式