




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
会计学1C结构化程序设计计任何程序都是由顺序、选择、循环三种基本控制结构进行构造。2C#程序设计实用教程第1页/共74页2.1顺序结构
2.1.1顺序结构的概念:
有些简单的程序是按程序语句的编写顺序依次执行的,这种结构称为顺序结构。第2页/共74页任务1:情境2-1欢迎软件第3页/共74页Label控件称为标签,它是最简单又最常用的控件,用来显示信息。
常用属性
Text属性:设置控件的文本内容:
label1.Text=”姓名”;
AutoSize属性:设置控件是否能够自动调整大小:label1.AutoSize=true;
Location属性:设置控件在容器中的位置。
label1.Location=newPoint(100,200);Size属性:设置控件的大小:
label1.Size=newSystem.Drawing.Size(20,30);BackColor属性:设置控件的背景颜色。label1.BackColor=System.Drawing.Color.Red;
ForeColor属性:设置控件的前景颜色。BorderStyle属性:设置控件的边框风格。
Font属性:设置字体。Cursor属性:设置鼠标光标在控件上的形状。2.1.1标签Label第4页/共74页任务2:文档编辑小程序2.1.2文本框TextBox第5页/共74页3、TextBox控件称为文本框,主要用来接受用户的输入,当然也可以用于输出信息。
常用属性
Multiline属性:设置文本框是否可以多行显示或输入。例如:textBox1.Multiline=true;ScrollBars属性:设置文本框的滚动条。
None:无滚动条。
Vertical:有垂直滚动条。
Horizontal:有水平滚动条。
Both:两者都有。ReadOnly属性:设置文本框是否只读。例如:textBox1.ReadOnly=true;2.1.2文本框TextBox第6页/共74页3、TextBox常用属性
PasswordChar属性:设置在文本框中输入口令时的掩盖字符。例如:textBox1.PasswordChar=’*’;SelectionLength属性:设置或获取文本框中选择文本的字符个数。使用语法如下:Object.SelectionLength=n; //使文本框从头开始选中n个字符intn=Object.SelectionLength;//获取文本框中选中的字符个数例如:if(textBox1.SelectionLengt>0)……SelectedText属性:获取文本框中选择的字符串举例如下:label1.Text=textBox1.SelectedText;SelectionStart:选择的起始位置(光标位置)2.1.2文本框TextBox第7页/共74页3、TextBox常用方法Clear()方法:从文本框中清除所有文本。以下两行程序代码是等效的:
textBox1.Clear();textBox1.Text=””;Copy()方法:将文本框中选定的内容复制到剪贴板中。例如:textBox1.Copy();Cut()方法:将文本框中选定的内容剪切到剪贴板中。例如:
textBox1.Cut();Paste()方法:用剪贴板中的内容替换文本框中当前选定的内容。例如:
textBox1.Paste();Select()方法:选定文本框的一部分文字。语法格式为:
textBox1.Select(intstart,intLength);2.1.2文本框TextBox第8页/共74页3、TextBox常用方法SelectAll()方法:选定文本框的全部文字。例如:
textBox1.SelectAll();Focus()方法:将输入焦点置于文本框内。例如:
textBox1.Focus();Undo()方法:撤消在文本框中的上一次编辑操作。例如:
textBoxEdit.Undo();2.1.2文本框TextBox第9页/共74页任务3:小学生10以内加法练习软件第10页/共74页常用属性
Image属性:设置命令按钮上显示的图片。Enabled属性:设置命令按钮的可用性使用语法如下:
Object.Enabled=true(或false);常用事件常用的只有click,单击鼠标左键时发生2.1.3按钮Button第11页/共74页Parse()方法:
主要用于将数字的字符串表示形式转换为它的等效的其他基本数值类型。例:strings=“18”;inta=int.Parse(s)-10;//a=8intb=a+int.Parse(Console.ReadLine());
strings="13.3";
doubled=double.Parse(s);2.1.4字符串与数值类型的转换第12页/共74页Convert类:Conver.静态方法名(字符串)例如:strings="13";int
a=Convert.ToInt32(s);doubled=Convert.ToDouble(s);要转换成的数据类型2.1.4字符串与数值类型的转换第13页/共74页其他类型转换成字符串类型ToString()方法doubleradius=2.67;strings;s=radius.ToString():2.1.4字符串与数值类型的转换第14页/共74页提示:用Random类产生一个随机数对象,然后是用该对象的Next方法生成一个整型随机数。
Randomrn=newRandom();intx=rn.Next(100);任务3:小学生10以内加法练习软件rn.Next():产生随机整数rn.Next(100);产生0~100之间的随机整数rn.Next(100,200);产生100~200之间的随机数rn.NextDouble();产生0.0~1.0之间的随机数第15页/共74页选择结构,是一种常用的主要基本结构,是计算机根据所给定选择条件为真或否,而决定从各实际可能的不同操作分支中执行某一分支的相应操作。2.2选择结构的概念第16页/共74页if语句一般用于简单选择,即选择项中有一个或两个分支。格式为:
if(布尔条件表达式){
语句块1;}else{
语句块2;}2.2.1单分支选择结构(if语句)必须是布尔类型的可以是单语句,也可以是多语句可以省略第17页/共74页2.用if语句实现多分支选择结构
[格式]:if(表达式1){语句块1;}elseif(表达式2){语句块2;}elseif(表达式3){语句块3;}
……else{语句块n;}第18页/共74页2.2.2switch结构C#中的switch语句switch(int/char/string表达式){case常量表达式1:
语句1;
break;//必须有
case常量表达式2:
语句2;
break;//必须有
……default:
语句n;
break;//必须有}C#第19页/共74页C#中的switch结构小结条件判断的表达式类型
——整型或字符型或字符串break语句的要求:每个case都有breakdefault也要有break特殊情况://示例6中的代码stringtime;…switch(time){case6:case7:case8:case9:case10:Console.WriteLine("上午好");
break;//…default:Console.WriteLine("休息时间");
break;}case中没有其他语句时,不需要break语句第20页/共74页任务4:水果价格第21页/共74页任务5:设计Windows应用程序,单击【计算】按钮,根据对单选按钮的选择,计算加、减、乘、除中的一种运算。
结果如图:第22页/共74页1、单选按钮(RadioButton)
单选按钮也叫选项按钮,为用户提供从多个选项中选择一个选项的功能,因此单选按钮顾名思义是一种“多选一”的控件。常用属性
Checked属性:设置和获取控件的选中状态。使用的语法为:object.Checked=true;//使控件被选中例如:if(radioButton1.Checked==true)
……Text属性:圆圈旁边的指示性文字2.2.3使用单选按钮与复选框控件第23页/共74页任务6:设计Windows应用程序,单击【计算】按钮,根据对复选框的选择,计算加、减、乘、除运算。2.2.3使用单选按钮与复选框控件第24页/共74页2、复选按钮(CheckBox)
可以在窗口同时选中多个复选框,这是其和单选按钮的区别。
检查框与单选钮共享大多数的常用属性、方法和事件。2.2.3使用单选按钮与复选框控件第25页/共74页
分组框的作用是将一些控件捆绑成一个组,使用户界面清晰明了。设计控件时,要先将GroupBox控件拖入窗体内,然后再向框内加入其他控件。GroupBox控件一般只修改其Text属性,Text是框头的提示性文字。
2.2.4使用分组框控件(GroupBox)第26页/共74页任务7:设计一个以0.1秒为单位的秒表,单击【开始】按钮开始计时,单击【停止】按钮停止计时。第27页/共74页Timer控件称计时器,它用来计时。
常用属性
Enabled属性:设置计时器的可用性例如:timer1.Enabled=true;
Interval属性:设定计时器的时间间隔,单位为毫秒例如:timer1.Interval=1000;常用的事件Timer控件的事件只有一个Tick,它在指定的时间间隔发生
2.2.5Timer控件
第28页/共74页【开始】按钮的Click事件代码为:privatevoidbtnStart_Click(objectsender,EventArgse){txtSeconds.Text="0";tmrWatch.Enabled=true;}【停止】按钮的Click事件代码为:privatevoidbtnStop_Click(objectsender,EventArgse){tmrWatch.Enabled=false;}第29页/共74页计时器控件tmrWatch的Tick事件代码为:privatevoidtmrWatch_Tick(objectsender,EventArgse){
txtSeconds.Text=(double.Parse(txtSeconds.Text)+0.1)+"";}第30页/共74页任务8:移动的文字Pointp;private
voidForm1_Load(objectsender,EventArgse){timer1.Enabled=true;p=label1.Location;}
private
voidtimer1_Tick(objectsender,EventArgse){p.X+=19;
if(p.X>this.Width)p.X=0;label1.Location=p;}第31页/共74页任务9:电子相册制作一个照片自动展示程序,程序启动后将循环显示照片,每张照片在屏幕上停留0.5秒。当用户单击照片时将显示一个提示框,询问用户是否停止展示,如果用户回答“是”将停止展示,回答“否”将接着展示。第32页/共74页1、图片框控件PictureBox
图片框控件PictureBox用来在窗体上显示一个图片。常用属性
Image属性:用来指定图片源。单击浏览按钮。设置该属性常用以下两种方式:
设计时单击Image属性。通过Image.FromFile方法直接从文件中加载。形式如下:pictureBox对象名.Image=Image.FromFile(图像文件名);2.2.6PictureBox控件的使用第33页/共74页常用属性
SizeMode属性:设置图片框的尺寸模式,默认值为Normal。Value的取值如表3-2所示。值含
义Normal正常模式。图片显示在控件的左上角,若图片比控件大,只显示图片的左上部分,其余部分被剪裁掉StretchImage伸缩模式。控件中的图片被收缩或拉伸,以适应控件的大小AutoSize自动大小模式。控件能自动调整大小以适应图片的尺寸CenterImage居中模式。如果图片比控件小,图片显示于控件的中心,如果图片比控件大,只显示图片的中心部分,边缘部分被剪裁掉第34页/共74页常用属性
Enabled属性:设置控件的可用性。使用语法为:Object.Enabled=true(或false);
Visible属性:设置控件的可见性。使用语法为:
Object.Enabled=true(或false);图片框的BorderStyle属性可设置其边框样式:值None表示没有边框;FixedSingle表示单线边框;Fixed3D表示立体边框。第35页/共74页
循环是指在指定的条件下多次重复执行一组语句。被重复执行的一组语句称为循环体。
2.3循环结构概念第36页/共74页2.3循环结构概念C#中提供了4种循环语句:while循环do…while循环
for循环foreach循环第37页/共74页2.3.1
while循环语句[格式]:
while(条件表达式){
循环体;
}不要加“;”第38页/共74页2.3.1do……while循环语句
[格式]:
do{
循环体;
}
while(条件表达式);必须有“;”第39页/共74页2.3.1for循环语句
for循环常常用于已知循环次数的情况。
语法格式:
for(初始化表达式;循环条件;迭代表达式){
循环语句序列;}①③④②第40页/共74页
2.3.1foreach循环结构foreach循环一般用于遍历整个集合或数组foreach(元素类型
变量名
in集合或者数组名){//语句}例5-15:输入一个字符串,输出其中的每个字符第41页/共74页
关键代码分析staticvoidMain(string[
]args){Console.WriteLine("请输入一个字符串:");//输入提示//从控制台读入字符串stringline=Console.ReadLine();//循环输出字符串中的字符foreach(charcinline){
Console.WriteLine(c);}Console.ReadLine();}依次循环字符串中的每个字符第42页/共74页任务:10:实现如下效果:第43页/共74页1、列表框(ListBox)
ListBox控件为用户提供了选项的列表,用户可以从列表中进行选择输入。如果项目数目超过列表框可显示的数目,控件上将自动出现滚动条,它是一种规范输入的好工具。1、列表框(ListBox)的常用属性DataSource属性:列表框获取列表项的数据源。
Items属性:列表框中的各项。例如:listBox1.Items.Add(“北京”);
MultiColumn属性:设置列表框是否可以多列显示。例如:listBox1.MultiColumn=true2.3.2列表框和组合框第44页/共74页
SelectedIndex属性:列表框中第一个选定项的索引号。属性值为int类型,从0开始,未选中任何项时为-1。例如:intn=listBox1.SelectedIndex;//获取选择项的索引号
if(listBox1.SelectedIndex==-1)//表示列表框listBox1中若无选择项时该如何处理
……SelectedItem属性:列表框中的选定项。例如语句:textBox1.Text=listBox1.SelectedItem.ToString();
Text属性:列表框中选定项的文本。于是:listBox1.SelectedItem.ToString()与listBox1.Text等价。2.3.2列表框和组合框第45页/共74页2、列表框(ListBox)的常用事件DoubleClick事件:双击控件时发生。SelectedIndexChange事件:列表框中选择项的索引号变化时发生。2.3.2列表框和组合框第46页/共74页3、Items集合的常用方法和属性
Add方法:向Items添加列表项。例如:listBox2.Items.Add(listBox1.Text);Remove方法:从Items移除指定对象
RemoveAt方法:从Items移除指定索引号的某项。例如:listBox1.Items.RemoveAt(listBox1.1);Insert方法:向Items插入列表项到指定索引处。例如:listBox1.Items.Insert(2,"南京");Clear方法:从Items移除所有列表项例如:listBox1.Items.Clear();Count属性:Items的项数。例如:for(inti=0;i<listBox1.Items.Count;i++)2.3.2列表框和组合框第47页/共74页参考程序:
privatevoidtbtnRight_Click(objectsender,EventArgse){if(lstLeft.SelectedIndex!=-1){lstRight.Items.Add(lstLeft.SelectedItem);lstBottom.Items.Add(lstLeft.SelectedItem.ToString()+"被移至右侧");lstLeft.Items.Remove(lstLeft.SelectedItem);}}第48页/共74页参考程序:
privatevoidbbtnLeft_Click(objectsender,EventArgse){if(lstRight.SelectedItems.Count==0){return;}else{lstLeft.Items.Add(lstRight.SelectedItem);lstBottom.Items.Add(lstRight.SelectedItem.ToString()+"被移至左侧");lstRight.Items.RemoveAt(lstRight.SelectedIndex);}}第49页/共74页参考程序:
privatevoidbtnRightAll_Click(objectsender,EventArgse){for(inti=0;i<lstLeft.Items.Count;i++){lstLeft.SelectedIndex=i;lstRight.Items.Add(lstLeft.SelectedItem);}lstBottom.Items.Add("左侧列表项全部被移至右侧");lstLeft.Items.Clear();}第50页/共74页参考程序:privatevoidbtnLeftAll_Click(objectsender,EventArgse){foreach(objectiteminlstRight.Items){lstLeft.Items.Add(item);}lstBottom.Items.Add("右侧列表项全部被移至左侧");lstRight.Items.Clear();}第51页/共74页任务11:实现如下运行效果:第52页/共74页ComboBox控件称为组合框,它是文本框和列表框的组合,既可以接受用户的输入,也可以接受用户的选择。2、组合框第53页/共74页1、常用属性DropDownStyle属性:控制组合框的外观。Object.DropDownStyle=System.Windows.Forms.ComboBoxStyle.Value;DropDownStyle属性的取值Value由ComboBoxStyle枚举量确定,如表所示。2、组合框(ComboBox)值含
义Simpie控件的列表框部分总是可见的,且用户可以编辑文本框中的文本DropDown控件的列表框部分是隐藏的,且用户可以编辑文本框中的文本。默认风格DropDownList控件的列表框部分是隐藏的,且用户不可以编辑文本框中的文本第54页/共74页2、常用事件DropDown事件:展开下拉列表时发生。SelectedIndexChanged事件:组合框中选择项的索引号变化时发生。TextChanged事件:组合框中的文本变化时发生。
第55页/共74页主要程序:privatevoidcboCountry_SelectedIndexChanged_1(objectsender,EventArgse){switch(cboCountry.SelectedIndex){case0:{cboCity.Items.Clear();cboCity.Items.Add("北京");cboCity.Items.Add("上海");cboCity.Items.Add("天津");cboCity.SelectedIndex=0;}break;case1:{cboCity.Items.Clear();cboCity.Items.Add("华盛顿");cboCity.Items.Add("纽约");cboCity.Items.Add("芝加哥");cboCity.SelectedIndex=0;}break;case2:{cboCity.Items.Clear();cboCity.Items.Add("伦敦");cboCity.Items.Add("曼彻斯特");cboCity.Items.Add("考文垂");cboCity.SelectedIndex=0;}break;default:cboCity.Items.Clear();break;}}第56页/共74页2.3.3break和continue语句
在C#中可以用跳转语句来改变程序的执行顺序。在程序中采用跳转语句,可以避免可能出现的死循环。C#中的跳转语句有break语句、continue语句、goto语句和return语句等。1.break语句使用break语句时,将结束循环,执行循环的后续语句。
2.continue语句
continue语句作用是结束本次循环,跳过该语句之后的循环语句,返回到循环的起始处,并根据循环条件决定是否执行下一次循环。第57页/共74页
流程控制进阶在循环结构中,continue和break怎样跳转?for(…){…………
continue;…………}……for(…){…………
break;…………}……跳出循环结构跳到下次循环在循环中会怎样呢?第58页/共74页2.4.1数组的概念
C#的数组是一种数据结构,它包含若干相同类型的变量。包含在数组中的变量,也称为数组元素。在C#中,数组有一维(只有一个下标)或者多维(有多个下标)。对于每一维中,数组中数组元素的个数叫这个维的数组长度。2.4数组第59页/共74页2.4.2一维数组
1.一维数组的定义
格式:数组类型[]数组名;例:int[]a;
string[]arr;
char[]carr;
合法的标识符第60页/共74页
2.动态初始化
格式:
数组名=new数据类型[数组长度];例:a=newint[6];数值类型初始化为0,布尔类型初始化为false,字符串类型初始化为null。也可以将定义和动态初始化写在一起:例:double[]a=newdouble[10];
string[]arr=newstring[3]{“as”,”vb”,”23”};用new关键字可以没有第61页/共74页
3.静态初始化静态初始化数组的格式如下:
数据类型[]数组名={元素1[,元素2...]};
例如:
int[]IntArr={-45,9,29,32,46};char[]StringArr={‘a’,’b’,‘c’,‘d’};只有此唯一格式第62页/共74页4.访问一维数组中的元素使用数组名与下标(索引)可以唯一确定数组中的某个元素,从而实现对该元素的访问。下标从0到数组长度减1。例如:
int[]a=newint[12];a[0]=4;
a[11]=23;
在访问数组元素时,要注意不要使下标越界,例如:
int[]A=newint[5];A[5]=15;//下标越界第63页/共74页
每一个C#的数组都知道自己的长度,数组的长度由Length决定。
inti=a.Length;//i=12
第64页/共74页【任务12】创建一个一维int数组,初始化数组元素并打印。
int[]arr=newint[5];for(inti=0;i<arr.Length;i++)arr[i]=i*i;for(inti=0;i<arr.Length;i++)Console.Write(“arr[i]”+””);
第65页/共74页【任务13】利用Array类的Sort方法将数组按从小到大的顺序输出。
Array.Sort(QueArray);//对数组排序需排序的数组名练习5分钟第66页/共74页任务14定义一个包含12个元素的double类型数组score,保存学生的学习成绩,数组元素值为用户输入,将成绩按从小到大排序,并求平均成绩。第67页/共74页5.foreach循环语句
用foreach循环语句遍历数组:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 地产策划降薪方案(3篇)
- 老街旧房重建方案(3篇)
- DB23-T2943-2021-龙榛果园营建技术规程-黑龙江省
- 分公司属地化管理制度
- 培训学校相关管理制度
- 内部私人会所管理制度
- 出租公司内部管理制度
- 天桥施工安全方案(3篇)
- 全面预算报告管理制度
- 公路施工作业管理制度
- 2024年大学生求职面试技巧培训课件
- 急性出血性结膜炎防治
- 百岁居明百岁居居家养老服务
- 国开(浙江)2024年《个人理财》形考作业1-4答案
- 2024智慧医疗数据字典标准值域代码
- 小升初语文真题试卷(6套)
- 专题03 平面向量(含解析)- 十年(2015-2024)高考真题数学分项汇编(全国用)
- 诊所传染病防治自查报告总结
- 销售业务员培训方案
- 四川省宜宾市翠屏区2024届八下物理期末联考试题及答案解析
- 离散数学智慧树知到期末考试答案章节答案2024年山东理工大学
评论
0/150
提交评论