.NET 程式設計入門(使用 C#) 講師:鄧智鴻.

Slides:



Advertisements
Similar presentations
3.2 Java的类 Java 类库的概念 语言规则——程序的书写规范 Java语言 类库——已有的有特定功能的Java程序模块
Advertisements

JAVA 编 程 技 术 主编 贾振华 2010年1月.
项目6 通用堆栈.
鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所
四資二甲 第三週作業 物件導向程式設計.
C#程序设计案例教程 第3章 程 序 结 构.
南京理工大学 第2章 Java基本语法 本章我们将学习Java编程语言的基本语法,包括变量、操作符、表达式、语句、字符串、数组、控制流以及如何使用帮助文档。 使用下面的编程框架: public class Test{ public static void main(String []args){ //以下添加测试代码.
第二章 JAVA语言基础.
趙靖宇時間-專治你的Monday blue
.NET 程式設計入門(使用 C#) 講師:鄧智鴻.
BLANK overview.
第5章 异常处理 王德俊 上海交通大学继续教育学院.
2.1 基本資料型別 2.2 變數 2.3 運算式與運算子 2.4 輸出與輸入資料 2.5 資料型別轉換 2.6 實例
Visual Basic 6.0 學習範本 第三章 基本資料型態.
第二章 C# 基础知识.
第四章 在 C# 中实现 OOP 概念.
常用工具类.
第3章 變數、資料型別與運算子.
第3章 語法入門 第一個Java程式 文字模式下與程式互動 資料、運算 流程控制.
结构体和共用体 2 梁春燕 华电信息管理教研室.
JAVA程序设计 第5章 深入理解JAVA语言----补充.
程式設計實作.
授课老师:龚涛 信息科学与技术学院 2018年3月 教材: 《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
第三章 C++中的C 面向对象程序设计(C++).
第9章 多线程 王德俊 上海交通大学继续教育学院.
第十三章 其他的C語言課題.
第4章 数组和集合 4.1 一维数组 4.2 二维数组 4.3 Array类 4.4 交错数组 4.5 ArrayList类
第三章 流程控制與例外處理 資訊教育研究室 製作 注意:本投影片僅供上課使用,非經同意,請勿散播或轉載。
第3章 變數、資料型別與運算子 3-1 變數與資料型別的基礎 3-2 變數的命名與宣告 3-3 資料型別 3-4 運算式與運算子
3.1 数据类型 3.2 标识符与关键字 3.3 常量 3.4 变量 3.5 运算符与表达式 3.6 一个编程实例
鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所
2019/1/17 Java语言程序设计-程序流程 教师:段鹏飞.
Java程序设计 第2章 基本数据类型及操作.
Ch02-基礎語法.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
切換Dev c++顯示語言 工具->環境選項(V)->介面->language (Chinese TW)
C#程序设计基础 第二章 数据类型.
第二讲 C#程序设计基础(一) 精品教程《C#程序设计与应用(第2版)清华大学出版社 谭恒松 主编
* 單元:電腦與問題解決 主題:Java物件導向程式設計-類別與物件 台南縣國立善化高中 蕭嘉民 老師
第三章 C# 基础知识.
第1章 概述 本章要点: C语言程序结构和特点 C语言程序的基本符号与关键字 C语言程序的编辑及运行 学习方法建议:
C语言程序设计.
實作輔導 2 日期: 3/24(星期六) 09:10~16:00 地點:臺北市立大學 臺北市中正區愛國西路一號 (中正紀念堂站7號出口)
第十章 用户自定义数据类型 目录 学生信息管理系统的开发 结构体数据类型的概述 结构体变量的使用 结构体数组
OOP6 結構Struct 黃兆武.
第二章Java基本程序设计.
Java變數 2014/6/24.
2011 邀请中国姐妹学校韩国语研修团项目 申请时间: ~5月 27日 / 项目地点: 汉阳大学 安山校区 / 项目时间: (星期日) ~ 7.22(星期五) 费用: 100万元(韩币/人 (包含项目 - 学费, 教材费, 宿舍费, 接机费用及所有文化体验活动项目费用)
C#程序设计基础 $3 成员、变量和常量.
Chapter 2 基本語法.
第二章 Java基本语法 讲师:复凡.
C++语言程序设计教程 第2章 数据类型与表达式 第2章 数据类型与表达式 制作人:杨进才 沈显君.
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
第二章 Java语法基础.
第二章 类型、对象、运算符和表达式.
第二章 基本数据类型 ——数据的表示.
Review 1~3.
#include <iostream.h>
第二章 Java基本语法 讲师:复凡.
本节内容 指针类型.
PPT注意事项: 当前PPT课件文件必须和提供的源代码文件夹“代码”在同一目录中即不要移动文件夹“代码”的默认位置。
JAVA 程式設計與資料結構 第三章 物件的設計.
變數、資料型態、運算子.
第2章 Java语言基础.
基本資料型態 變數與常數 運算子 基本的資料處理 授課:ANT 日期:2014/03/03.
鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所
第二章 Java基础语法 北京传智播客教育
第六章 复合数据类型 指针的声明与使用 数组的声明与使用 指针与数组的相互引用 字符串及相关库函数 new与delete
本节内容 指针类型 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所
Presentation transcript:

.NET 程式設計入門(使用 C#) 講師:鄧智鴻

Outline 變數 變數的宣告 變數的型別 型別轉換 各式運算子 常數 列舉型別 結構型別 亂數 課後練習

Outline 變數 變數的宣告 變數的型別 型別轉換 各式運算子 常數 列舉型別 結構型別 亂數 課後練習

變數 何謂變數 為什麼要有變數 變數是儲存某項資訊的空間(此空間在記憶體中) 外界輸入的資訊以及處理過程中產生的資訊,必須要用一 個空間來暫存它們,所以我們用變數來暫存

變數-命名原則 開頭第一個字必須為A-Z、a-z 或 _ (底線) 不允許數字0-9 當做變數的開頭 字母的大小會視為不相同的變數 SCHOOL、School、school 變數名稱最好具意義,可用底線或大小寫增加可讀性 school_name、schoolName 可使用中文命名,但易造成混淆 變數名稱中不能有運算元(+ - * / ) 不可以使用C# 的關鍵字命名 錯誤的命名方式 my name、7_eleven、B&Q、new

變數- C#關鍵字(1)

變數- C#關鍵字(2)

Outline 變數 變數的宣告 變數的型別 型別轉換 各式運算子 常數 列舉型別 結構型別 亂數 課後練習

變數的宣告 何謂變數的宣告 宣告的方法 告訴電腦我們需要一個空間放資訊,請電腦幫我們在記憶 體中留空間放資訊 型別名稱 變數名稱; 例: 型別名稱 變數名稱; 例: string telephone_number; string ID=“9420”;

變數的宣告 -課堂範例 程式功能 Code 請使用者輸入一個身高 換行後列印”你有xxx公分高呢!” string Height; Console.Write(“請輸入你的身高:”); Height=Console.Readline(); Console.WriteLine("你有"+ Height +"公分高呢!");

變數的宣告 -課堂練習 程式功能 提示: 第一行先請使用者輸入名字 第二行再請使用者輸入性別 第三行先列印出"XXX 您好!!“ 第四行再列印出"我猜XXX 您一定是O !! " 提示: 宣告兩個string(字串)變數分別儲存使用者的姓名和性別

Outline 變數 變數的宣告 變數的型別 型別轉換 各式運算子 常數 列舉型別 結構型別 亂數 課後練習

變數的型別 何謂變數型別 有哪些型別 不一樣的資訊所需的空間大小不同,資訊被解讀的方式也 不同,所以存放資訊的變數分成很多不同型別 整數 浮點數 字串 字元 物件…..

變數的型別 整數型別 型別 佔用的記憶體大小 可儲存的數值範圍 sbyte 8 (位元) -128~127 byte 8 0~255 short 16 -32768~32768 ushort 0~65536 Int 32 -2147483648~2147483647 uint 0 ~ 4294967295 long 64 -9223372036854775808 ~9223372036854775807 ulong 0 ~18446744073709551615

變數的型別 浮點數型別 Decimal型別 布林型別 用來儲存具有小數點的數字 assign值到float型別的變數時,要在數值後加上f 可處理至小數點後第28位,主要用在財務金融計算上 布林型別 值為true或false (1或0) ,佔用空間視平台而定 型別 佔用的記憶體大小 精確度 float 32(位元) 7位 double 64 16位

變數的型別 字元型別 char 字串型別string 例子:string a=“my name is John” 用來表示單一個字元,字元資料需要以單引號將字元頭尾 括起來 大小為16 位元 例子:char a=’A’ 字串型別string 用來表示一串字元(就是一段文字),字串資料需要以雙引號將 字串頭尾括起來 大小依字串內的字元數目而定 例子:string a=“my name is John”

變數的型別-課堂範例 程式功能 Code 請使用者輸入一個姓名,並用string型別儲存 請使用者輸入一個身高,並用int型別儲存 換行後列印”ooo你有xxx公分高呢!” Code string Name; int Height; Console.Write(“請輸入你的姓名:”); Name=Console.ReadLine(); Console.Write(“請輸入你的身高:”); Height = Convert.ToInt32(Console.ReadLine()); Console.WriteLine(Name+"你有"+ Height +"公分高呢!");

變數的型別-課堂練習 程式功能 提示 請使用者輸入name、phone number(10碼)、生日 然後輸出”王小明你970812出生,電話號碼為0912345678” 請盡量節省記憶體空間的方式來存這些資訊 提示 翻閱前幾章投影片來查閱不同變數型別所需的記憶體大小

Outline 變數 變數的宣告 變數的型別 型別轉換 各式運算子 常數 列舉型別 結構型別 亂數 課後練習

型別轉換 何謂型別轉換 例子 不一樣的資訊所需的空間大小不同,資訊被解讀的方式也 不同,不同型別變數間要互相運算時要經過轉換 string c; c = “10”+“天”; c = 10+”天”;

型別轉換 隱含轉換(implicity) 明確轉換(explicity) 數值範圍較小的型別,被指定至數值範圍較大的型別,此 種轉換由編譯器自動完成 例如: int a=321; long b = a; 明確轉換(explicity) 使用型別”轉換關鍵字” (型別名)變數 超出轉換型別的資料內容均會遺失 例如︰ long a = 123; int b = (int) a;

型別轉換 數值轉成字串型別 字串轉數值型別 利用ToString() 方法來完成 例如︰ 利用數值型別Parse() 方法來完成 int a = 321; string b = a.ToString(); 字串轉數值型別 利用數值型別Parse() 方法來完成 string b = "321"; int a = int.Parse(b);

型別轉換-課堂練習 試著將下列程式中錯誤的型別改正 double d=23.14; int i=d; int i2=123; string s=i2; string s2=“12345”; int i3=s2; long L=12345; byte b=L;

Outline 變數 變數的宣告 變數的型別 型別轉換 各式運算子 常數 列舉型別 結構型別 亂數 課後練習

各式運算子 算數運算子 字串的相加為字串合併 用以進行數字間的數學運算 例: int a; a=1+2; Console.WriteLine(“1+2=”+a); 字串的相加為字串合併 例: String a = “abc”+”123”; 運算子符號 意義 實例 + 相加 i+k - 相減 j-k * 相乘 j*k / 相除取商 j/k % 相除取餘 j%k

各式運算子-課堂範例-算數運算子 程式功能 Code: int a,b; Console.Write("請輸入三角型的底:"); 計算三角形的面積 先列印出兩行文字,請使用者輸入三角形的底及高(整數) 計算後列印出三角形的面積大小 Code: int a,b; Console.Write("請輸入三角型的底:"); a=int.Parse(Console.ReadLine()); Console.Write("請輸入三角型的高:"); b = int.Parse(Console.ReadLine()); Console.WriteLine("三腳形的面積是"+a*b/2); Console.ReadKey();

各式運算子-課堂練習-算數運算子 程式功能 具有計算機功能的程式 請宣告兩個整數變數a,b 請使用者輸入a,b的值 然後輸出

各式運算子 關係運算子 用來比較數字的大小(也可比較字元大小) ,然後回傳true或 false 運算子符號 意義 實例 == 相等 u == j != 不相等 u != j > 大於 u > j < 小於 u < j >= 大於或等於 u >= j <= 小於或等於 u <= j

各式運算子 關係運算子-用法 字元比較 4 > 3 // true ‘a’ > ‘b’ // 輸出為false 每個字元都有一個Unicode,例如a的Unicode為97,b為98。 當我們要比較兩個字元的時候,實際上是比較他們的 Unicode。因此b大於a(98大於97)

各式運算子-課堂範例-關係運算子 程式功能 Code 輸入二個數字 列出二數之間的關係 Console.Write("輸入第一個數字:"); //輸入二數 Console.Write("輸入第一個數字:"); int i = int.Parse(Console.ReadLine()); Console.Write("輸入第二個數字:"); int j = int.Parse(Console.ReadLine()); //列出結果 Console.WriteLine(i + " == " + j + " 的結果為" + (i==j)); Console.WriteLine(i + " != " + j + " 的結果為" + (i!=j)); Console.WriteLine(i + " > " + j + " 的結果為" + (i>j)); Console.WriteLine(i + " < " + j + " 的結果為" + (i<j)); Console.WriteLine(i + " >= " + j + " 的結果為" + (i>=j)); Console.WriteLine(i + " <= " + j + " 的結果為" + (i<=j));

各式運算子-關係運算子-課堂練習 程式功能 基本概念 請使用者輸入兩個字元a,b 判斷a是否大於b 大於則列印”a>b為true” ,否則列印”a>b為false” 基本概念 利用關係運算子即可完成

各式運算子 條件(邏輯)運算子 用法 條件運算子是用來測試複雜的條件 (3>2) && (2>1) //(true) && (true) →true (4>3) || (1>2) //(true) || (false) →true ! (4>3) // !(true) →false Console.WriteLine(4>3); 符號 意義 實例 用法 && 且 a && b 當a和b都為真時,結果才為真 || 或 a || b 若a和b其中一個為真,結果就為真 ! 相反 !a 若a為真結果為假、若a為假結果為真

各式運算子-條件運算子-課堂練習 用Console.WriteLine();分別把上列式子的true/false 印出來吧 練習 ((3>2) && (2>1)) && (1>2)  (4>3) || ('a'=='b') ! ((4<3)||(5>1)) 用Console.WriteLine();分別把上列式子的true/false 印出來吧 //((true) && (true)) && (false) →false //(true) || (false) →true // ! ((false)||(true)) →!(true) →false

各式運算子 指定與複合指定運算子 將右式的值指定(assign)給左式 符號 意義 實例 原來的式子 = 指定 a=5 += 相加後再指定 a=a+5 -= 相減後再指定 a-=5 a=a-5 *= 相乘後再指定 a*=5 a=a*5 /= 相除後取商,再指定 a/=5 a=a/5 %= 相除後取餘,再指定 a%=5 a=a%5

各式運算子-複合指定運算子-課堂練習 程式功能 基本概念 計算正方形面積 請使用者輸入正方形邊長(整數) “請輸入正方形邊長:” 計算後列印出正方形面積大小 請利用複合運算子完成 基本概念 正方形面積公式為邊長平方

各式運算子 遞增與遞減運算子 用法 int a = 5, b = 5; int c = a++; //c 的結果為5 擺在變數前表示先加減值再做其它運算,擺在變數後表示先做其 它運算再加減值 用法 int a = 5, b = 5; int c = a++; //c 的結果為5 int d = ++b; //d 的結果為6 符號 意義 實例 ++ 將變數值加一 a++、++a -- 將變數值減一 a--、--a

各式運算子-關係運算子-課堂範例 程式功能 程式說明 複合指定及遞增運算子說明 int i=10, j, x=10, y; j = ++i; Console.WriteLine(“j = ++i後的j為“ + j); y = x--; Console.WriteLine (“y = x--後的y為“ + y); Console.Readkey();

各式運算子-關係運算子-課堂練習 程式功能 “請輸入一個整數a” “請輸入一個整數b” “a+=b++後的a為?” 請你自己輸入你估計的a值,若答錯則輸 出false,答對則輸入true “a+=++b後的a為?” “a+=b--後的a為?” “a+=--b後的a為?” “a-=b++後的a為?” “a-=++b後的a為?” “a-=b--後的a為?” “a-=--b後的a為?”

= , != , < , > , >= , <= 各式運算子 運算子的優先順序 在一個數學運算式中,不同的運算子有其先後順序的差別 例如: 100+25*30 算術運算子 -(負號) * , / % + , - + 比較運算子 = , != , < , > , >= , <= 條件(邏輯)運算子 ! && ||

各式運算子 只要被小括號框起來的部分一定都會先執行 (100+25)*30 例子: a+b+c a+b*c (a+b)*c

各式運算子-運算子的優先順序-課堂練習 列印出”10+7%4-5*2+(3*12/4-2)%3 +9%5*3= ?” 然後輸入你自己心算後的值,答對的話印true, 否則印 false

Outline 變數 變數的宣告 變數的型別 型別轉換 各式運算子 常數 列舉型別 結構型別 亂數 課後練習

常數 常數 和變數的作用相同,用來儲存特定的資料 不同的地方在於常數的值必須在宣告時給定初始值,並且 常數值的初始值決定後,就無法在程式中做任何修改 用法 const double pi = 3.1415926;

常數-課堂練習 程式功能 基本概念 計算圓面積 請使用者輸入圓半徑(整數) 計算後列印出圓形面積大小 請設定常數值pi = 3.1415926 圓面積公式為半徑* 半徑* pi

Outline 變數 變數的宣告 變數的型別 型別轉換 各式運算子 常數 列舉型別 結構型別 亂數 課後練習

列舉型別 列舉型別可用來表示一些性質相似的項目對照到固定 的值(為常數) 列舉底層型別預設為int,可用的型別尚包含byte、sbyte、 short、ushort、uint、long 及ulong 列舉的清單項目以『, 』分隔 列舉型別不可以在方法內宣告 用法 enum language:long { English = 0, Chinese = 1 };

列舉型別-課堂範例 程式功能 程式說明 用列舉記錄學生和座號對照表 enum studentID:int { alice = 12, bob = 24 } static void Main(string[] args) Console.WriteLine(studentID.alice + " 的座號為: " + (int)studentID.alice); Console.WriteLine(studentID.bob + " 的座號為: " + (int)studentID.bob); Console.WriteLine("座號12 號的是: "+(studentID)12); Console.WriteLine("座號24 號的是: "+(studentID)24);

列舉型別-課堂練習 程式功能 基本概念 列印出星期一到日各為一星期的第幾天 列印出一個星期的1~7天分別為星期幾 以星期日為第一天 利用列舉將星期一到日的名稱對應至第幾天的常數值記錄 下來 Sun = 1, Mon = 2, Tue = 3, Wed = 4, Thi = 5, Fri = 6, Sat = 7

Outline 變數 變數的宣告 變數的型別 型別轉換 各式運算子 常數 列舉型別 結構型別 亂數 課後練習

結構型別 結構可用來讓使用者自訂需要的型別,它是由許多不 同型別組織在一起所組成 結構不可在方法內宣告 struct內的變數名前面要加上public,否則外界無法存 取 用法 struct student { public int id; public string name; }

結構型別-課堂範例 程式功能 程式說明 利用struct 建立student 基本資料 struct student { } public int id; public string name; } static void Main(string[] args) student John; John.id = 27; John.name = “Teng John"; Console.WriteLine("學生姓名: " + John.name + "\n" + "學生座號: " + john.id );

結構型別-課堂練習 程式功能 基本概念 利用結構型別來包裝個人基本資料(請自行設定四個以上的 變數來儲存關於一個人該有的資訊) 每一個資訊都用一行請使用者輸入 輸入完後列印出使用者所有的相關資料 基本概念 建立一個名為person的struct,並在其內建立多個資料欄位

Outline 變數 變數的宣告 變數的型別 型別轉換 各式運算子 常數 列舉型別 結構型別 亂數 課後練習

亂數 亂數作用 亂數宣告 亂數產生方法 可用來產生隨機的數字 Random 變數名稱= new Random(); 變數名稱.Next(最小值,最大值) 亂數的值會介於最大最小值之間

亂數-課堂範例 程式功能 程式說明 列印出三個1 ~ 9 之間的亂數 //亂數宣告 Random rnd = new Random(); //產生亂數 Console.WriteLine(rnd.Next(1,10));

亂數-課堂練習 程式功能 基本概念 先用亂數產生一個1 ~ 3 之間的數 讓使用者輸入一個數字 使用者猜對則列印ture 猜錯印出false 利用Random 中的Next 方法即可達成

亂數-課堂練習2 程式功能 亂數產生三個0.01 ~0.09之間的數

亂數-課堂練習3 程式功能 亂數產生三個0.012 ~1.7561之間的數

亂數-課堂練習4 程式功能 亂數產生三個-0.512 ~1.7561之間的數

亂數-課堂練習5 程式功能 讓使用者輸入兩個數字(可為小數) 隨機產生3個介於這兩數間數字

Outline 變數 變數的宣告 變數的型別 型別轉換 各式運算子 常數 列舉型別 結構型別 亂數 綜合練習

綜合練習 程式功能 要求 Alice和Bob月薪不一樣 Alice和Bob兩個人買衣服,請使用者輸入Bob和Alice分 別買了幾件衣服以及分別有多少折扣 請計算並列印出Bob和Alice花了多少比例的錢在買衣 服上 請判斷並列印出Bob花了比較高的比例的錢去買衣服 為真或假 要求 請利用struct 記錄Bob 和Alice 的相關資訊 請用常數定義衣服價錢 請用亂數產生兩人合理的範圍內的薪水