《C#程序设计基础入门教程》习题答案.docx
《《C#程序设计基础入门教程》习题答案.docx》由会员分享,可在线阅读,更多相关《《C#程序设计基础入门教程》习题答案.docx(31页珍藏版)》请在冰豆网上搜索。
《C#程序设计基础入门教程》习题答案
第1章C#开发入门
一、填空题
1、.dll、.exe
2、CLR
3、编译、运行
4、互操作性
5、Console.WriteLine()
二、选择题
1、C2、B3、C4、A5、D
三、问答题
1、它是一个全新的、集成的、面向对象的开发平台,它以公共语言运行时(CommonLanguageRuntime,简写CLR)为基础,支持多种编程语言。
2、.NET平台是一个环境,而C#只是一门语言,并不是它的一部分。
C#语言编写的程序可以在.NET平台上运行。
四、编程题
1、参考答案
classProgram
{
staticvoidMain(string[]args)
Console.WriteLine("这是我的第一个C#程序!
");
Console.ReadKey();
}
第2章C#编程基础(上)
1、class
2、true和false
3、5
4、值数据类型、引用数据类型
5、1、4
6、&&&|||
7、0
8、单行注释、多行注释、文档注释
9、break
10、1000
二、判断题
1、错2、错3、错4、对5、错
三、选择题
1、AD2、BCD3、C4、C5、C6、A7、AC8、AC9、BD10、A
四、程序分析题
1、编译不通过。
int值4和b相加时,由于变量b的类型为byte,取值范围没有int类型大,存不下int类型的值,因此编译不通过。
2、编译不通过。
这是因为y是在最里层的代码块中定义的一个变量,只有在那个代码块中才可使用,在使用y=x;语句时已经超过了y变量的作用域,所以编译无法通过。
3、编译不通过。
因为switch语句中的每个分支语句之间需要使用break关键字隔开,如果没有break语句就会报错。
4、打印结果为:
9
8
7
五、问答题
1、标识符可以由任意顺序的大小写字母、数字、下划线(_)和@符号组成,但标识符不能以数字开头,且不能是C#中的关键字。
2、如果使用“&”在表达式之间进行连接,那么无论任何情况,“&”两边的表达式都会参与计算。
如果使用“&&”进行连接,当“&&”左边的表达式为false,则不会执行其右边的表达式。
例如定义intx=2,y=0;boolb=x0表达是会发生被0除异常,因为x/y的表达式执行了。
而boolb=x0是不会出现这种异常的,因为x3、相同点:1、二者都可以多次执行循环体。2、二者都可以进行循环次数确定的循环操作。不同点:1、在循环次数不确定的情况下,一般会使用while循环。2、在while循环中,条件表达式中的变量都会定义在while语句的外面,而在for循环中,条件表达式中的变量都会定义在for语句中。六、编程题1、参考答案publicclassTest01{publicstaticvoidMain(string[]args){intx=5;if(x%2!=0){Console.WriteLine("x是一个奇数");}else{Console.WriteLine("x是一个偶数");}Console.ReadKey();}}2、参考答案publicclassTest02{publicstaticvoidMain(string[]args){intsum=0;for(inti=1;i<=99;i++){if(i%2!=0){sum+=i;}}Console.WriteLine("1-99之间的奇数和为:"+sum);Console.ReadKey();}}第3章C#编程基础(下)一、填空题1、void2、方法名相同、方法签名不同3、自身4、params5、逐语句、逐过程6、帕斯卡命名规范7、结束条件8、99、断点10、6二、判断题1、对2、错3、对4、对5、错三、选择题1、AC2、BC3、C4、B5、B6、BD7、C8、A9、AC10、A四、程序分析题1、编译不通过,Say()方法没有返回值。2、编译不能通过,在给TestFunc()方法传参时必须加上ref。3、编译不能通过,参数为out类型的方法,必须在方法内对参数赋值。五、简答题1、方法重载是指:允许在一个类中同名方法的存在,但是方法的参数列表必须不同。实现重载的条件是方法名必须相同,参数类型或个数必须不同。当调用该方法时,根据参数的不同可以产生不同的结果。2、ref参数是用于传递参数的引用,而不是参数的值。out参数则用于将值从方法体内传到方法体。ref参数必须在方法调用前赋值,out参数必须在方法内进行赋值。3、逐语句调试会进入方法的内部调试,单步执行方法体的每一句带代码。逐过程调试就是不会进入方法体内部,而是把方法当做一行代码来执行。六、编程题1、参考答案classProgram{publicstaticvoidMain(string[]args){intsum=Func(99);Console.WriteLine("sum="+sum);Console.ReadKey();}publicstaticintFunc(intn){intsum=n;if(n<1){sum+=1;}else{sum+=Func(n-2);}returnsum;}}2、参考答案classProgram{publicstaticvoidMain(string[]args){intresult=0;Console.Write("请输入x的值:");intinput=int.Parse(Console.ReadLine());result=Result(input);Console.WriteLine("y的结果为:{0}",result);Console.ReadKey();}publicstaticintResult(intx){if(x>0){returnx+3;}elseif(x<0){returnx*x-1;}else{return0;}}}3、参考答案classProgram{publicstaticvoidMain(string[]args){int[]arr={25,24,12,76,101,96,28};Console.Write("冒泡排序前:");PrintArray(arr);//打印数组元素BubbleSort(arr);//调用排序方法Console.Write("冒泡排序后:");PrintArray(arr);//打印数组元素Console.ReadKey();}//定义打印数组的方法publicstaticvoidPrintArray(int[]arr){//循环遍历数组的元素for(inti=0;i{Console.Write(arr[i]+"");//打印元素和空格}Console.WriteLine();}//定义对数组排序的方法publicstaticvoidBubbleSort(int[]arr){//定义外层循环for(inti=0;i{//定义内层循环for(intj=0;j{if(arr[j]>arr[j+1])//比较相邻元素{//下面的三行代码用于交换两个元素inttemp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}}}}第4章面向对象基础一、填空题1、封装、继承、多态2、new3、成员变量、局部变量4、类5、静态的6、模板7、静态方法类名.方法名8、内部类9、字段private10、对象初始化器二、判断题1、对2、对3、错4、对5、错三、选择题1、B2、D3、B4、ABC5、ABCD6、ACD7、ABCD8、ABCD9、D10、D四、程序分析题1、程序不能编译通过,因为在类A中的成员变量secret用private修饰,所以在类Test1中无法访问。2、程序不能编译通过,因为在静态方法method()中不能访问非静态成员变量x。3、程序能够编译通过,运行的结果为“inner”。五、简答题1、构造方法是类的一个特殊成员,它会在类实例化对象时被自动调用。而普通方法只有在使用的时候才会被调用。在定义构造方法时要求方法名与类名相同、在方法名的前面没有返回值类型的声明、在方法中不能使用return语句返回一个值。2、面向对象的三大特性:封装、继承、多态。封装是将对象的特性和行为封装起来,不需要外界只具体的实现细节,使用时直接调用即可。继承主要用来描述类与类之间的关系,通过继承可以复用已有的代码并在此基础上进行扩展。多态是指同一操作用于不同对象,会产生不同的执行结果。六、编程题1、参考答案classStudent{privateStringname;privatedoublegrade;publicStudent(){}publicStudent(Stringname,doublegrade){this.name=name;this.grade=grade;}publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicdoublegetGrade(){returngrade;}publicvoidsetGrade(doublegrade){this.grade=grade;}}publicclassTest01{publicstaticvoidmain(String[]args){Studentstu1=newStudent();stu1.setName("zhangsan");stu1.setGrade(99);Studentstu2=newStudent("lisi",100);}}2、参考答案classSingleExample{privatestaticSingleExampleinstance;privateSingleExample(){}//无参构造方法publicstaticSingleExampleMethod(){if(instance==null){Instance=newSingleExample();}}}第5章面向对象高级一、填空题1、继承2、抽象方法、抽象类3、using4、派生类或子类5、base6、sealed7、new8、Object9、try、catch10、virtual、override二、判断题1、错2、对3、错4、对5、对三、选择题1、B2、C3、ABD4、ABCD5、C6、AC7、C8、ACD9、A10、B四、分析题1、不能编译通过,由于Dog和Cat类没有继承关系。无法将cat()隐式转换为Dog()类型。2、不能编译通过,Dog类中的shout()方式是密封的,在BlackDog类中不能重写该方法。3、程序能够编译通过。4、编译不能通过,因为Dog类中没有实现Animal接口中的全部方法。五、简答题1、方法重写是:当子类继承父类中的方法时,父类方法的功能不能满足子类的需求,通过重写父类的方法可以增加或修改相应的功能。实现方法重写的条件是:要求子类的方法名、参数类型和参数个数必须与父类方法相同,而且父类方法必须使用virtual关键字修饰,子类方法必须使用override关键字修2、多态就是不属于同一个类的多个对象调用相同方法,产生的结果不同。实现多态有三种方式:方法,抽象类,接口。3、抽象类使用abstract关键字,抽象类中可以有抽象方法,也可以有非抽象方法。接口使用interface关键字,接口中所有的方法都是抽象方法。六、编程题1、参考答案classProgram{staticvoidMain(string[]args){Studentstudent=newStudent("小明",18);Undergraduatedegree=newUndergraduate("小刚",28,"学士");student.Show();degree.Show();Console.ReadKey();}}classStudent{publicstringName{get;set;}publicintAge{get;set;}publicStudent(stringname,intage){this.Name=name;this.Age=age;}publicvoidShow(){Console.WriteLine("姓名:{0}年龄:{1}",Name,Age);}}classUndergraduate:Student{publicstringDegree{get;set;}//调用父类的构造方法publicUndergraduate(stringname,intage,stringdegree):base(name,age){this.Name=name;this.Age=age;this.Degree=degree;}publicnewvoidShow(){Console.WriteLine("姓名:{0}年龄:{1}学位:{2}",Name,Age,Degree);}}2、参考答案classProgram{staticvoidMain(string[]args){Squaresquare=newSquare();Circlecircle=newCircle();Console.WriteLine("正方形的面积为:{0}",square.Area(2));Console.WriteLine("圆形的面积为:{0}",circle.Area(3));Console.ReadKey();}}//定义一个接口interfaceShape{doubleArea(doublex);//定义一个实现计算面积的抽象方法}//实现接口ShapeclassSquare:Shape{//计算正方形的面积publicdoubleArea(doublex){returnx*x;}}classCircle:Shape{//计算圆形的面积publicdoubleArea(doublex){returnMath.PI*x*x;}}第6章WinForm基础一、填空题1、Form1[设计]、Form1.cs2、SelectedItem3、Run()4、控制Tick事件触发的频率5、Form1.Designer.cs6、Form1.resx7、Program.cs8、Control9、Load10、ExpandAll()二、判断题1、对2、对3、对4、对5、对三、选择题1、D2、D3、B4、C5、A6、A7、D8、B9、B10、A四、程序分析题一、1、btnSecond.Visible=false;2、btnSecond.Visible=true;btnFirst.Visible=false;3、btnSecond.Visible=false;btnFirst.Visible=true;二、1、string[]musics={"真的爱你","无悔这一生"};for(inti=0;i{cmbShow.Items.Add(musics[i]);}2、cmbShow.SelectedIndex=0;3、!string.IsNullOrEmpty(txtName.Text)4、cmbShow.Items.Add(txtName.Text);5、cmbShow.SelectedIndex=cmbShow.Items.Count-1;6、txtName.Text="";7、MessageBox.Show("请输入歌曲的名字!");五、简答题 1、WinForm项目的文件结构包括五个部分,分别是Properties、引用、App.config、Form1.cs、Program.cs,其中Properties用来设置项目的属性,引用用来设置对其他项目命名空间的引用,App.config用来设置数据库的配置信息,Form1.cs文件用来设置窗体界面以及编写逻辑代码,Program.cs文件用来设置项目运行时的主窗体。2、属性:1、Name属性在指示代码中用来标识该对象的名称。2、Text属性用来表示与控件关联的文本。3、Visible属性用来确定该控件时可见的还是隐藏的。4、Enabled属性用来指示是否启用该控件5、Tag属性表示与对象关联的用户定义数据。事件:1、Load事件在窗体加载时被触发。2、Click事件在单击控件时发生。3、MouseEnter事件在鼠标进入控件的可见部分时发生。4、MouseLeave事件在鼠标离开控件的可见部分时发生。5、FontChanged事件在控件的Font属性值更改时引发的事件。六、编程题1、运行效果图弹出消息框显示“用户名或密码不能为空!”弹出消息框显示“用户名或密码不正确!”弹出消息框显示“登陆成功!”参考逻辑代码publicpartialclassFormLogin:Form{publicFormLogin(){InitializeComponent();}privatevoidbtnLogin_Click(objectsender,EventArgse){stringname=txtName.Text;stringpassword=txtPassword.Text;if(string.IsNullOrEmpty(name)||string.IsNullOrEmpty(password)){MessageBox.Show("用户名或密码不能为空!");}elseif(txtName.Text=="user"&&txtPassword.Text=="itcast"){MessageBox.Show("登陆成功!");}else{MessageBox.Show("用户名或者密码不正确!");}}}2、运行效果图显示湖北省下的三个市参考逻辑代码publicpartialclassFormCity:Form{publicFormCity(){InitializeComponent();}privatevoidForm5_Load(objectsender,EventArgse){cmbProvince.Items.AddRange(newstring[]{"河北省","湖北省"});cmbProvince.SelectedIndex=0;}privatevoidcmbProvince_SelectedIndexChanged(objectsender,EventArgse){cmbCity.Items.Clear();if(cmbProvince.SelectedIndex==0){cmbCity.Tag="0";cmbCity.Items.AddRange(newstring[]{"唐山市","石家庄市","邯郸市"});cmbCity.SelectedIndex=0;}if(cmbProvince.SelectedIndex==1){cmbCity.Tag="1";cmbCity.Items.AddRange(newstring[]{"武汉市","荆州市","十堰市"});cmbCity.SelectedIndex=0;}}}第7章C#常用类一、填空题
3、相同点:
1、二者都可以多次执行循环体。
2、二者都可以进行循环次数确定的循环操作。
不同点:
1、在循环次数不确定的情况下,一般会使用while循环。
2、在while循环中,条件表达式中的变量都会定义在while语句的外面,而在for循环中,条件表达式中的变量都会定义在for语句中。
六、编程题
publicclassTest01
publicstaticvoidMain(string[]args)
intx=5;
if(x%2!
=0)
Console.WriteLine("x是一个奇数");
else
Console.WriteLine("x是一个偶数");
2、参考答案
publicclassTest02
intsum=0;
for(inti=1;i<=99;i++)
if(i%2!
sum+=i;
Console.WriteLine("1-99之间的奇数和为:
"+sum);
第3章C#编程基础(下)
1、void
2、方法名相同、方法签名不同
3、自身
4、params
5、逐语句、逐过程
6、帕斯卡命名规范
7、结束条件
8、9
9、断点
10、6
1、对2、错3、对4、对5、错
1、AC2、BC3、C4、B5、B6、BD7、C8、A9、AC10、A
1、编译不通过,Say()方法没有返回值。
2、编译不能通过,在给TestFunc()方法传参时必须加上ref。
3、编译不能通过,参数为out类型的方法,必须在方法内对参数赋值。
五、简答题
1、方法重载是指:
允许在一个类中同名方法的存在,但是方法的参数列表必须不同。
实现重载的条件是方法名必须相同,参数类型或个数必须不同。
当调用该方法时,根据参数的不同可以产生不同的结果。
2、ref参数是用于传递参数的引用,而不是参数的值。
out参数则用于将值从方法体内传到方法体。
ref参数必须在方法调用前赋值,out参数必须在方法内进行赋值。
3、逐语句调试会进入方法的内部调试,单步执行方法体的每一句带代码。
逐过程调试就是不会进入方法体内部,而是把方法当做一行代码来执行。
intsum=Func(99);
Console.WriteLine("sum="+sum);
publicstaticintFunc(intn)
intsum=n;
if(n<1)
sum+=1;
sum+=Func(n-2);
returnsum;
intresult=0;
Console.Write("请输入x的值:
intinput=int.Parse(Console.ReadLine());
result=Result(input);
Console.WriteLine("y的结果为:
{0}",result);
publicstaticintResult(intx)
if(x>0)
returnx+3;
elseif(x<0)
returnx*x-1;
return0;
3、参考答案
int[]arr={25,24,12,76,101,96,28};
Console.Write("冒泡排序前:
PrintArray(arr);//打印数组元素
BubbleSort(arr);//调用排序方法
Console.Write("冒泡排序后:
//定义打印数组的方法
publicstaticvoidPrintArray(int[]arr)
//循环遍历数组的元素
for(inti=0;i{Console.Write(arr[i]+"");//打印元素和空格}Console.WriteLine();}//定义对数组排序的方法publicstaticvoidBubbleSort(int[]arr){//定义外层循环for(inti=0;i{//定义内层循环for(intj=0;j{if(arr[j]>arr[j+1])//比较相邻元素{//下面的三行代码用于交换两个元素inttemp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}}}}第4章面向对象基础一、填空题1、封装、继承、多态2、new3、成员变量、局部变量4、类5、静态的6、模板7、静态方法类名.方法名8、内部类9、字段private10、对象初始化器二、判断题1、对2、对3、错4、对5、错三、选择题1、B2、D3、B4、ABC5、ABCD6、ACD7、ABCD8、ABCD9、D10、D四、程序分析题1、程序不能编译通过,因为在类A中的成员变量secret用private修饰,所以在类Test1中无法访问。2、程序不能编译通过,因为在静态方法method()中不能访问非静态成员变量x。3、程序能够编译通过,运行的结果为“inner”。五、简答题1、构造方法是类的一个特殊成员,它会在类实例化对象时被自动调用。而普通方法只有在使用的时候才会被调用。在定义构造方法时要求方法名与类名相同、在方法名的前面没有返回值类型的声明、在方法中不能使用return语句返回一个值。2、面向对象的三大特性:封装、继承、多态。封装是将对象的特性和行为封装起来,不需要外界只具体的实现细节,使用时直接调用即可。继承主要用来描述类与类之间的关系,通过继承可以复用已有的代码并在此基础上进行扩展。多态是指同一操作用于不同对象,会产生不同的执行结果。六、编程题1、参考答案classStudent{privateStringname;privatedoublegrade;publicStudent(){}publicStudent(Stringname,doublegrade){this.name=name;this.grade=grade;}publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicdoublegetGrade(){returngrade;}publicvoidsetGrade(doublegrade){this.grade=grade;}}publicclassTest01{publicstaticvoidmain(String[]args){Studentstu1=newStudent();stu1.setName("zhangsan");stu1.setGrade(99);Studentstu2=newStudent("lisi",100);}}2、参考答案classSingleExample{privatestaticSingleExampleinstance;privateSingleExample(){}//无参构造方法publicstaticSingleExampleMethod(){if(instance==null){Instance=newSingleExample();}}}第5章面向对象高级一、填空题1、继承2、抽象方法、抽象类3、using4、派生类或子类5、base6、sealed7、new8、Object9、try、catch10、virtual、override二、判断题1、错2、对3、错4、对5、对三、选择题1、B2、C3、ABD4、ABCD5、C6、AC7、C8、ACD9、A10、B四、分析题1、不能编译通过,由于Dog和Cat类没有继承关系。无法将cat()隐式转换为Dog()类型。2、不能编译通过,Dog类中的shout()方式是密封的,在BlackDog类中不能重写该方法。3、程序能够编译通过。4、编译不能通过,因为Dog类中没有实现Animal接口中的全部方法。五、简答题1、方法重写是:当子类继承父类中的方法时,父类方法的功能不能满足子类的需求,通过重写父类的方法可以增加或修改相应的功能。实现方法重写的条件是:要求子类的方法名、参数类型和参数个数必须与父类方法相同,而且父类方法必须使用virtual关键字修饰,子类方法必须使用override关键字修2、多态就是不属于同一个类的多个对象调用相同方法,产生的结果不同。实现多态有三种方式:方法,抽象类,接口。3、抽象类使用abstract关键字,抽象类中可以有抽象方法,也可以有非抽象方法。接口使用interface关键字,接口中所有的方法都是抽象方法。六、编程题1、参考答案classProgram{staticvoidMain(string[]args){Studentstudent=newStudent("小明",18);Undergraduatedegree=newUndergraduate("小刚",28,"学士");student.Show();degree.Show();Console.ReadKey();}}classStudent{publicstringName{get;set;}publicintAge{get;set;}publicStudent(stringname,intage){this.Name=name;this.Age=age;}publicvoidShow(){Console.WriteLine("姓名:{0}年龄:{1}",Name,Age);}}classUndergraduate:Student{publicstringDegree{get;set;}//调用父类的构造方法publicUndergraduate(stringname,intage,stringdegree):base(name,age){this.Name=name;this.Age=age;this.Degree=degree;}publicnewvoidShow(){Console.WriteLine("姓名:{0}年龄:{1}学位:{2}",Name,Age,Degree);}}2、参考答案classProgram{staticvoidMain(string[]args){Squaresquare=newSquare();Circlecircle=newCircle();Console.WriteLine("正方形的面积为:{0}",square.Area(2));Console.WriteLine("圆形的面积为:{0}",circle.Area(3));Console.ReadKey();}}//定义一个接口interfaceShape{doubleArea(doublex);//定义一个实现计算面积的抽象方法}//实现接口ShapeclassSquare:Shape{//计算正方形的面积publicdoubleArea(doublex){returnx*x;}}classCircle:Shape{//计算圆形的面积publicdoubleArea(doublex){returnMath.PI*x*x;}}第6章WinForm基础一、填空题1、Form1[设计]、Form1.cs2、SelectedItem3、Run()4、控制Tick事件触发的频率5、Form1.Designer.cs6、Form1.resx7、Program.cs8、Control9、Load10、ExpandAll()二、判断题1、对2、对3、对4、对5、对三、选择题1、D2、D3、B4、C5、A6、A7、D8、B9、B10、A四、程序分析题一、1、btnSecond.Visible=false;2、btnSecond.Visible=true;btnFirst.Visible=false;3、btnSecond.Visible=false;btnFirst.Visible=true;二、1、string[]musics={"真的爱你","无悔这一生"};for(inti=0;i{cmbShow.Items.Add(musics[i]);}2、cmbShow.SelectedIndex=0;3、!string.IsNullOrEmpty(txtName.Text)4、cmbShow.Items.Add(txtName.Text);5、cmbShow.SelectedIndex=cmbShow.Items.Count-1;6、txtName.Text="";7、MessageBox.Show("请输入歌曲的名字!");五、简答题 1、WinForm项目的文件结构包括五个部分,分别是Properties、引用、App.config、Form1.cs、Program.cs,其中Properties用来设置项目的属性,引用用来设置对其他项目命名空间的引用,App.config用来设置数据库的配置信息,Form1.cs文件用来设置窗体界面以及编写逻辑代码,Program.cs文件用来设置项目运行时的主窗体。2、属性:1、Name属性在指示代码中用来标识该对象的名称。2、Text属性用来表示与控件关联的文本。3、Visible属性用来确定该控件时可见的还是隐藏的。4、Enabled属性用来指示是否启用该控件5、Tag属性表示与对象关联的用户定义数据。事件:1、Load事件在窗体加载时被触发。2、Click事件在单击控件时发生。3、MouseEnter事件在鼠标进入控件的可见部分时发生。4、MouseLeave事件在鼠标离开控件的可见部分时发生。5、FontChanged事件在控件的Font属性值更改时引发的事件。六、编程题1、运行效果图弹出消息框显示“用户名或密码不能为空!”弹出消息框显示“用户名或密码不正确!”弹出消息框显示“登陆成功!”参考逻辑代码publicpartialclassFormLogin:Form{publicFormLogin(){InitializeComponent();}privatevoidbtnLogin_Click(objectsender,EventArgse){stringname=txtName.Text;stringpassword=txtPassword.Text;if(string.IsNullOrEmpty(name)||string.IsNullOrEmpty(password)){MessageBox.Show("用户名或密码不能为空!");}elseif(txtName.Text=="user"&&txtPassword.Text=="itcast"){MessageBox.Show("登陆成功!");}else{MessageBox.Show("用户名或者密码不正确!");}}}2、运行效果图显示湖北省下的三个市参考逻辑代码publicpartialclassFormCity:Form{publicFormCity(){InitializeComponent();}privatevoidForm5_Load(objectsender,EventArgse){cmbProvince.Items.AddRange(newstring[]{"河北省","湖北省"});cmbProvince.SelectedIndex=0;}privatevoidcmbProvince_SelectedIndexChanged(objectsender,EventArgse){cmbCity.Items.Clear();if(cmbProvince.SelectedIndex==0){cmbCity.Tag="0";cmbCity.Items.AddRange(newstring[]{"唐山市","石家庄市","邯郸市"});cmbCity.SelectedIndex=0;}if(cmbProvince.SelectedIndex==1){cmbCity.Tag="1";cmbCity.Items.AddRange(newstring[]{"武汉市","荆州市","十堰市"});cmbCity.SelectedIndex=0;}}}第7章C#常用类一、填空题
Console.Write(arr[i]+"");//打印元素和空格
Console.WriteLine();
//定义对数组排序的方法
publicstaticvoidBubbleSort(int[]arr)
//定义外层循环
for(inti=0;i{//定义内层循环for(intj=0;j{if(arr[j]>arr[j+1])//比较相邻元素{//下面的三行代码用于交换两个元素inttemp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}}}}第4章面向对象基础一、填空题1、封装、继承、多态2、new3、成员变量、局部变量4、类5、静态的6、模板7、静态方法类名.方法名8、内部类9、字段private10、对象初始化器二、判断题1、对2、对3、错4、对5、错三、选择题1、B2、D3、B4、ABC5、ABCD6、ACD7、ABCD8、ABCD9、D10、D四、程序分析题1、程序不能编译通过,因为在类A中的成员变量secret用private修饰,所以在类Test1中无法访问。2、程序不能编译通过,因为在静态方法method()中不能访问非静态成员变量x。3、程序能够编译通过,运行的结果为“inner”。五、简答题1、构造方法是类的一个特殊成员,它会在类实例化对象时被自动调用。而普通方法只有在使用的时候才会被调用。在定义构造方法时要求方法名与类名相同、在方法名的前面没有返回值类型的声明、在方法中不能使用return语句返回一个值。2、面向对象的三大特性:封装、继承、多态。封装是将对象的特性和行为封装起来,不需要外界只具体的实现细节,使用时直接调用即可。继承主要用来描述类与类之间的关系,通过继承可以复用已有的代码并在此基础上进行扩展。多态是指同一操作用于不同对象,会产生不同的执行结果。六、编程题1、参考答案classStudent{privateStringname;privatedoublegrade;publicStudent(){}publicStudent(Stringname,doublegrade){this.name=name;this.grade=grade;}publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicdoublegetGrade(){returngrade;}publicvoidsetGrade(doublegrade){this.grade=grade;}}publicclassTest01{publicstaticvoidmain(String[]args){Studentstu1=newStudent();stu1.setName("zhangsan");stu1.setGrade(99);Studentstu2=newStudent("lisi",100);}}2、参考答案classSingleExample{privatestaticSingleExampleinstance;privateSingleExample(){}//无参构造方法publicstaticSingleExampleMethod(){if(instance==null){Instance=newSingleExample();}}}第5章面向对象高级一、填空题1、继承2、抽象方法、抽象类3、using4、派生类或子类5、base6、sealed7、new8、Object9、try、catch10、virtual、override二、判断题1、错2、对3、错4、对5、对三、选择题1、B2、C3、ABD4、ABCD5、C6、AC7、C8、ACD9、A10、B四、分析题1、不能编译通过,由于Dog和Cat类没有继承关系。无法将cat()隐式转换为Dog()类型。2、不能编译通过,Dog类中的shout()方式是密封的,在BlackDog类中不能重写该方法。3、程序能够编译通过。4、编译不能通过,因为Dog类中没有实现Animal接口中的全部方法。五、简答题1、方法重写是:当子类继承父类中的方法时,父类方法的功能不能满足子类的需求,通过重写父类的方法可以增加或修改相应的功能。实现方法重写的条件是:要求子类的方法名、参数类型和参数个数必须与父类方法相同,而且父类方法必须使用virtual关键字修饰,子类方法必须使用override关键字修2、多态就是不属于同一个类的多个对象调用相同方法,产生的结果不同。实现多态有三种方式:方法,抽象类,接口。3、抽象类使用abstract关键字,抽象类中可以有抽象方法,也可以有非抽象方法。接口使用interface关键字,接口中所有的方法都是抽象方法。六、编程题1、参考答案classProgram{staticvoidMain(string[]args){Studentstudent=newStudent("小明",18);Undergraduatedegree=newUndergraduate("小刚",28,"学士");student.Show();degree.Show();Console.ReadKey();}}classStudent{publicstringName{get;set;}publicintAge{get;set;}publicStudent(stringname,intage){this.Name=name;this.Age=age;}publicvoidShow(){Console.WriteLine("姓名:{0}年龄:{1}",Name,Age);}}classUndergraduate:Student{publicstringDegree{get;set;}//调用父类的构造方法publicUndergraduate(stringname,intage,stringdegree):base(name,age){this.Name=name;this.Age=age;this.Degree=degree;}publicnewvoidShow(){Console.WriteLine("姓名:{0}年龄:{1}学位:{2}",Name,Age,Degree);}}2、参考答案classProgram{staticvoidMain(string[]args){Squaresquare=newSquare();Circlecircle=newCircle();Console.WriteLine("正方形的面积为:{0}",square.Area(2));Console.WriteLine("圆形的面积为:{0}",circle.Area(3));Console.ReadKey();}}//定义一个接口interfaceShape{doubleArea(doublex);//定义一个实现计算面积的抽象方法}//实现接口ShapeclassSquare:Shape{//计算正方形的面积publicdoubleArea(doublex){returnx*x;}}classCircle:Shape{//计算圆形的面积publicdoubleArea(doublex){returnMath.PI*x*x;}}第6章WinForm基础一、填空题1、Form1[设计]、Form1.cs2、SelectedItem3、Run()4、控制Tick事件触发的频率5、Form1.Designer.cs6、Form1.resx7、Program.cs8、Control9、Load10、ExpandAll()二、判断题1、对2、对3、对4、对5、对三、选择题1、D2、D3、B4、C5、A6、A7、D8、B9、B10、A四、程序分析题一、1、btnSecond.Visible=false;2、btnSecond.Visible=true;btnFirst.Visible=false;3、btnSecond.Visible=false;btnFirst.Visible=true;二、1、string[]musics={"真的爱你","无悔这一生"};for(inti=0;i{cmbShow.Items.Add(musics[i]);}2、cmbShow.SelectedIndex=0;3、!string.IsNullOrEmpty(txtName.Text)4、cmbShow.Items.Add(txtName.Text);5、cmbShow.SelectedIndex=cmbShow.Items.Count-1;6、txtName.Text="";7、MessageBox.Show("请输入歌曲的名字!");五、简答题 1、WinForm项目的文件结构包括五个部分,分别是Properties、引用、App.config、Form1.cs、Program.cs,其中Properties用来设置项目的属性,引用用来设置对其他项目命名空间的引用,App.config用来设置数据库的配置信息,Form1.cs文件用来设置窗体界面以及编写逻辑代码,Program.cs文件用来设置项目运行时的主窗体。2、属性:1、Name属性在指示代码中用来标识该对象的名称。2、Text属性用来表示与控件关联的文本。3、Visible属性用来确定该控件时可见的还是隐藏的。4、Enabled属性用来指示是否启用该控件5、Tag属性表示与对象关联的用户定义数据。事件:1、Load事件在窗体加载时被触发。2、Click事件在单击控件时发生。3、MouseEnter事件在鼠标进入控件的可见部分时发生。4、MouseLeave事件在鼠标离开控件的可见部分时发生。5、FontChanged事件在控件的Font属性值更改时引发的事件。六、编程题1、运行效果图弹出消息框显示“用户名或密码不能为空!”弹出消息框显示“用户名或密码不正确!”弹出消息框显示“登陆成功!”参考逻辑代码publicpartialclassFormLogin:Form{publicFormLogin(){InitializeComponent();}privatevoidbtnLogin_Click(objectsender,EventArgse){stringname=txtName.Text;stringpassword=txtPassword.Text;if(string.IsNullOrEmpty(name)||string.IsNullOrEmpty(password)){MessageBox.Show("用户名或密码不能为空!");}elseif(txtName.Text=="user"&&txtPassword.Text=="itcast"){MessageBox.Show("登陆成功!");}else{MessageBox.Show("用户名或者密码不正确!");}}}2、运行效果图显示湖北省下的三个市参考逻辑代码publicpartialclassFormCity:Form{publicFormCity(){InitializeComponent();}privatevoidForm5_Load(objectsender,EventArgse){cmbProvince.Items.AddRange(newstring[]{"河北省","湖北省"});cmbProvince.SelectedIndex=0;}privatevoidcmbProvince_SelectedIndexChanged(objectsender,EventArgse){cmbCity.Items.Clear();if(cmbProvince.SelectedIndex==0){cmbCity.Tag="0";cmbCity.Items.AddRange(newstring[]{"唐山市","石家庄市","邯郸市"});cmbCity.SelectedIndex=0;}if(cmbProvince.SelectedIndex==1){cmbCity.Tag="1";cmbCity.Items.AddRange(newstring[]{"武汉市","荆州市","十堰市"});cmbCity.SelectedIndex=0;}}}第7章C#常用类一、填空题
//定义内层循环
for(intj=0;j{if(arr[j]>arr[j+1])//比较相邻元素{//下面的三行代码用于交换两个元素inttemp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}}}}第4章面向对象基础一、填空题1、封装、继承、多态2、new3、成员变量、局部变量4、类5、静态的6、模板7、静态方法类名.方法名8、内部类9、字段private10、对象初始化器二、判断题1、对2、对3、错4、对5、错三、选择题1、B2、D3、B4、ABC5、ABCD6、ACD7、ABCD8、ABCD9、D10、D四、程序分析题1、程序不能编译通过,因为在类A中的成员变量secret用private修饰,所以在类Test1中无法访问。2、程序不能编译通过,因为在静态方法method()中不能访问非静态成员变量x。3、程序能够编译通过,运行的结果为“inner”。五、简答题1、构造方法是类的一个特殊成员,它会在类实例化对象时被自动调用。而普通方法只有在使用的时候才会被调用。在定义构造方法时要求方法名与类名相同、在方法名的前面没有返回值类型的声明、在方法中不能使用return语句返回一个值。2、面向对象的三大特性:封装、继承、多态。封装是将对象的特性和行为封装起来,不需要外界只具体的实现细节,使用时直接调用即可。继承主要用来描述类与类之间的关系,通过继承可以复用已有的代码并在此基础上进行扩展。多态是指同一操作用于不同对象,会产生不同的执行结果。六、编程题1、参考答案classStudent{privateStringname;privatedoublegrade;publicStudent(){}publicStudent(Stringname,doublegrade){this.name=name;this.grade=grade;}publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicdoublegetGrade(){returngrade;}publicvoidsetGrade(doublegrade){this.grade=grade;}}publicclassTest01{publicstaticvoidmain(String[]args){Studentstu1=newStudent();stu1.setName("zhangsan");stu1.setGrade(99);Studentstu2=newStudent("lisi",100);}}2、参考答案classSingleExample{privatestaticSingleExampleinstance;privateSingleExample(){}//无参构造方法publicstaticSingleExampleMethod(){if(instance==null){Instance=newSingleExample();}}}第5章面向对象高级一、填空题1、继承2、抽象方法、抽象类3、using4、派生类或子类5、base6、sealed7、new8、Object9、try、catch10、virtual、override二、判断题1、错2、对3、错4、对5、对三、选择题1、B2、C3、ABD4、ABCD5、C6、AC7、C8、ACD9、A10、B四、分析题1、不能编译通过,由于Dog和Cat类没有继承关系。无法将cat()隐式转换为Dog()类型。2、不能编译通过,Dog类中的shout()方式是密封的,在BlackDog类中不能重写该方法。3、程序能够编译通过。4、编译不能通过,因为Dog类中没有实现Animal接口中的全部方法。五、简答题1、方法重写是:当子类继承父类中的方法时,父类方法的功能不能满足子类的需求,通过重写父类的方法可以增加或修改相应的功能。实现方法重写的条件是:要求子类的方法名、参数类型和参数个数必须与父类方法相同,而且父类方法必须使用virtual关键字修饰,子类方法必须使用override关键字修2、多态就是不属于同一个类的多个对象调用相同方法,产生的结果不同。实现多态有三种方式:方法,抽象类,接口。3、抽象类使用abstract关键字,抽象类中可以有抽象方法,也可以有非抽象方法。接口使用interface关键字,接口中所有的方法都是抽象方法。六、编程题1、参考答案classProgram{staticvoidMain(string[]args){Studentstudent=newStudent("小明",18);Undergraduatedegree=newUndergraduate("小刚",28,"学士");student.Show();degree.Show();Console.ReadKey();}}classStudent{publicstringName{get;set;}publicintAge{get;set;}publicStudent(stringname,intage){this.Name=name;this.Age=age;}publicvoidShow(){Console.WriteLine("姓名:{0}年龄:{1}",Name,Age);}}classUndergraduate:Student{publicstringDegree{get;set;}//调用父类的构造方法publicUndergraduate(stringname,intage,stringdegree):base(name,age){this.Name=name;this.Age=age;this.Degree=degree;}publicnewvoidShow(){Console.WriteLine("姓名:{0}年龄:{1}学位:{2}",Name,Age,Degree);}}2、参考答案classProgram{staticvoidMain(string[]args){Squaresquare=newSquare();Circlecircle=newCircle();Console.WriteLine("正方形的面积为:{0}",square.Area(2));Console.WriteLine("圆形的面积为:{0}",circle.Area(3));Console.ReadKey();}}//定义一个接口interfaceShape{doubleArea(doublex);//定义一个实现计算面积的抽象方法}//实现接口ShapeclassSquare:Shape{//计算正方形的面积publicdoubleArea(doublex){returnx*x;}}classCircle:Shape{//计算圆形的面积publicdoubleArea(doublex){returnMath.PI*x*x;}}第6章WinForm基础一、填空题1、Form1[设计]、Form1.cs2、SelectedItem3、Run()4、控制Tick事件触发的频率5、Form1.Designer.cs6、Form1.resx7、Program.cs8、Control9、Load10、ExpandAll()二、判断题1、对2、对3、对4、对5、对三、选择题1、D2、D3、B4、C5、A6、A7、D8、B9、B10、A四、程序分析题一、1、btnSecond.Visible=false;2、btnSecond.Visible=true;btnFirst.Visible=false;3、btnSecond.Visible=false;btnFirst.Visible=true;二、1、string[]musics={"真的爱你","无悔这一生"};for(inti=0;i{cmbShow.Items.Add(musics[i]);}2、cmbShow.SelectedIndex=0;3、!string.IsNullOrEmpty(txtName.Text)4、cmbShow.Items.Add(txtName.Text);5、cmbShow.SelectedIndex=cmbShow.Items.Count-1;6、txtName.Text="";7、MessageBox.Show("请输入歌曲的名字!");五、简答题 1、WinForm项目的文件结构包括五个部分,分别是Properties、引用、App.config、Form1.cs、Program.cs,其中Properties用来设置项目的属性,引用用来设置对其他项目命名空间的引用,App.config用来设置数据库的配置信息,Form1.cs文件用来设置窗体界面以及编写逻辑代码,Program.cs文件用来设置项目运行时的主窗体。2、属性:1、Name属性在指示代码中用来标识该对象的名称。2、Text属性用来表示与控件关联的文本。3、Visible属性用来确定该控件时可见的还是隐藏的。4、Enabled属性用来指示是否启用该控件5、Tag属性表示与对象关联的用户定义数据。事件:1、Load事件在窗体加载时被触发。2、Click事件在单击控件时发生。3、MouseEnter事件在鼠标进入控件的可见部分时发生。4、MouseLeave事件在鼠标离开控件的可见部分时发生。5、FontChanged事件在控件的Font属性值更改时引发的事件。六、编程题1、运行效果图弹出消息框显示“用户名或密码不能为空!”弹出消息框显示“用户名或密码不正确!”弹出消息框显示“登陆成功!”参考逻辑代码publicpartialclassFormLogin:Form{publicFormLogin(){InitializeComponent();}privatevoidbtnLogin_Click(objectsender,EventArgse){stringname=txtName.Text;stringpassword=txtPassword.Text;if(string.IsNullOrEmpty(name)||string.IsNullOrEmpty(password)){MessageBox.Show("用户名或密码不能为空!");}elseif(txtName.Text=="user"&&txtPassword.Text=="itcast"){MessageBox.Show("登陆成功!");}else{MessageBox.Show("用户名或者密码不正确!");}}}2、运行效果图显示湖北省下的三个市参考逻辑代码publicpartialclassFormCity:Form{publicFormCity(){InitializeComponent();}privatevoidForm5_Load(objectsender,EventArgse){cmbProvince.Items.AddRange(newstring[]{"河北省","湖北省"});cmbProvince.SelectedIndex=0;}privatevoidcmbProvince_SelectedIndexChanged(objectsender,EventArgse){cmbCity.Items.Clear();if(cmbProvince.SelectedIndex==0){cmbCity.Tag="0";cmbCity.Items.AddRange(newstring[]{"唐山市","石家庄市","邯郸市"});cmbCity.SelectedIndex=0;}if(cmbProvince.SelectedIndex==1){cmbCity.Tag="1";cmbCity.Items.AddRange(newstring[]{"武汉市","荆州市","十堰市"});cmbCity.SelectedIndex=0;}}}第7章C#常用类一、填空题
if(arr[j]>arr[j+1])//比较相邻元素
//下面的三行代码用于交换两个元素
inttemp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
第4章面向对象基础
1、封装、继承、多态
2、new
3、成员变量、局部变量
4、类
5、静态的
6、模板
7、静态方法类名.方法名
8、内部类
9、字段private
10、对象初始化器
1、对2、对3、错4、对5、错
1、B2、D3、B4、ABC5、ABCD6、ACD7、ABCD8、ABCD9、D10、D
1、程序不能编译通过,因为在类A中的成员变量secret用private修饰,所以在类Test1中无法访问。
2、程序不能编译通过,因为在静态方法method()中不能访问非静态成员变量x。
3、程序能够编译通过,运行的结果为“inner”。
1、构造方法是类的一个特殊成员,它会在类实例化对象时被自动调用。
而普通方法只有在使用的时候才会被调用。
在定义构造方法时要求方法名与类名相同、在方法名的前面没有返回值类型的声明、在方法中不能使用return语句返回一个值。
2、面向对象的三大特性:
封装、继承、多态。
封装是将对象的特性和行为封装起来,不需要外界只具体的实现细节,使用时直接调用即可。
继承主要用来描述类与类之间的关系,通过继承可以复用已有的代码并在此基础上进行扩展。
多态是指同一操作用于不同对象,会产生不同的执行结果。
classStudent
privateStringname;
privatedoublegrade;
publicStudent()
publicStudent(Stringname,doublegrade){
this.name=name;
this.grade=grade;
publicStringgetName()
returnname;
publicvoidsetName(Stringname)
publicdoublegetGrade()
returngrade;
publicvoidsetGrade(doublegrade)
publicstaticvoidmain(String[]args)
Studentstu1=newStudent();
stu1.setName("zhangsan");
stu1.setGrade(99);
Studentstu2=newStudent("lisi",100);
classSingleExample
privatestaticSingleExampleinstance;
privateSingleExample(){}//无参构造方法
publicstaticSingleExampleMethod()
if(instance==null)
Instance=newSingleExample();
第5章面向对象高级
1、继承
2、抽象方法、抽象类
3、using
4、派生类或子类
5、base
6、sealed
7、new
8、Object
9、try、catch
10、virtual、override
1、错2、对3、错4、对5、对
1、B2、C3、ABD4、ABCD5、C6、AC7、C8、ACD9、A10、B
四、分析题
1、不能编译通过,由于Dog和Cat类没有继承关系。
无法将cat()隐式转换为Dog()类型。
2、不能编译通过,Dog类中的shout()方式是密封的,在BlackDog类中不能重写该方法。
3、程序能够编译通过。
4、编译不能通过,因为Dog类中没有实现Animal接口中的全部方法。
1、方法重写是:
当子类继承父类中的方法时,父类方法的功能不能满足子类的需求,通过重写父类的方法可以增加或修改相应的功能。
实现方法重写的条件是:
要求子类的方法名、参数类型和参数个数必须与父类方法相同,而且父类方法必须使用virtual关键字修饰,子类方法必须使用override关键字修
2、多态就是不属于同一个类的多个对象调用相同方法,产生的结果不同。
实现多态有三种方式:
方法,抽象类,接口。
3、抽象类使用abstract关键字,抽象类中可以有抽象方法,也可以有非抽象方法。
接口使用interface关键字,接口中所有的方法都是抽象方法。
Studentstudent=newStudent("小明",18);
Undergraduatedegree=newUndergraduate("小刚",28,"学士");
student.Show();
degree.Show();
publicstringName
get;
set;
publicintAge
publicStudent(stringname,intage)
this.Name=name;
this.Age=age;
publicvoidShow()
Console.WriteLine("姓名:
{0}年龄:
{1}",Name,Age);
classUndergraduate:
Student
publicstringDegree
//调用父类的构造方法
publicUndergraduate(stringname,intage,stringdegree):
base(name,age)
this.Degree=degree;
publicnewvoidShow()
{1}学位:
{2}",Name,Age,Degree);
Squaresquare=newSquare();
Circlecircle=newCircle();
Console.WriteLine("正方形的面积为:
{0}",square.Area
(2));
Console.WriteLine("圆形的面积为:
{0}",circle.Area(3));
//定义一个接口
interfaceShape
doubleArea(doublex);//定义一个实现计算面积的抽象方法
//实现接口Shape
classSquare:
Shape
//计算正方形的面积
publicdoubleArea(doublex)
returnx*x;
classCircle:
//计算圆形的面积
returnMath.PI*x*x;
第6章WinForm基础
1、Form1[设计]、Form1.cs
2、SelectedItem
3、Run()
4、控制Tick事件触发的频率
5、Form1.Designer.cs
6、Form1.resx
7、Program.cs
8、Control
9、Load
10、ExpandAll()
1、对2、对3、对4、对5、对
1、D2、D3、B4、C5、A6、A7、D8、B9、B10、A
一、
1、btnSecond.Visible=false;
2、btnSecond.Visible=true;
btnFirst.Visible=false;
3、btnSecond.Visible=false;
btnFirst.Visible=true;
二、
1、string[]musics={"真的爱你","无悔这一生"};
for(inti=0;i{cmbShow.Items.Add(musics[i]);}2、cmbShow.SelectedIndex=0;3、!string.IsNullOrEmpty(txtName.Text)4、cmbShow.Items.Add(txtName.Text);5、cmbShow.SelectedIndex=cmbShow.Items.Count-1;6、txtName.Text="";7、MessageBox.Show("请输入歌曲的名字!");五、简答题 1、WinForm项目的文件结构包括五个部分,分别是Properties、引用、App.config、Form1.cs、Program.cs,其中Properties用来设置项目的属性,引用用来设置对其他项目命名空间的引用,App.config用来设置数据库的配置信息,Form1.cs文件用来设置窗体界面以及编写逻辑代码,Program.cs文件用来设置项目运行时的主窗体。2、属性:1、Name属性在指示代码中用来标识该对象的名称。2、Text属性用来表示与控件关联的文本。3、Visible属性用来确定该控件时可见的还是隐藏的。4、Enabled属性用来指示是否启用该控件5、Tag属性表示与对象关联的用户定义数据。事件:1、Load事件在窗体加载时被触发。2、Click事件在单击控件时发生。3、MouseEnter事件在鼠标进入控件的可见部分时发生。4、MouseLeave事件在鼠标离开控件的可见部分时发生。5、FontChanged事件在控件的Font属性值更改时引发的事件。六、编程题1、运行效果图弹出消息框显示“用户名或密码不能为空!”弹出消息框显示“用户名或密码不正确!”弹出消息框显示“登陆成功!”参考逻辑代码publicpartialclassFormLogin:Form{publicFormLogin(){InitializeComponent();}privatevoidbtnLogin_Click(objectsender,EventArgse){stringname=txtName.Text;stringpassword=txtPassword.Text;if(string.IsNullOrEmpty(name)||string.IsNullOrEmpty(password)){MessageBox.Show("用户名或密码不能为空!");}elseif(txtName.Text=="user"&&txtPassword.Text=="itcast"){MessageBox.Show("登陆成功!");}else{MessageBox.Show("用户名或者密码不正确!");}}}2、运行效果图显示湖北省下的三个市参考逻辑代码publicpartialclassFormCity:Form{publicFormCity(){InitializeComponent();}privatevoidForm5_Load(objectsender,EventArgse){cmbProvince.Items.AddRange(newstring[]{"河北省","湖北省"});cmbProvince.SelectedIndex=0;}privatevoidcmbProvince_SelectedIndexChanged(objectsender,EventArgse){cmbCity.Items.Clear();if(cmbProvince.SelectedIndex==0){cmbCity.Tag="0";cmbCity.Items.AddRange(newstring[]{"唐山市","石家庄市","邯郸市"});cmbCity.SelectedIndex=0;}if(cmbProvince.SelectedIndex==1){cmbCity.Tag="1";cmbCity.Items.AddRange(newstring[]{"武汉市","荆州市","十堰市"});cmbCity.SelectedIndex=0;}}}第7章C#常用类一、填空题
cmbShow.Items.Add(musics[i]);
2、cmbShow.SelectedIndex=0;
3、!
string.IsNullOrEmpty(txtName.Text)
4、cmbShow.Items.Add(txtName.Text);
5、cmbShow.SelectedIndex=cmbShow.Items.Count-1;
6、txtName.Text="";
7、MessageBox.Show("请输入歌曲的名字!
1、WinForm项目的文件结构包括五个部分,分别是Properties、引用、App.config、Form1.cs、Program.cs,其中Properties用来设置项目的属性,引用用来设置对其他项目命名空间的引用,App.config用来设置数据库的配置信息,Form1.cs文件用来设置窗体界面以及编写逻辑代码,Program.cs文件用来设置项目运行时的主窗体。
2、属性:
1、Name属性在指示代码中用来标识该对象的名称。
2、Text属性用来表示与控件关联的文本。
3、Visible属性用来确定该控件时可见的还是隐藏的。
4、Enabled属性用来指示是否启用该控件
5、Tag属性表示与对象关联的用户定义数据。
事件:
1、Load事件在窗体加载时被触发。
2、Click事件在单击控件时发生。
3、MouseEnter事件在鼠标进入控件的可见部分时发生。
4、MouseLeave事件在鼠标离开控件的可见部分时发生。
5、FontChanged事件在控件的Font属性值更改时引发的事件。
1、运行效果图
弹出消息框显示“用户名或密码不能为空!
”
弹出消息框显示“用户名或密码不正确!
弹出消息框显示“登陆成功!
参考逻辑代码
publicpartialclassFormLogin:
Form
publicFormLogin()
InitializeComponent();
privatevoidbtnLogin_Click(objectsender,EventArgse)
stringname=txtName.Text;
stringpassword=txtPassword.Text;
if(string.IsNullOrEmpty(name)||string.IsNullOrEmpty(password))
MessageBox.Show("用户名或密码不能为空!
elseif(txtName.Text=="user"&&txtPassword.Text=="itcast")
MessageBox.Show("登陆成功!
MessageBox.Show("用户名或者密码不正确!
2、运行效果图
显示湖北省下的三个市
publicpartialclassFormCity:
publicFormCity()
privatevoidForm5_Load(objectsender,EventArgse)
cmbProvince.Items.AddRange(newstring[]{"河北省","湖北省"});
cmbProvince.SelectedIndex=0;
privatevoidcmbProvince_SelectedIndexChanged(objectsender,EventArgse)
cmbCity.Items.Clear();
if(cmbProvince.SelectedIndex==0)
cmbCity.Tag="0";
cmbCity.Items.AddRange(newstring[]{"唐山市","石家庄市","邯郸市"});
cmbCity.SelectedIndex=0;
if(cmbProvince.SelectedIndex==1)
cmbCity.Tag="1";
cmbCity.Items.AddRange(newstring[]{"武汉市","荆州市","十堰市"});
第7章C#常用类
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1