1、关键字是C#语言定义、并赋予特定含义的一类标识符,用户只能按照规定使用这些关键字;掌握常见关键字。常量和变量、数据类型基本数据类型;变量是程序运行过程中数据类型不变,但数值可以发生改变的一种量;变量三要素:变量名、变量数据类型、变量值;变量要先定义、再使用。数组数组是具有相同类型的数据的集合,数组元素的类型可以使基本数据类型,也可以使类或接口;使用数组名和下标可以唯一确定数组中的每个元素,数组下标的索引号从0开始,故最后一个元素的索引号应是(数组长度-1);数组通过Length属性获得数组的长度;数组必须先经过声明和初始化后才能使用;重点掌握一、二维静态数组;动态数组ArrayList的使用及
2、常用方法,如:Add()、Sort()、Insert()、Clear()等。字符串类、Math类及其常用方法字符串是用双引号括起来的字符序列,而字符则是使用单引号括起来的单个字符;C#语言将字符串视为对象,string视为类;字符串常用方法,如:获得字符数组、获得字符串的长度、字母大(小)写转换、字符串的连接、删除首尾空格等;Math类中的常见静态方法,如:Sqrt()、Pow()、Round()、Ceiling()、Floor()、Max()、Min()等方法。运算符、表达式、语句;数据类型转换运算符是指对数据实施运算控制的符号。以a+b为例,参与运算的a和b称为操作数,操作数可以是常量、变
3、量、表达式和有返回值的方法;+为运算符,各类运算符应熟记。表达式是指由运算符和操作数连接而成,符合计算机语言语法规则,并具有特定结果值的符号序列,a+b为表达式算术运算符及算术表达式;关系运算符及关系表达式;逻辑运算符及逻辑表达式;赋值运算符及赋值表达式;条件运算符及条件表达式;运算符的优先级; 运算符的结合性;有效表达式后加上分号就构成了语句,如: int c=a+b;理解自加、自减及复合赋值运算;表达式中涉及不同类型的数据时,需要进行数据类型转换。类型转换包括:自动类型转换和强制类型转换。控制结构控制结构包括:顺序结构、选择分支结构、循环结构、跳转结构。选择分支结构:if-else、swi
4、tch-case循环结构:while、do-while、for、foreach跳转结构:break、continue、goto、return例如:阅读下面程序,程序编译或运行结果是 D 。public class Test static boolean f (char c) Console.Write (char)(c+2); return true; public static void Main( string args ) int i =0; for ( f(A); f (B)&(i10 ? 100.0 :50 值为50.0。 ( 对 )4)类成员分为静态成员和非静态成员,静态成员属于类
5、的对象所有,非静态成员属于类所有,只能由类名来访问。 ( 错 )5)C#中,对属性访问时将会调用属性的set访问器和get访问器,一般与类中的字段成员有对应关系。 ( 对 )6)数据在使用前一定要先声明,然后才能引用。 (对)7)使用Length属性可以获得字符串或静态数组的长度。 ( 错 )8)在循环体内,使用break;语句可以跳出循环。 ( 对 ) 四、代码补充题1)请在横线处填入适当内容将代码补充完整,使程序能正确运行。2)下面程序对数组中每个元素赋值,然后按逆序输出。请在横线处填入适当内容,使程序能正确运行。class ArrayTeststatic void Main (strin
6、g args) int i;int a=new int5;for( i=0; i=0; i-) Console.WriteLine(a+i+=+a i );3) 执行以下代码,输出结果是:int i=5;switch (i) case 3:java break;case 4:Console.WriteLine (c#case 5:htmldefault:default五、简答题1) 列举C#语言的优点:简洁的语法精心地面向对象设计与Web的紧密结合完整的安全性与错误处理版本处理技术灵活性与兼容性2) C#中数据类型可分为基本数据类型和引用数据类型,简述C#有哪些基本数据类型,有哪些引用类型,并
7、写出对应的关键字:bool、byte、sbyte、char、decimal、double、float、int、uint、long、ulong、object、short、ushort、string3)继承和多态的含义:多态:类的多态性主要指类成员方法的多态。有方法的重载、重写和隐藏,这些东西只要你多写点代码理解了语法后就很容易撑握的。你可以从怎样在类中实现方法的重载、重写和隐藏开始。4)理解重载和重写概念: 重载的条件:1.必须在同一个类中2.方法名必须相同3.参数列表不能相同。重写的条件:1. 在不同的类中 2. 发生方法重写的两个方法返回值,方法名,参数列表必须完全一致 3. 子类抛出的异常
8、不能超过父类相应的方法抛出的异常 4. 子类方法的访问级别不能低于父类相应方法的访问级别(public,package,protected, private) 5.方法体不同重载: 重载发生在同一个类中;重载主要是针对同一个类中方法名相同但参数(必须的)不同或返回类型(不是必须的)不同的情况重写:重写发生在有继承关系的类之间 重写发生在派生类上,通过override关键字来改写从其父类继承过来的具有相同返回值,方法名称和参数列表的方法。5)理解类中字段和属性的关系:若在类的内部记录事物的状态信息则用字段,一般用private修饰,以防对外使用对外公布的事物则使用属性,一般用public修饰,通
9、常和私有字段联合使用,通过属性来对私有字段赋值,或通过属性来获取私有字段的值。6)理解委托和事件:委托是对函数的封装,可以当作给方法的特征指定一个名称。而事件则是委托的一种特殊形式,当发生有意义的事情时,事件对象处理通知过程。委托是一种引用方法的类型。一旦为委托分配了方法,委托将与该方法具有完全相同的行为。委托通过delegate来声明。而事件是说在发生其他类或对象关注的事情时,类或对象可通过事件通知它们。事件对象用event声明。六、编程题1) 使用循环或递归,实现对任意输入的一个整数返回它的阶乘。提示: 循环和递归两种方式任选其一即可。【参考代码1】递归【参考代码2】循环2)使用循环结构打
10、印出九九乘法表。最终的输出结果如下:1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 4*1=4 4*2=8 4*3=12 4*4=16 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9
11、*7=63 9*8=72 9*9=81【参考代码1】【参考代码2】3)百马问题 class Program static void Main(string args) int a, b, c; /*大马:3;中马:2; 2匹小马:1 现在有100担 100匹马 /* a表示大马 b表示中马 c表示小马 for (a = 0; a = 33; a+) for (b = 0; b = 50; b+) for (c = 0; c = 100; c = c + 2) if (a + b + c = 100 & 3 * a + 2 * b + 0.5 * c = 100) Console.WriteLi
12、ne(大马0匹,中马1匹,小马2匹, a, b, c); Console.ReadKey();4)水仙花数问题class Program水仙花数有: for (int i = 100; i 1000; i+) a = i / 100; /获得百位上的数字 b = (i - a * 100) / 10; /获得十位上的数字 c = i - a * 100 - b * 10; /获得个位上的数字 if (a * a * a + b * b * b + c * c * c = i) Console.WriteLine(i.ToString();水仙花数是指一个 n 位数 ( n3 ),它的每个位上的
13、数字的 n 次幂之和等于它本身。(例如:13 + 53+ 33 = 153)5)类的定义(包括:常量、字段、属性、方法、构造方法及析构方法的定义)、对象的创建及使用。常量:一旦初始化就不再发生变化,也可以理解为符号化的常数,例如:可以用常量PI来代替3.1415926,当需要修改PI精度时,只需在代码中改变PI的初始值就可以。常量的声明:需要指定其数据类型、常量名,以及初始值,并需要使用const关键字public const double PI = 3.1415;其中,public可以用以下代替。public:全局变量private:局部变量new:创建新变量,不继承父类同名变量常量和变量在
14、代码上的区别:就是有无const,声明时有const则为常量,否则就是变量。字段:字段(field) 用来存储数值或对象的真正实体 简单说是私有变量(不一定是私有.)是字段 不过是个公开的字段私有的话就是private int i; 这样外部就无法访问到了最简单的字段和属性的定义class Class1 int val; public int Value get return this.val; set this.val = value; 它包含一个字段和一个有公开读写访问权的属性属性:读写那些私有字段的值。 通过属性访问数据,可以是指成只读、只写或者读写。通过get关键字来设置只读,set关
15、键字来设置可写,return返回读取属性的值,value表示外部是指的数值。private string test; /创建属性 Test public string Test get return test; set test = value; 方法:通过方法可以封装一段功能完整的代码,例如 public double GetArea() double r = 10; retunrn Math.PI*r*r;很多时候,方法最后是没有返回任何数值的,那么返回类型就使用void关键字表示。定义Student类。其中包括四个私有字段(name,age,sex和score)、一个构造方法和show(
16、)方法。各字段和方法的含义如下:字段name为String类型,用于存储学生的姓名;字段age为int 类型,用于存储学生的年龄;字段sex为boolean类型,用于存储学生性别,男生为false,女生为true;字段score为double类型,用于存储学生的成绩;构造方法包括四个参数,用于为字段name、age、sex和score赋值;show()方法无参数,用于打印输出字段name、age、sex和score的信息。编写程序测试Student类,使用构造方法创建对象并调用show()方法显示输出。 Student s = new Student(zhang, 18, true, 90);
17、 s.show(); class Student private string name; public string Name get return name; set name = value; private int age; private bool sex; private double score; public Student(string name,int age,bool sex,double score) this.name = name; this.age = age; this.sex = sex; this.score = score; public void sho
18、w() Console.WriteLine(name+sex+age+score);百鸡问题公鸡5钱一只,母鸡3钱一只,小鸡3只一钱 int Cock, Hen, Chick; /For循环版本百钱百鸡| for (Cock = 0; Cock 19; Cock+) /因为公鸡最大不会超过19只,所以最多循环19 for (Hen = 0; Hen 33; Hen+) /母鸡最大也不会超过33次,所以最多循环33次 Chick = 100 - Cock - Hen; /小鸡等于100 - 公鸡个数- 母鸡个数 if (Cock * 5 + Hen * 3 + Chick / 3 = 100)
19、/ 判断三种鸡乘以单价的总数是否等于100元公鸡有:0只, 母鸡有:1, 小鸡有:2, Cock, Hen, Chick);.杨辉三角: public class MyClass public static void Main() Console.Write(请输入数组的长度: int num=Convert.ToInt32(Console.ReadLine(); int, arr=new intnum,num; for(int i=0;inum;i+) for(int j=0;jnum-i;j+)=i; if(j=0|j=i) arri,j=1; else arri,j=arri-1,j+arri-1,j-1; Console.Write(arri,j.ToString()+ Console.WriteLine();
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1