首页 > 代码库 > C#(2)—运算符与if语句

C#(2)—运算符与if语句

运算符:
一、算术运算符:
+ - * /
% ——取余运算
取余运算的应用场景:
1.奇偶数的区分。
2.把数变化到某个范围之内。——彩票生成。
3.判断能否整除。——闰年、平年。
int a = 10, b = 3;
Console.WriteLine("10/3=" + (a / b));
Console.WriteLine("10%3=" + (a % b));

++(自增运算) --(自减运算)——它只能对变量进行运算。
int a = 5;
a++;
//7++; //错误。
Console.WriteLine(a);//a = 6;

1.前自增/前自减
先进行自增/自减运算,然后再进行其它运算。可以简单认为前自增/前自减的优先级是最高。
int a = 5,b;
b = ++a;
Console.WriteLine("a=" + a + ";b=" + b); //结果应当a=6,b=6

2.后自增/后自减
先进行其它运算,当其它运算都完成后,再进行自增/自减运算。可以简单认为是后自增/后自减优先级是最低的。
int a = 5,b;
b = a++;
Console.WriteLine("a=" + a + ";b=" + b);//结果应当是a=6,b=5

二、关系运算符:——用来判断式子成立与否
== != > >= < <=
注意:
双等号不要写成单等号


三、逻辑运算符:&&,||都双操作数,!单操作数
&& 与(并且)
int a = 5,b=6;
Console.WriteLine(a > b && a > 0); //false;
//true???
|| 或(或者)
int a = 5,b=6;
Console.WriteLine((a > b) || (a > 0)); //true
//false??
! 非 ——取反

优先级:
一般来说:
1.算术运算术的优先级要高关系运算符;关系运算符的优先级要高于逻辑运算符
2.逻辑非优先级最高。逻辑与要高于逻辑或。
3.如果在不确定,就加小括号。

四、其它运算符:
1.赋值运算符:=。把右边的结果送到左边去。左边只能是变量。
2.复合运算符:+= -= *= /= %= 知道就行。
a+=5; <==> a = a + 5
3.条件运算符:三目运算符?:。
int a=5,b=6,c;
c = a > b ? a : b;
Console.WriteLine( c )


作业:
1.游泳池

{
const double PI = 3.14;

Console.WriteLine("请输入游泳池半径");
string s = Console.ReadLine();
double a = Convert.ToDouble(s);

Console.WriteLine("请输入广场的半径");
string w = Console.ReadLine();
double b = Convert.ToDouble(w);

double c = PI * 2 * a;
double d = PI * b * b - PI * a * a;
Console.WriteLine("游泳池的护栏长度为:"+c);
Console.WriteLine("广场砖的面积为:"+d);
Console.WriteLine("共需要的钱数为:"+(25*c+85*d));
}

2.老狼老狼几点了

{
int a;

Console.Write("老狼老狼几点了?");
string m = Console.ReadLine();
a = Convert.ToInt32(m);

int hour = a > 12? (a-12) :a;
string sx = a > 12 ?("下午"):("上午");

Console.WriteLine("现在的时间是"+sx+hour+"点了。");


}


3.输入三个数a,b,c。输出最大的。

{
int a, b, c;
Console.Write("请输入a");
string m = Console.ReadLine();
a = Convert.ToInt32(m);

Console.Write("请输入b");
string n = Console.ReadLine();
b = Convert.ToInt32(n);

Console.Write("请输入c");
string o = Console.ReadLine();
c = Convert.ToInt32(o);

a = a > b ? a : b;
a= a> c ? a : c;
Console.WriteLine("三个数的最大值是:"+a);

 

}

二、语句:
顺序,分支,循环。

(一)顺序:略
分支:判断--表达式。if(){}
四大类:
1.if
if (age > 18)
{
Console.WriteLine("可以去当兵!");
}

注意:if表达式后面只管一句话,可以省略掉{};如果if表达式后面需要管多句话,则必须加{}

2.if...else...
if (age > 18)
{
Console.WriteLine("成年了!");
Console.WriteLine("可以去当兵!");
}
else
{
Console.WriteLine("还没长大!");
Console.WriteLine("回家上学去!");
}
注意:
1.else后面不要加分号。
2.else后面不要加小括号。
3.if...else if...else if...else 多分支。
//输入
Console.Write("老狼老狼几点了?");
string s = Console.ReadLine();
int hour = Convert.ToInt32(s);

