你的位置:首页 > ASP.net教程

[ASP.net教程]C#基础总复习02


继续更新第二篇:

1:一元运算符:++ --

  ++:不管是前加加还是后加加,变量的值最终都会自身加一。

前加加和后加加的区别体现在参与运算的时候,如果是后加加,则首先拿原值参与运算,
运算完成后再自身加一,而前加加则是首先自身加一,然后拿着加一后的值参与运算。

  --:不管是前减减还是后减减,变量的值最终都会自身减一。

+ - * / % 是二元运算符,在一个表达式当中,既有一元运算符,也有二元运算符,应该首先计算一元运算符,一元运算符的优先级要高于二元运算符。

 

2:复合赋值运算符

  

+=:eg;a=a+5;=>a+=5;
-= :eg;a=a-5;=>a-=5;
*=:同上
/=
%=

 

3:关系运算符:用来描述两者之间的关系(简单不多说)

>
<
>=
<=
==
!=

由关系运算符连接的表达式叫做关系表达式,每一个表达式都能够求解出一个定值。

 

4:bool类型:

用bool类型来描述对或者错,bool类型只有两个值:true false。

 

5:逻辑运算符:

逻辑与 :&&

 

//让用户输入老苏的语文和数学成绩,输出以下判断是否正确,正确输出True,错误输出False
//1)老苏的语文和数学成绩都大于90分
Console.WriteLine("请输入老苏的语文成绩");
int chinese = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入老苏的数学成绩");
int math = Convert.ToInt32(Console.ReadLine());

 

//bool b = chinese > 90 && math > 90;
//Console.WriteLine(b);

 

//2)语文和数学有一门是大于90分的

bool b = chinese > 90 || math > 90;
Console.WriteLine(b);
Console.ReadKey();

 

 

逻辑或 :||

 

//润年的判定(符合下面两个条件之一):
//年份能够被400整除.(2000)
//年份能够被4整除但不能被100整除.(2008)
//让用户输入一个年份,如果是润年,则输出true,如果不是,则输出false.

 

Console.WriteLine("请输入一个年份");
int year = Convert.ToInt32(Console.ReadLine());

 

bool b = (year % 400 == 0) || (year % 4 == 0 && year % 100 != 0);
Console.WriteLine(b);
Console.ReadKey();

 

 

逻辑非:!

 

逻辑与和逻辑或运算符两边要求放置关系表达式或者bool类型的值,辑与的优先级要高于逻辑或。

 

6:语法结构

顺序结构:从上到下。

分支结构:

if结构、

语法:

if(判断条件):判断条件一般为bool类型的值或者关系表达式或者逻辑表达式
{
要执行的代码;
}

执行过程:
程序执行到if处,首先判断if所带的判断条件是否成立,如果成立,也就是返回true,
则进入大括号中执行代码。
如果判断条件不成立,也就是返回false,则直接跳过大括号。

语法特点:先判断,再执行,有可能一条代码都不会执行。

//让用户输入年龄,如果输入的年龄大于23(含)岁,则给用户显示你到了结婚的年龄了.
Console.WriteLine("请输入你的年龄");
int age = Convert.ToInt32(Console.ReadLine());
bool b = age >= 23;
if (b)
{
Console.WriteLine("你可以结婚啦");
}
Console.ReadKey();

 

if-else结构

语法:
if(判断条件)
{
要执行的代码;
}
else
{
要执行的代码;
}

执行过程:程序运行到if处,首先判断if所带的判断条件是否成立,如果成立的话,则执行
if所带的大括号中的代码,执行完成后,则立即跳出if-else结构。
如果判断条件不成立,则跳过if所带的大括号,执行else所带的大括中的代码,执行完成后,
跳出if-else结构。
所以,if-else结构最少都会执行一条代码。
注意:else永远跟离它最近的那个if配对

 

要求用户输入两个数a、b,如果a和b整除或者a加b大于100,则输出a的值,否则输出b的值
//Console.WriteLine("请输入a的值");
//int a = Convert.ToInt32(Console.ReadLine());
//Console.WriteLine("请输入b的值");
//int b = Convert.ToInt32(Console.ReadLine());

//if ((a % b == 0) || (a + b) > 100)
//{
// Console.WriteLine(a);
//}
//else
//{
// Console.WriteLine(b);
//}

 

选择结构:

