程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#基礎總復習02,

C#基礎總復習02,

編輯:C#入門知識

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

                最後祝大家愚人節快樂!!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved