C#基礎入門第三天

一、第二天兩個練習題 做練習前,不管會不會先抓頭想,認真的想,程序員禿頭從此開始

//1.練習,編程實現計算幾天(46天)是幾周領幾天
//int days = 46;
//int weeks = 46 / 7;
//int day = 46 % 7;
//Console.WriteLine("{0}天是{1}零{2}天", days,weeks, day);
//Console.ReadKey();




        //2.編程實現107653秒是幾天幾小時幾分鐘幾秒(自己想的)
        //int seconds = 107653;
        //int minutes = 107653 / 60;
        //int second = 107653 % 60;
        //int minute = minutes % 60;
        //int hours = minutes / 60;
        //int hour = hours % 24;
        //int day = hours / 24;
        //Console.WriteLine("{0}秒是{1}天{2}時{3}分{4}秒", seconds,day,hour,minute, second);
        //Console.ReadKey();

        //第二種邏輯(老師做的)  每分鐘60 * 每小時60分鐘  * 每天24小時   60*60*24 = 86400
        //int second = 107653;
        //int day = second / 86400; //求得天數
        //int secs = second % 86400; //去掉天數後所剩餘的秒
        //int hour = secs / 3600;//求得小時數
        //secs = secs % 3600;//求得去掉小時數後剩餘的秒
        //int minute = secs / 60;//求得分數
        //secs = secs % 60;
        //Console.WriteLine("{0}秒是{1}天{2}小時{3}分{4}秒",second,day, hour, minute, secs);
        //Console.ReadKey();

二、Convert類型轉換
在第二天時,學過顯式轉換和隱式轉換,這兩個轉換都需要滿足一個條件,類型相同。這樣如果類型不同,就不能使用,這時候就可以使用convert類型轉型。
使用convert類型轉換時,需要注意一點:面上必須過得去,如將string類型的"123"轉爲int,但是將sring類型的"123abc"轉爲int肯定不行
語法:
string s = "123";
double d = Convert.ToDouble(s); //to後面爲想轉換的類型,IDE會給出,檢索即可




        //練習:讓用戶輸入姓名,語數英三門的成績
        //然後給用戶顯式:XX你的總成績爲XX分,平均成績爲XX分

Console.WriteLine("請輸入你的姓名");
string name = Console.ReadLine();
Console.WriteLine("請輸入你的語文成績");
double chinese = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("請輸入你的數學成績");
double math = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("請輸入你的英語成績");
double english = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("{0}同學,你的總分{1},平均成績{2}", name,chinese+math+english,(chinese+math+english)/2);
Console.ReadKey();








三、++和-- (這個坑開始沒搞明白,比較繞口點,按照現在區別就容易多了)
語法
int number = 10;
// number++;
// ++number;
//number--;
--number;
Console.WriteLine(number);
Console.ReadKey();







區別解釋:運算符放在後面,先拿原值參與運算,在自增(自減),運算符放在前面,先自增(自減)在參與運算
int number = 10;
// int result= 10+ number++; //結果是11,20
int result = 10 + ++number; //結果是11,21
Console.WriteLine(number);
Console.WriteLine(result);
Console.ReadKey();





更深的理解
int a = 5;
int b = a++ + ++a 2 + --a + a++;
/

第一個a++ 不參與運算,然後自增,所以在運算之前是5 但是參與運算後自身+1等於6這時候的表達式爲:5 + ++a 2 + --a +a++ a的值爲6
第二個++a相當於在前面自增後的基礎上再+1來參與運算,這時候的表達式爲:5+ 7
2 + --a + a++ a的值爲7
第三個由於--在前面,所以這時候先自減在參與的運算,這時候的表達式爲:5+7 2 + 6 + a++ a的值爲6
第四個a++在原值上不參與運算,然後自增,所以5+7
2 + 6 +6 a=7
*/
Console.WriteLine(a);
Console.WriteLine(b);
Console.ReadKey();