if else-if结构、

这个结果用于多条件的判断,表示在多个判断条件中选择一个来执行。

语法:
if(判断条件)
{
要执行的代码;
}
else if(判断条件)
{
要执行的代码;
}
else if(判断条件)
{
要执行的代码;
}
else if(判断条件)
{
要执行的代码;
}
else
{
要执行的代码;
}
执行过程:程序首先会判断第一个if所带的小括号中的判断条件是否成立。如果成立,
则执行该if所带的大括号中的代码,执行完成后,跳出当前if else-if结构。
如果第一个if所带的判断条件不成立,则继续向下判断,依次判断每个if中的条件是否成立。
如果成立,则执行该if所带的大括号中的代码,执行完成后,跳出 if else-if结构。如果
每个if所带的判断条件都不成立,则看当前 if else-if结构中是否存在else
如果有else,则执行else中的代码,如果没有,则跳出当前结构,什么都不做。

 

static void Main(string[] args)
{
//对学员的结业考试成绩评测(考虑用if好还是用if-else好) // 成绩>=90 :A //90>成绩>=80 :B //80>成绩>=70 :C //70>成绩>=60 :D // 成绩<60 :E
int score = 0;
bool b = true;
string level = "";
Console.WriteLine("请输入考试成绩");
try
{
score = Convert.ToInt32(Console.ReadLine());
if (score >= 90)
{
level = "A";
}
else if (score >= 80)
{
level = "B";
}
else if (score >= 70)
{
level = "C";
}
else if (score >= 60)
{
level = "D";
}
else
{
level = "E";
}
}
catch
{
Console.WriteLine("输入有误,程序退出");
b = false;
}

if (b)
{
Console.WriteLine(level);
}
Console.ReadKey();
//Console.ReadKey();
}

(demo包含try-catch)

 

switch-case结构。

语法:
switch(变量的值或者表达式)
{
case 值1:要执行的代码;
break;
case 值2:要执行的代码;
break;
case 值3:要执行的代码;
break;
case 值4:要执行的代码;
break;
.....
default:
要执行的代码;
break;
}
执行过程:程序首先计算switch小括号中的变量或者表达式的值。
拿着计算出来的定值依次的跟每个case所带的值进行匹配。
如果匹配成功,则执行该case所带的代码,执行完成后,遇到break,
跳出当前switch-case结构。
如果跟每个case所带的值都不匹配,则看当前switch-case中是否存在default。
如果存在default,则执行default中的代码,如果没有default,则该结构什么都不做。

 

如果判断的多条件,是一个区间性的判断。推荐使用if else-if.
如果判断的是一个多条件的定值。推荐使用switch-case。

 

//对学员的结业考试成绩评测 // 成绩>=90 :A //90>成绩>=80 :B //80>成绩>=70 :C //70>成绩>=60 :D // 成绩<60 :E

console.writeline("请输入考试成绩");
int score = convert.toint32(console.readline());
string level = "";
switch (score/10)
{ case 10: case 9:
level = "a";
break; case 8:
level = "b";
break; case 7:
level = "c";
break; case 6:
level = "d";
break;
default:
level = "e";
break; }
console.writeline(level);

 

 

 

循环结构:所谓循环,指的是不停的同一件事情。就算是循环,也会结束的时候,如果一个循环,永远都不会结束,这种循环叫做死循环。

while循环、

while循环的语法:
while(循环条件)//bool类型的值,关系表达式,逻辑表达式
{
循环体;//指的就是不停的在做的那件事儿
}
执行过程:程序执行到while处,首先判断while小括号中所带的循环条件是否成立。
如果循环条件成立,也就是返回true,则执行while大括号中的循环体,当循环体
执行完一遍后,我们回到循环条件继续判断,如果循环条件成立,则继续执行循环体,
如果循环条件不成立,则立即跳出当前while循环。
在一个循环中,总会有那么一行代码能够改变循环条件,使之终有一天不再成立,
如果没有那么一行代码能够改变循环条件,那么这种循环我们叫做死循环。
最常用的死循环:
while(true)
{

}

break关键字
1)、跳出当前switch-case结构
2)、可以跳出当前的循环
break最常跟while(true)死循环配合使用

 

