美文网首页
2018-10-27

2018-10-27

作者: c592a8530dfe | 来源:发表于2018-10-27 16:15 被阅读0次

运算符

忠告:多练才是王道

清明时节雨纷纷,狠敲代码有大奔

中秋佳节倍思亲,狂敲代码拿年薪

知识点

一、 算数运算符及算术表达式

(一) 含义

算术运算符: + - * / %(取余数 取模)

算术表达式:由算术运算符连接起来的式子.

如:1+1 a-b(变量ab前面已声明并赋初值)

(二) 演示

某学生三门课成绩为,语文:90 数学:80 英语:67,编程求总分和平均分。

//演示:某学生三门课成绩为,语文:90 数学:80 英语:67,编程求总分和平均分.

int chinese = 90;

int math = 80;

int english = 67;

int sum = chinese + math + english;

Console.WriteLine("总分是{0},平均分是{1}", chinese + math + english, (chinese + math + english) / 3);

Console.ReadKey();

(三) 优先级

先乘除,后加减,有括号先算括号里的,相同级别的从左至右运算

小括号可以无限制的套用,但一定要成对出现.

int a = ((1 + 5) + 3) * 2;

输出的结果是 18

(四) 练习

1. 练习1

定义两个数分别为100和20,打印出两个数的和。

2. 练习2(作业1)

计算半径为5的圆的面积和周长并打印出来.(pi为3.14)面积:pirr; Perimeter(周长)

3. 练习3

某商店T恤(T-shirt)的价格为35元/件,裤子(trousers)的价格为120元/条.小明在该店买了3件T恤和2条裤子,请计算并显示小明应该付多少钱? 打8.8折后呢?

int T_Shirt = 35;

int trousers = 120;

int totalMoney = 3 * T_Shirt + 2 * trousers;

Console.WriteLine("总共应该付{0}元", totalMoney);

double dzMoney = totalMoney * 0.88;

Console.WriteLine("打88折以后,应付{0}元", dzMoney);

Console.ReadKey();

二、 数据类型转换

(一) 自动类型转换

1. 规则

参与运算(算术运算和赋值运算)的操作数和结果类型必须一致. 当不一致时,满足下面条件时,系统自动完成类型转换 (隐式转换)

l 两种类型兼容

例如:int 和 double 兼容(都是数字类型)

l 目标类型大于源类型

例如:double > int

对于表达式

l 如果一个操作数为double型,则整个表达式可提升为double型

比如前面打8.8折的练习题.

求10/3商(Remainder)要想得到3.333的处理.

2. 练习

int n = 10;

double d = n;

不会报错

(二) 强自类型转换

1. 问题

商店为了结算方便,只收用户整数部分的钱,如本应收用户303.6,现在只收用户303元,应该如何做?

2. 语法

(数据类型名)待转换的值;

3. 问题解决

int result = (int)303.6;

Console.WriteLine(result);

Console.ReadKey();

4. 注意

强制类型转换,数据类型一定要相兼容

5. 练习

下面的运算结果

int a = 10, b = 3;

int m= a % b;

double q = a / b;

Console.WriteLine(m);

Console.WriteLine(q);

注:

1) 如何让q,出现在小数

double q = a * 1.0 / b;

2) 如何保留二位小数。占位符的新用法

Console.WriteLine("{0:0.00}", q);

三、 Convert

(一) 问题

让用户输入他的语文和数学成绩,计算他的总成绩并显示出来?

Console.WriteLine("请首先输入你的语文成绩");

string strChinese = Console.ReadLine();

Console.WriteLine("在输入你的数学成绩");

string strMath = Console.ReadLine(); //100 90

遇到的问题:

需要将用户输入的数字型的字符串,转换为数字

(二) Convert类型转换

如果要发生类型转换的两个变量的类型不兼容,那么这个时候使用Convert类型转换。

不再仅是内存级别的转换,而是考虑数据意义的转换。

一切类型都可以转换为string类型

[图片上传失败...(image-dc64fa-1540628140053)]

(三) 问题解决

Console.WriteLine("请首先输入你的语文成绩");

string strChinese = Console.ReadLine();

Console.WriteLine("在输入你的数学成绩");

string strMath = Console.ReadLine();

int chinese = Convert.ToInt32(strChinese);

int math = Convert.ToInt32(strMath);

(四) 练习(作业2)

练习1:

让用户输入姓名 语文 数学 英语 三门课的成绩,然后给用户显示:XX,你的总成绩为XX分,平均成绩为XX分

6. 练习2

让用户输入天数,并计算这个天数是几周零几天,比如46天是6周零4天

四、 面试题

交换二个变量的值。至少用二种方法

(一) 第一种方法:使用中间变量

int n1 = 10;

int n2 = 20;

int temp = n1;

n1 = n2;

n2 = temp;

(二) 第二种方法:不能使用中间变量

int n1 = 10;

int n2 = 20;

n1 = n1 - n2; //n1=-10 n2=20

n2 = n1 + n2;//n1=-10 n2=10;

n1 = n2 - n1;

Console.WriteLine("交换后,n1的值是{0},n2的值是{1}", n1, n2);

Console.ReadKey();

相关文章

网友评论

      本文标题:2018-10-27

      本文链接:https://www.haomeiwen.com/subject/miudtqtx.html