二、基本运算
2017-11-09 本文已影响0人
陈美丽就是我
一、运算符
- 运算符是指定要在表达式中执行哪些操作(数学、索引、函数调用等等)的符号。
- 运算符分类:
C#语言继承了C/C++原有所有运算符,并在此基础上增添了几个新的运算符。
另外,根据运算符所使用的操作数(运算符所操作的变量或常量) 个数,可分为3类:
一元运算符:一元运算符作用于一个操作数,例如-X、++X、X等。
二元运算符:二元运算符对两个操作数进行运算,例如x+y。
三元运算符:三元运算符只有一个:x?y:z。
二、各运算符的用法
-
1、算术运算符、比较运算符、赋值运算符
static void Main(string[] args)
{
int a = 100, b = 10;
Console.WriteLine(a--);//100 先用再自减1
Console.WriteLine(a+b);//99+10
Console.WriteLine(--a);//98 先自减1再用
Console.WriteLine(a+b);//98+10
int c = 50, d = 80;
Console.WriteLine((c--)+d);// 50+80
Console.WriteLine((--c)+(d++));//48+80
static void Main(string[] args)
{
int I=0;
int n= 3;
while (I++ < n)
{
Console.WriteLine(I);
}
Console.WriteLine(I);
//第一次循环时I等于0比n小,执行循环体,此时I自加1等于1,输出的I等于1;第二次循环时I等于1,比n小,执行循环体,此时I自加1等于2,输出的I等
于2;第三次循环时I等于2,比n小,执行循环体,此时I自加1等于3,输出的I等于3;第四次循环时I等于3,不小于n,跳出循环体,此时I自加1等于4;
while (++I < n)
{
Console.WriteLine(I);
}
Console.WriteLine(I);
Console.ReadKey();
}
//第一次循环时I1此时I自加1等于1比n小,执行循环体,输出的I等于1;第二次循环时I自加1等于2,比n小,执行循环体,输出的I等于2;第三次循环时自
加1等于3,不小于n,跳出循环体,此时I等于3;
//计算12898秒等于几小时几分几秒
int A = 12898;
int H;
int M;
int T;
H = A / 3600;
M= (12898 % 3600)/60;
T = (12898 % 3600)%60;
Console.WriteLine(H);
Console.WriteLine(M);
Console.WriteLine(T);
int i = -2;
--i; //-3
++i; //-2
i++; //-1
i+=3; //2
++i; //3
i++; //4
i*=2; //8
++i; //9
i--; //8
Console.WriteLine(--i);7
-
2、三目运算符、逻辑运算符
Int a=5,b=4,c=6,d;
d=a>b?(a>c?a:c):b; 三目运算
Console.Writeline(d);
Int f = 23;
Int h = 12;
bool a;
a = (!((f > 22 && h < f) || h == 2) || f >= 23);逻辑运算
Console.WriteLine(a);
-
3、checked与unchecked运算符
byte by1 = 255;
checked {
by1++; // 256
}
unchecked {
by1++;
Console.WriteLine(by1);
}
-
4、is 、 as、
int a11 = 10;
object obj = 10;
bool boo = true;
string name = "face";
boo = obj is int;
Console.WriteLine(boo);
// as 表达式1和表达式2必须是引用类型的变量或者常量
// 引用类型 :起了一个名字来表示某件事
// 值类型:就是存贮在内存栈空间的数值 10,20,30,
obj = a11 as object; // 某个类型的值 as Object 大的可以代表小的
// as 必须与引用类型和Null类型的值一起使用
a11 = obj as int ; // Object as 某个类型的值 小的不能代替大的
三、课后习题
- 1、在Main方法中定义变量,用这些变量存储游戏中一个敌人应该有的一些属性,定义尽可能多的变量(最少5个)。
string name="陈美丽";
int age=18;
string sex="女";
double Fighting=10000;
double grade=90;
- 2、下面哪些变量名不合法?
string myVariableIsGood; //正确,驼峰式命名,只是不够精简
int 99Flake; //错误,不能以数字开头
float Ji_floor; //正确
string time2GetJiggyWidIt; //正确,但不够精简,不建议使用
int x.com; //错误,不能有特殊符号.
- 3、接受用户输入的两个整数,存储到两个变量里面,交换变量存储的值。
Console.WriteLine("请输入两个整数");
int a = Convert.ToInt32(Console.ReadLine());
int b = Convert.ToInt32(Console.ReadLine());
######方法一:
int c;
c = a;
a = b;
b = c;
######方法二:
a = a + b;
b = a - b;
a = a - b;
Console.WriteLine(a);
Console.WriteLine(b);
- 4、编写一个控制台应用程序,要求用户输入4个int值,并显示他们的乘积。
Console.WriteLine("请输入4个整数");
int a = Convert.ToInt32(Console.ReadLine());
int b = Convert.ToInt32(Console.ReadLine());
int c = Convert.ToInt32(Console.ReadLine());
int d = Convert.ToInt32(Console.ReadLine());
double num = a * b * c * d;
Console.WriteLine("{0}*{1}*{2}*{3}={4}",a,b,c,d,num);
- 5、从键盘输入一个三位的正整数,按数字的相反顺序输出。
Console.WriteLine("请输入一个三位数的正整数");
int num = Convert.ToInt32(Console.ReadLine());
int a, b, c;
a = num / 100;
b = (num / 10) % 10;
c= num % 10;
num = c * 100 + b * 10 + a * 1;
Console.WriteLine(num);
- 6、编写一个程序,输入梯形的上底 下底 和高 ,计算出来梯形的面积并显示出来。
Console.WriteLine("请输入梯形的上底:");
int a = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入梯形的下底:");
int b = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入梯形的高:");
int c = Convert.ToInt32(Console.ReadLine());
double num = (a +b )* c/2;
Console.WriteLine("该梯形的面积为:"+num.ToString("#0.000"));
- 7、计算半径为n的圆的周长和面积
Console.WriteLine("请输入圆的半径:");
float n = Convert.ToInt32(Console.ReadLine());
double C,S;
C = 2 * Math.PI * n;
S = Math.PI * Math.Pow(n, 2);
Console.WriteLine("该圆的周长为:"+C);
Console.WriteLine("该圆的面积为:"+S);