if (hour >= 0 && hour < 6) // 0<hour<6:错误
{
Console.WriteLine("凌晨" + hour + "点了");
}
else if (hour >= 6 && hour <= 12)
{
Console.WriteLine("上午" + hour + "点了");
}
else if (hour > 12 && hour < 18)
{
hour -= 12;
Console.WriteLine("下午" + hour + "点了");
}
else if (hour >= 18 && hour < 24)
{
hour -= 12;
Console.WriteLine("晚上" + hour + "点了");
}
else
{
Console.WriteLine("不可识别的时间!");
}
4.if嵌套。
if(...)
{
if(...)
{
}
else
{
}
}
else
{
if(...)
{
}
else
{
}
}
分层、分类来解决问题的思路。
作业:
1.老狼几点了。凌晨,上午,下午,晚上。

{
Console.Write("老狼老狼几点了?");
string s = Console.ReadLine();
int hour = Convert.ToInt32(s);

if (hour >= 0 && hour < 6)
{
Console.WriteLine("时间是凌晨" + hour + "点。");
}
else if(hour>=6&&hour<=12)
{
Console.WriteLine("时间是早晨"+hour+"点。");
}
else if(hour>12&&hour<18)
{
hour -= 12;
Console.WriteLine("时间是下午"+hour+"点");
}

else if (hour >= 18 && hour < 24)
{
hour -= 12;
Console.WriteLine("时间是晚上"+hour+"点。");
}
else {
Console.WriteLine("时间输入有问题");
}

}

 

2.判断一元二次方向根的情况。

{

Console.Write("请输出a的值");
string s = Console.ReadLine();
int a = Convert.ToInt32(s);

Console.Write("请输出b的值");
string p = Console.ReadLine();
int b = Convert.ToInt32(p);

Console.Write("请输出c的值");
string q= Console.ReadLine();
int c = Convert.ToInt32(q);

if(a==0)
{
Console.WriteLine("这是一个一元一次方程。");
}
else
{
int d=b*b-4*a*c;
if(d>0)
{
Console.WriteLine("本方程由两个不同的实根。");
}

else if(d==0)
{
Console.WriteLine("本方程由两个相同的实根。");
}
else
{
Console.WriteLine("本方程没有实根。");

}

}

 

3.输入一个年份,判断是闰年还是平年。

{
Console.Write("请输出年份");
string a = Console.ReadLine();
int year = Convert.ToInt32(a);

if(year%400==0)
{
Console.WriteLine("是闰年。");
}
else if(year%4==0&&year%100!=0)
{
Console.WriteLine("是闰年。");
}
else
{
Console.WriteLine("是平年。");
}
}


4.称体重。
男人的标准体重是:体重(kg)=身高(cm)-100。
女人的标准体重是:体重(kg)=身高(cm)-110。
上下浮动3公斤属正常

要求输入性别、身高、体重,输出健康、偏胖、偏瘦。

{
Console.Write("请输出性别");
string sex = Console.ReadLine();

Console.Write("请输入身高");
string a = Console.ReadLine();
int high = Convert.ToInt32(a);

Console.Write("请输入体重");
string b = Console.ReadLine();
int height = Convert.ToInt32(b);

if(sex =="男")

{
int c=height-(high-100);
if(c>3)
Console.WriteLine("超重");
else if(c<-3)
Console.WriteLine("偏瘦");
else

Console.WriteLine("健康");
}
else if(sex=="女")
{
int c = height - (high - 110);
if (c > 3)
Console.WriteLine("超重");
else if (c < -3)
Console.WriteLine("偏瘦");
else
Console.WriteLine("健康");
}
else
Console.WriteLine("你输入的性别有问题。");
}



5.输入年、月、日,判断是否是个正确的日期。

{
Console.Write("请输入年份。");
string a = Console.ReadLine();
int year = Convert.ToInt32(a);

Console.Write("请输入月份。");
string b = Console.ReadLine();
int month = Convert.ToInt32(b);

Console.Write("请输入年份。");
string c = Console.ReadLine();
int day= Convert.ToInt32(c);

if(year>=0000&&year<=9999)
{
if (month >= 1 && month <= 12)
{
if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
{
if(day>=1&&day<=3)
Console.WriteLine("所输日期存在。");
else
Console.WriteLine("所输日期不存在。");
}
else if(month==4||month==6||month==9||month==11)
{
if(day>=1&&day<=30)
Console.WriteLine("所输日期存在。");
else
Console.WriteLine("所输日期不存在。");
}
else
{
if ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0))
{
if(day>=1&&day<=29)
Console.WriteLine("所输日期存在。");
else
Console.WriteLine("所输日期不存在。");
}

else
{
if(day>=1&&day<=28)
Console.WriteLine("所输日期存在。");
else
Console.WriteLine("所输日期不存在。");
}

}
}
else
Console.WriteLine("所输日期不存在。");
}
else
Console.WriteLine("所输日期不存在。");
}

 

C#(2)—运算符与if语句