//求1-100之间所有整数的和 求1-100之间所有奇数的和 求1-100之间所有偶数的和
//循环体:不停的去相加
//循环条件:还没有加到100
//int sum = 0;//总和
//int i = 1000;
//while (i <= 100)
//{
// if (i % 2 == 0)
// {
// sum += i;//sum=sum+i;
// }
// i++;
//}
//Console.WriteLine(sum);
//Console.ReadKey();

 

 

do-while循环、

语法:
do
{
循环体;
}while(循环条件);

执行过程:
程序首先执行do中的循环体,执行完成后,带着执行的结果去判断循环条件是否成立。
如果成立,则继续执行do中的循环体,如果不成立,则跳出do-while循环。
特点:先执行,再判断,最少都要执行一遍循环体。

 

static void Main(string[] args)
{
//明天小兰就要登台演出了,老师说再把明天的演出的歌曲唱一遍,如果满意,小兰就可以回家了.否则就需要再练习一遍,直到老师满意为止.(y/n)

//循环体:小兰唱一遍 问老师 你满意了么?老师回答
//循环条件:老师不满意

//Console.WriteLine("老师,我唱的这一遍,你满意么?");
//string answer = Console.ReadLine();

//while (answer == "no")
//{
// Console.WriteLine("老师,我再唱一遍,你满意么?");
// answer = Console.ReadLine();
//}
//Console.WriteLine("满意了,你可以回家了");

string answer = "";
do
{
Console.WriteLine("我唱的这一遍,老师你满意么?");
answer = Console.ReadLine();
} while (answer == "no");

 


Console.ReadKey();
}

 

 

for循环、

作用:专门用来处理已知循环次数的循环。
语法:
for(表达式1;表达式2;表达式3)
{
循环体;
}
执行过程:
首先执行表达式1,声明循环变量,然后执行表达式2,判断循环条件是否成立。
第一次循环的时候,并没有执行表达式3,而是直接进入循环执行循环体。
循环体执行完成后,执行表达式3,然后执行表达式2判断循环条件是否成立,
如果成立,则继续执行循环体,如果不成立,则跳出当前for循环。

 

//找出100-999间的水仙花数?
//水仙花数:当前这个百位数字的百位的立方+十位的立方+个位的立方==当前这个百位数字

//153 1 + 125 + 27=153
//153
//百位:153/100
//十位:153%100/10
//个位:153%10
//3*3*3


//GC Garbage Collection

for (int i = 100; i <= 999; i++)
{
int bai = i / 100;
int shi = i % 100 / 10;
int ge = i % 10;
if (bai * bai * bai + shi * shi * shi + ge * ge * ge == i)
{
Console.WriteLine(i);
}
}
Console.ReadKey();

 

 

foreach循环

关于foreach循环可以看看这个简单的demo:梦断难寻 C# foreach 循环遍历数组

 

7:try-catch 异常捕获

语法:
try
{
有可能会出现异常的代码;
}
catch
{
出现异常后要执行的代码;
}
执行过程:
如果try中的代码出现了异常,则这行异常代码后面,哪怕有一百行代码,都不会再被执行了,
而是直接跳到catch中,执行catch中的代码。
反之,如果try中的代码没有出现异常,则不会执行catch的代码;

(try-catch最后还有finally,意思是如果加上了finally的话,finally中的代码在最后都必须会执行)

static void Main(string[] args)
{
int number = 0;
bool b = true;
Console.WriteLine("请输入一个数字,我们将打印这个数字的2倍");
try
{
number = Convert.ToInt32(Console.ReadLine());//50a
Console.WriteLine("啦啦啦啦啦");
Console.WriteLine("啦啦啦啦啦");
Console.WriteLine("啦啦啦啦啦");
Console.WriteLine("啦啦啦啦啦");

}
catch
{
Console.WriteLine("输入的数字不正确,程序退出!!!!");
b = false;
}
if (b)
{
Console.WriteLine(number * 2);
}

Console.ReadKey();
}

 

 

 

8:局部变量的作用域

在Main函数当中,声明的所有变量都叫做局部变量。而局部变量的作用域是有范围的。
所谓作用域指的就是能够使用这个变量的范围(比如所大括号可以看做是一个作用域)。

 

 

(暂时这么点 所有的demo都是最基础的 希望能明白,可能排版有点问题,还望忍耐。如果哪儿有写的不对的地方还望指教。)

 

                               2015-04-01

                                 36E

                最后祝大家愚人节快乐!!