1、對於像++或者--這樣只需要一個操作數就能完成的運算,稱之爲一元運算符
2、+-*/%對於需要兩個或以上才能完成運算的操作符,稱之爲二元運算符。
一元運算符的優先級高於二元運算符。
如果一個表達式中,既有一元運算符,又有二元運算符,IDE首先計算一元運算符


四、關係運算符
<小於 >大於 <= 小於等於 >=大於等於 ==等於 != 不等於
關係運算的結果是bool類型的,只有兩個,一個是true 一個是false

五、邏輯運算符
&& 邏輯與 || 邏輯或 !邏輯非
邏輯運算符連接的表達式叫做邏輯表達式
邏輯運算符兩邊放的一般是關係表達式或者Bool類型的值
5>3 && true 與是兩邊都必須滿足條件
3>5 || false 或只要一邊滿足條件即可
邏輯非 ! 返回相反的結果
邏輯表達式的結果同樣也是bool類型






//練習:讓用戶輸入語文和數學成績,輸出以下判斷,正確輸出true,錯誤輸出false
//1、語文和數學成績都大於90分
//Console.WriteLine("請輸入語文成績");
//double chinese = Convert.ToDouble(Console.ReadLine());
//Console.WriteLine("請輸入數學成績");
//double math = Convert.ToDouble(Console.ReadLine());
//bool b = chinese > 90 && math > 90;
//Console.WriteLine(b);
//Console.ReadKey();
//2、語文和數學成績有一門大於90分
//Console.WriteLine("請輸入語文成績");
//double chinese = Convert.ToDouble(Console.ReadLine());
//Console.WriteLine("請輸入數學成績");
//double math = Convert.ToDouble(Console.ReadLine());
//bool b = chinese > 90 || math > 90;
//Console.WriteLine(b);
//Console.ReadKey();
邏輯與表達式的優先級高於邏輯或
















六、複合賦值運算符(相當於一個簡寫形式)
+= -= *= /= %=

七、if語句
語法:
if(判斷條件)
{
要執行的代碼;
}
判斷條件:一般爲關係表達式或者BOOL類型的值。
執行過程:程序運行到if處,首先判斷if所帶的小括號中的判斷條件
如果條件成立,也就是返回true 則執行if所帶的大括號中的代碼
如果條件不成立,返回false,則跳過if結構,繼續向下執行
Console.WriteLine("輸入跪了的時間");
int mins = Convert.ToInt32(Console.ReadLine());
if (mins > 60)
{
Console.WriteLine("超過60分鐘,不用做晚飯");
}
Console.ReadKey();















//if的練習
//1、如果老蘇語文成績大於90並且音樂成績大於80獎勵100
// 如果老蘇語文成績等於100並且音樂成績大於70獎勵100
//Console.WriteLine("輸入老蘇的語文成績");
//double chinese = Convert.ToDouble(Console.ReadLine());
//Console.WriteLine("輸入老蘇的音樂成績");
//double musci = Convert.ToDouble(Console.ReadLine());
//if ((chinese > 90 && musci > 80) || (chinese == 100 && musci > 70))
//{
// Console.WriteLine("成績達到獎勵線,給100獎勵");
//}
//Console.ReadKey();
//2、讓用戶輸入用戶名和密碼,如果用戶名爲admin,密碼爲mypass,則提示登錄成功
//Console.WriteLine("輸入用戶名");
//string name = Console.ReadLine();
//Console.WriteLine("輸入密碼");
//string password = Console.ReadLine();
//if (name == "admin" && password == "mypass")
//{
// Console.WriteLine("登錄成功!!");
//}
//Console.ReadKey();




















八、if-else結構
語法
if(判斷條件)
{
要執行的代碼;
}
else
{
執行的代碼;
}
如果IF判斷條件成立執行if裏面的語句,否則跳出執行else裏面的語句
特點:










九、if-else-if
if(判斷條件)
{
要執行的代碼;
}
else if(判斷你條件)
{
執行的代碼;
}
else
{
執行的代碼;
}











順序結構:程序從Main函數進入,從上到下一行一行執行
分支結構:if if-else
選擇結構: if-else-if switch-case
循環結構:while do-while for foreach


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章