語句是指程式命令,都是按照順序執行的。語句在程式中的執行順序稱為“控制流”或“執行流”。 根據程式對運行時所收到的輸入的響應,在程式每次運行時控制流可能有所不同。 註意,語句間的標點符號必須是英文標點,語句的結束標點是分號“;”。 語句可以嵌套,可以是以分號結尾的單行代碼,也可以是語句塊中的單行語句 ...
語句是指程式命令,都是按照順序執行的。語句在程式中的執行順序稱為“控制流”或“執行流”。 根據程式對運行時所收到的輸入的響應,在程式每次運行時控制流可能有所不同。
註意,語句間的標點符號必須是英文標點,語句的結束標點是分號“;”。
語句可以嵌套,可以是以分號結尾的單行代碼,也可以是語句塊中的單行語句。語句塊括在括弧 {} 中,並且可以包含嵌套塊。
語句的類型包括聲明語句,表達式語句,選擇語句,迴圈語句,跳轉語句,異常語句
1、聲明語句引:入新的變數或常量。 變數聲明可以選擇為變數賦值。 在常量聲明中必須賦值。
例如:
int i = 0;//聲明變數i 並賦值,也可以不賦值。
double d;
“//”表示註釋一行,“/*…*/”可以註釋一段區域,註釋後的內容變綠。
2、表達式語句:用於計算值的表達式語句必須在變數中存儲該值。
例如:
sum = i + j;//變數i和j在此之前必須先賦值。而且sum也需要聲明類型。
int x = a + b; //或者在聲明的同時進行運算。
3、選擇語句:if, else, switch, case
4、迴圈語句:do, for, foreach, while
5、跳轉語句:break, continue, default, return
6、異常語句:try-catch-finally
一、選擇語句
(一)
if(表達式) //表達式返回值是True或False
{
}
說明:●表達式返回的是bool值;
●小括弧和花括弧後面不需要加分號。
例:int a = 15;
bool b = a < 10;
if (b)//條件,返回true或false
{
Console.WriteLine("a是10以內的數!");
}
Console.ReadLine();
(二)
if(表達式)
{
}
else
{
}
註:●else表示跟if的條件完全相反
●如果if沒有執行,else就必須執行,如果if執行了,else就一定不執行
例:1.輸入年齡,大於等於18顯示成年,否則顯示未成年。
Console.Write("請輸入您的年齡:");
int age = int.Parse(Console.ReadLine());
if (age >= 18)
{
Console.WriteLine("成年");
}
else//另外的其他的所有條件 age<18
{
Console.WriteLine("未成年");
}
Console.ReadLine();
2.你能跑過豹子麽?接收能或者不能。
第一種:
Console.Write("你能跑過豹子麽?");
string ss = Console.ReadLine();
if (ss == "能")
{
Console.WriteLine("你比禽獸還禽獸!");
}
else if (ss == "不能")
{
Console.WriteLine("你連禽獸都不如!");
}
else
{
Console.WriteLine("輸入有誤!");
}
第二種:
Console.Write("你能跑過豹子麽?");
string ss = Console.ReadLine();
if (ss == "能" || ss == "不能")
{
if (ss == "能")
{
Console.WriteLine("你比禽獸還禽獸!");
}
else
{
Console.WriteLine("你連禽獸都不如!");
}
}
else
{
Console.WriteLine("輸入有誤!");
}
(三)
if(表達式)
{
}
else if
{
}
else if
{
}
...
else
{
}
各種情況只能走其中之一,若上面的都沒走,將執行else裡面的。
例: Console.Write("請輸入您的性別:");
string sex = Console.ReadLine();
if (sex == "男")
{
Console.WriteLine("您是男性!");
}
else if (sex == "女")
{
Console.WriteLine("您是女性!");
}
else//sex!="男" sex!="女"
{
Console.WriteLine("輸入錯誤!");
}
Console.ReadLine();
(四)
if(表達式)
{
if(){}
else{}
}
else
{
if(){}
}
if嵌套
例: Console.Write("請輸入您的年齡:");
int age = int.Parse(Console.ReadLine());
if (age >= 0 && age <= 135)//人的正常年齡範圍
{
if (age <= 12)
{
Console.WriteLine("你是兒童!");
}
else if (age <= 18)
{
Console.WriteLine("你是青少年!");
}
else if (age <= 35)
{
Console.WriteLine("你是青年!");
}
else if (age <= 60)
{
Console.WriteLine("你是中年!");
}
else
{
Console.WriteLine("你是老年!");
}
}
else//不屬於正常人的年齡範圍
{
Console.WriteLine("你是屬王八的麽?");
}
Console.ReadLine();
註:錯誤!!!!!!!!!
if()
{}
if(){}
else{}
例題:1、輸入三個整數,xyz,最終以從小到大的方式輸出。利用嵌套。
Console.Write("請輸入x:");
int a = int.Parse(Console.ReadLine());
Console.Write("請輸入y:");
int b = int.Parse(Console.ReadLine());
Console.Write("請輸入z:");
int c = int.Parse(Console.ReadLine());
if (a < b && a < c )
{
if(b<c)
{
Console.WriteLine("三個數由小到大為" + a + b + c);
}
else
{
Console.WriteLine("三個數由小到大為" +a+c+b);
}
}
else if(b<a&&b<c)
{
if(a<c)
{
Console.WriteLine("三個數由小到大為" + b + a + c);
}
else
{
Console.WriteLine("三個數由小到大為" + b + c +a);
}
}
else//c是最小的
{
if (a < b)
{
Console.WriteLine("三個數由小到大為" + c + a + b);
}
else
{
Console.WriteLine("三個數由小到大為" + c + b + a);
}
}
2、輸入學生姓名,輸入考試成績。若是100,【恭喜你***,滿分通過!】若是大於等於80小於100,【**,你很優秀,繼續保持!】若是大於等於60小於80,【**成績良好】大於等於50小於60,【**就差一點點,下次一定要至少及格!】小於50,【**你是笨蛋麽?】
Console.WriteLine("請輸入您的姓名");
string a = Console.ReadLine();
Console.WriteLine("請輸入你的考試成績");
double b = double.Parse(Console.ReadLine());
if (b >= 0 && b <= 100)
{
if (b == 100)
{
Console.WriteLine("恭喜你" + a + ",滿分通過");
Console.ReadLine();
}
else if (b < 100 && b >= 80)
{
Console.WriteLine(a + ",你很優秀,繼續保持");
Console.ReadLine();
}
else if (b < 80 && b >= 60)
{
Console.WriteLine(a + "成績良好");
Console.ReadLine();
}
else if (b < 60 && b >= 50)
{
Console.WriteLine(a + "就差那麼一點點,下次一定要及格");
Console.ReadLine();
}
else//b<50
{
Console.WriteLine(a + "你是笨蛋嗎?");
Console.ReadLine();
}
}
else
{
Console.WriteLine("輸入錯誤");
}
3、有一組函數:y = x (x<1);y = 2x -1 (1<=x<10);y = 3x-11 (x>=10)。括弧內是x的滿足條件。實現功能,隨意輸入一個x值,輸出y的值。
Console.WriteLine("請輸入一個x的值:");
double x = double.Parse(Console.ReadLine());
if (x < 1)
{
Console.WriteLine(x);
}
else
{
if (x>=1&&x<10)
{
Console.WriteLine(2*x-1);
}
else
{
if (x>=10)
{
Console.WriteLine(3*x-11);
}
}
Console.ReadLine ();
4、輸入整數a和b,若a2+b2大於100,則輸出a2+b2的和,否則輸出兩數之和
Console.Write("請輸入整數a:");
int a = int.Parse(Console.ReadLine());
Console.Write("請輸入整數b:");
int b = int.Parse(Console.ReadLine());
if ((a * a + b * b) > 100)
{
Console.WriteLine(a * a + b * b);
}
else//a*a+b*b<=100
{
Console.WriteLine(a + b);
}
Console.ReadLine();
5、相親過程:你有房子麽?你有錢麽?你有能力麽?【結婚吧】【先買房子在結婚】【先賺錢再買房子再結婚】都沒有【拜拜~~】利用if嵌套做相親過程
Console.Write("你有房子麽?");
string h = Console.ReadLine();
if (h == "有")
{
Console.WriteLine("結婚吧");
}
else
{
Console.Write("你有錢麽");
string j = Console.ReadLine();
if (j == "有")
{
Console.WriteLine("先買房子再結婚");
}
else
{
Console.Write("你有能力麽");
string k = Console.ReadLine();
if (k == "有")
{
Console.WriteLine("先賺錢再買房子再結婚");
}
else
{
Console.WriteLine("拜拜~~");
}
}
}
Console.ReadLine();
6、輸入一個年份,判斷是否是閏年(能被4整除卻不能被100整除的年份。a%4==0&&a%100!=0
世紀年份能被400整除的是閏年。a%400==0)
Console.Write("請輸入一個年份:");
int year = int.Parse(Console.ReadLine());
if (year >= 0 && year <= 9999)
{
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
{
Console.WriteLine("您輸入的年份是閏年!您輸入的年份是:{0}", year);
}
else
{
Console.WriteLine("您輸入的年份是平年!您輸入的年份是:"+year);
}
}
else
{
Console.WriteLine("輸入有誤!");
}
Console.ReadLine();
7、輸入年、月、日,判斷時間日期格式是否正確:
●年:0~9999
●月:1~12
●日:1. 1 3 5 7 8 10 12 31天
2. 4 6 9 11 30天
3. 2 (1)閏年:29天 (2)平年:28天
(能被4整除卻不能被100整除的年份,a%4==0&&a%100!=0;世紀年份能被400整除的是閏年,a%400==0。)
Console.Write("請輸入年份:");
int year = int.Parse(Console.ReadLine());
if (year >= 0 && year <= 9999)
{
Console.Write("請輸入月份:");
int month = int.Parse(Console.ReadLine());
if (month >= 1 && month <= 12)
{
Console.Write("請輸入日:");
int day = int.Parse(Console.ReadLine());
if (day >= 1 && day <= 31)
{
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)
{
Console.WriteLine("輸入的日期格式正確!您輸入的日期為:{0}-{1}-{2}", year, month, day);
}
else
{
if (month == 4 || month == 6 || month == 9 || month == 11)
{
if (day <= 30)
{
Console.WriteLine("輸入的日期格式正確!您輸入的日期為:{0}-{1}-{2}", year, month, day);
}
else
{
Console.WriteLine("輸入有誤!");
}
}
else
{
if (day <= 28)
{
Console.WriteLine("輸入的日期格式正確!您輸入的日期為:{0}-{1}-{2}", year, month, day);
}
else
{
if (day == 29)
{
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
{
Console.WriteLine("輸入的日期格式正確!您輸入的日期為:{0}-{1}-{2}", year, month, day);
}
else
{
Console.WriteLine("輸入有誤!");
}
}
else
{
Console.WriteLine("輸入有誤!");
}
}
}
}
}
else
{
Console.WriteLine("輸入的日期有誤!");
}
}
else
{
Console.WriteLine("輸入的月份有誤!");
}
}
else
{
Console.WriteLine("輸入的年份有誤!");
}
Console.ReadLine();
8、ax*x+bx+c=0判斷方程是否是一元二次方程,和根的情況。根據公式判斷方程的根的狀況,公式的值大於零有兩個根,等於零有一個根,小於零沒有根。(首先明白什麼是一元二次方程,如果a等於0,方程式不是一元二次方程。用公式:代爾塔△=b2-4*a*c判斷根的情況:△<0則方程無解,△=0方程有兩個相等的實根,△>0方程有兩個不同的實根。求解則用到另一個公式:x=(-b±√b2-4ac)/(2*a)根號√需要用到函數 Math.Sqrt())
Console.WriteLine("求方程式ax*x+bx+c=0");
Console.Write("請輸入a=");
double a = double.Parse(Console.ReadLine());
Console.Write("請輸入b=");
double b = double.Parse(Console.ReadLine());
Console.Write("請輸入c=");
double c = double.Parse(Console.ReadLine());
double de = b * b - 4 * a * c;
if (a == 0)//如果a是0,則不是一元二次方程
{
Console.WriteLine("不是一元二次方程");
}
else
{
Console.WriteLine("是一元二次方程");
if (de >= 0)
{
double x1 = (-b + Math.Sqrt(de)) / (2 * a);
double x2 = (-b - Math.Sqrt(de)) / (2 * a);
if (de > 0)
{
Console.WriteLine("方程式有兩個不同的實根");
Console.WriteLine("x1=" + x1.ToString() + "x2=" + x2.ToString());
}
else
{
Console.WriteLine("方程式有兩個相同的實根");
Console.WriteLine("x1=x2=" + x1.ToString());
}
}
else if (de < 0)
{
Console.Write("方程式沒有實根");
}
}
Console.ReadLine();//防止控制台閃退