第2講 C#語言基礎
2.1 數據類型、變量與常量 —— 語言中的單詞隨堂測驗
1、+(加號)可以表示
A、算術的加法
B、正號
C、字符串的連接
D、事件的注冊(+=)
2、int是引用類型
3、string是引用類型
4、double在內存中占8個字節
5、int占2個字節
6、Person p1 = new Person(18); //Person是引用類型 Person p2 = p1; 如果 p1.age=35; 則 p2.age也是35
7、Point p1 = new Point(18,20); //Point是struct Point p2 = p1; 如果置 p1.x=35; 則 p2.x也是35
8、1E7 是不合法的,因為它不是標識符
9、byte是無符號字節
10、uint是無符號整數
11、string等價于System.String
12、++運算符最好寫到復雜的表達式中,而不要單獨寫
2.2 運算符與表達式 —— 語言中的標點符號隨堂測驗
1、非零即真
2、a>b>c是合法的
3、優先級是這樣的:算術>關系>邏輯>三目>賦值;位運算比較亂
4、||表示條件或
5、&是表示字符連接運算
6、^是表示乘方運算
7、寫表達式時,適當加上圓括號,則其可讀性會更好
8、&&是條件與,也叫短路與
9、++運算符最好寫到復雜的表達式中,而不要單獨寫
第2講測驗 C#語言基礎
1、int是值類型
2、int是引用類型
3、string是引用類型
4、double在內存中占8個字節
5、int占2個字節
6、Person p1 = new Person(18); //Person是引用類型 Person p2 = p1; 如果 p1.age=35; 則 p2.age也是35
7、1E7 是不合法的,因為它不是標識符。
8、byte是無符號字節
9、uint是無符號整數
10、string等價于System.String
11、++運算符最好寫到復雜的表達式中,而不要單獨寫
12、&&是條件與,也叫短路與
13、寫表達式時,適當加上圓括號,則其可讀性會更好
14、^是表示乘方運算
15、&是表示字符連接運算
16、||表示條件或
17、a>b>c是不合法的
18、優先級是這樣的:算術>關系>邏輯>三目>賦值;位運算比較亂
19、非零即真
20、數組要先分配空間然后才使用
21、在聲明數組時,可以直接指明大小
22、數組的下標從1開始
23、所有的數組都有一個屬性Length
24、二維數組的寫法是[,]
25、交錯數組實際上是數組的數組
26、int[][] a = new int[][3]; 是合法的
27、數組在new時,其元素會默認初始化
28、二維數組的第二維的大小可以使用GetLength(1)來得到
29、先寫注釋后寫代碼是一個好習慣
30、控件命名使用匈牙利命名法是一個好習慣
31、程序中要盡量少寫函數
32、循環一般都有五要素
33、if語句子可以沒有else子句
34、switch語句中,一般情況下每個case都有break
35、switch語句中,case后面可以是變量
36、switch語句的變量可以是string類型的
37、do循環至少執行一次
38、循環中的continue表示執行下一次循環
39、循環中的break表示中斷循環
40、屏保程序的擴展名叫.scr
第3講 面向對象的C#語言
3.1 類、字段、方法 —— 面向對象那點事兒隨堂測驗
1、字段與方法都要放到類中,不能獨立于類之外。
2、this指當前對象,后面用->符號來訪問其成員。
3、構造方法返回類型是void
4、字段相當于變量,方法相當于函數。
3.3 類的繼承 —— 富二代值得羨慕嗎隨堂測驗
1、C#中,用哪個符號來表示繼承
2、訪問父類的成員,使用關鍵詞
3、C#所有的類都是___________的子類
4、要重寫父類的方法,使用關鍵詞
5、判斷一個對象是不是某個類的實例,使用運算符
6、類似于強制類型轉換但不拋出異常的運符符是
3.4 修飾符 —— 形容詞有大作用隨堂測驗
1、protected是與繼承相關的
2、C#變量不能將全局變量寫在類之外,但可以用static變量表示全局變量。
3、const只能用于基本類型及string
4、sealed表示不能被繼承
5、abstract表示抽象的,不能被實例化,也就是說不能有構造方法
6、static方法中可以用this來訪問其成員
7、static變量,即可以用類名來訪問,又可以用對象實例來訪問
8、internal大體相當于C++的friendly,但是它是基于程序集的
9、readonly就是const
10、abstract類一般都是用來被繼承的
第3講測驗 面向對象的C#語言
1、字段與方法都要放到類中,不能獨立于類之外。
2、字段相當于變量,方法相當于函數。
3、this指當前對象,后面用->符號來訪問其成員。
4、構造方法返回類型是void
5、C#中,用冒號來表示繼承
6、訪問父類的成員,使用關鍵詞father
7、C#所有的類都是object的子類
8、所有的對象都有ToString()方法
9、object等價于System.Object
10、要重寫父類的方法,使用關鍵詞override。
11、as類似于強制類型轉換但不拋出異常
12、判斷一個對象是不是某個類的實例,使用運算符is
13、如果要一個Person對象,來一個Student對象是完全可以的。
14、internal是基于程序集的訪問控制
15、protected是與繼承相關的
16、static變量,即可以用類名來訪問,又可以用對象實例來訪問
17、static本質上與this是對立的
18、static方法中可以用this來訪問其成員
19、C#變量不能將全局變量寫在類之外,但可以用static變量表示全局變量。
20、readonly就是const
21、const只能用于基本類型及string
22、sealed表示不能被繼承
23、abstract表示抽象的,不能被實例化
24、abstract表示抽象的,不能被實例化,也就是說不能有構造方法
25、abstract類一般都是用來被繼承的
26、interface表示接口
27、interface中的方法自動就是public的,而且是abstract的
28、interface一般用于表示某種特征
29、一個類只能實現一個接口
30、interface的名字習慣用字母I開始
31、實現interface的方法前一定要用public修飾
32、enum本質是上符號化的整數
33、enum量可以用于switch語句
34、面向對象的程序的主體是定義各種類
第4講 C#語言高級特性
第4講測驗 C#語言高級特性
1、如果try子句中有return語句,則finally子句就不會執行了。
2、在catch異常時,子類異常(更具體的異常)在寫到父類異常(更一般的異常)的前面。
3、自定義異常要從Exception(或其子類)進行繼承
4、Attribute在使用時用方括號
5、C#中是可以使用指針的,但是要慎用
6、在C#2以上的版本中,可以這樣寫:MyDelegate d2 = obj.myMethod;
7、C#可以實現函數的函數(高階函數)
8、委托具有多播的特點,即一次可以調用多個函數
9、在C#中,(省略new EventHandler)可以簡寫為:button1.Click += button1_Click;
10、運算符本質上是一個函數,但是書寫起來更直觀
11、在C#中,要注意[](索引)還有運算符也都是函數
12、在C#中,[]有索引、Attribute、數組等用途
13、程序集是指編譯生成的dll及exe。
14、internal修飾符是針對程序集的可訪問性
15、Lambda本質上是一種匿名函數
16、Lambda表達式的函數參數型是可以省略的
17、匿名函數可以不帶參數
18、拋出異常可以使用throw語句
19、一般要使用InnerException來形成異常的鏈接
20、Lambda表達式不能作為函數的參數
21、event可以理解為一種特殊的委托變量
22、事件的委托類型一般帶兩個參數,一個sender,一個是事件參數
23、事件在類之外可以使用+=、-=
24、事件在類之外可以判斷是否為null
25、事件可以在類之外進行調用
第5講 基礎類及常用算法
第5講測驗 基礎類及常用算法
1、DotNet基本庫包括System,System.Data,System.Windows等多個名稱空間。
2、任何對象都是object類的子類或間接子類
3、任何對象都有ToString()方法
4、任何對象都有Equals()方法
5、任何對象都有GetType()方法
6、參與運算時,所有的byte, short等轉為int
7、常量也是對象
8、3.ToString()是合法的
9、"Hello".Length是合法的
10、強制類型轉換的書寫方法是:int(3.14)
11、System.Convert可以方便地用來進行類型轉換
12、Convert.ToDateTime()方法表示轉成日期時間類型
13、Convert.ToDouble()方法表示轉成實數
14、Convert.ToInt()方法表示轉成整數
15、int也是一種類型,相當于System.Int32
16、int.MaxValue表示最小整數
17、int.MinValue表示最小整數
18、Double.IsNaN()用于判斷是不是一個數值
19、int也是繼承了System.Object
20、int.Parse(string)可能會拋出異常
21、int.TryParse()方法可能會拋出異常
22、Math類提供了相關的數學方法
23、Math.Abs()表示絕對值
24、Math.Round()表示舍入到幾位小數
25、Math.Exp() 表示指數
26、Math.Pow() 表示乘方
27、Math.Sqrt()表示平方根
28、Random的NextDouble()表示產生一個0至1之間的實數
29、Random的Next(100)表示產生一個0至100(含)之間的實數
30、DateTime 是引用類型
31、DateTime.Now表示當前時間
32、DateTime的AddMinutes(5)表示加5秒
33、兩個日期相減,可以得到一個TimeSpan
34、String的Substring(idx, len ) 表示求子串
35、String對象的Length()是一個方法
36、String對象的.StartsWith()表示判斷是以某字符串結尾
37、String對象的Trim()表示去掉字符串中的所有空格
38、String對象的Split(',')表示按逗號進行分割
39、String對象在循環體中用 s+=….可能會帶來效率問題
40、string對象的內容是不可變的
41、StringBuilder內容是不可變的
42、foreach(類型 變量 in xxxx)表示遍歷數組或集合
43、List 、 LinkedList、 SortedList 表示列表(線性表)
44、Dictionary 表示字典,可以用來表示key-value對的集合
45、Stack表示棧
46、Queue表示隊列
47、Hashtable的 [ ] 索引,可以表示獲取/加入/修改/刪除(置為null)
48、Array.Sort方法可以用來表示排序
49、算法是指令的有限序列
50、算法要求有窮性
51、算法要求可行性
52、算法要求確定性
53、算法有輸入輸出
54、遍試算法在邏輯上是針對所有可能的情況進行判斷
55、遍試算法在形式上是for中用if
56、迭代算法在形式上是while中用a = f( a )
57、遞歸算法在邏輯上是一個問題化為同樣的問題
58、遞歸算法在邏輯上是一個問題化為同樣的問題
59、遞歸算法在形式上是f(n)中調用f(n-1)
60、遞歸算法的思想是“分而治之”
61、現實生活中有很多遞歸現象
62、遍試、迭代、遞歸是常用的三種算法
第7講 Windows窗體與控件
7.2 常用控件隨堂測驗
1、控件Control類都是System.Windows.Forms.Control的子類
2、Control實現了IDisposable等接口
3、組件也是顯示在界面上的控件
4、KeyPress事件實際上包括了KeyDown及KeyUp
5、文本框的PasswordChar可以使之成為密碼框
6、多行文本框要設置MultiLine屬性
7、向列表框中添加項目可以使用Items.Add()方法
8、日期時間框的Value屬性可以用來表示用戶選取的時期時間
9、進度條 ProgressBar的Maximum表示最小值
10、RichTextBox 富文本框的.Select(start,len)方法表示選中其中一部分
11、富文本框的SelectionColor屬性可以用來設定一部分內容的顏色
12、面板及選項卡是常用的容器