2018-10-27

运算符

忠告:多练才是王道

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

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

知识点

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

(一) 含义

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

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

如: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();

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 变量及数据类型 学习要点 1. 变量的含义 2. 变量的使用方法 3. 常见的数据类型 4. 变量的命名规则 5....
    c592a8530dfe阅读 2,833评论 0 0
  • 尊敬的蓝山县洪观开心幼儿园的家长朋友们,大家晚上好!应聪慧睿智有满满幼教情怀的曾园长相邀,有幸和各位家长朋友们沟通...
    周杨英阅读 3,954评论 0 0
  • 我们似乎失去了耐性,别说让生活慢下来,就是能够完整看完一本书的人还剩多少? ——白岩松《不平静,就不会幸福》 01...
    莹光灼华阅读 3,508评论 12 12
  • 文/关长天 轻轻放下十年前的木琴 它已发不出年轻的声响 知道你的生活不再有诗 便将这断章给你 在这寒冷的日子 希望...
    关长天阅读 2,755评论 6 39
  • 青春在路上,愿所有奔波都成为不可替代 我从骨子里就不喜欢兰州这个城市,以前觉得她环境不好,不喜欢,现在环境感觉不错...
    蓝桉叶落阅读 1,391评论 0 0