第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、面板及选项卡是常用的容器