C语言复习笔记.docx
- 文档编号:6686106
- 上传时间:2023-01-09
- 格式:DOCX
- 页数:33
- 大小:560.20KB
C语言复习笔记.docx
《C语言复习笔记.docx》由会员分享,可在线阅读,更多相关《C语言复习笔记.docx(33页珍藏版)》请在冰豆网上搜索。
C语言复习笔记
这是我复习过程中,结合老师的复习提纲和老师复习课上讲的整理出
来的笔记,参考了网络资源。
我对老师的部分PPT上的代码写了一些相关解释,还有对一
些重点考查知识点,添加了一些例程和对例程的注释,帮助理解老师
复习提纲上的知识点。
有些PPT上已经有的知识点,我完全拷贝到这里来,是因为那些是
重点,打印出来的PPT上看得不清楚,所以我拷贝到Word再打印出来
看。
我写这个笔记,是为了帮我更好的看懂老师的PPT而已。
可能有些研究得深了。
所以仅供参考。
1.NET是微软公司推出的一个全新概念的技术,它代表了一个集合、一个可以作为
平台支持下一代Internet的可编程结构。
2、Name设置控件的名称
Text设置窗体显示的标题
文本框控件(TextBox)
用于接收用户的输入或者显示文本。
常用的事件是TextChanged事件,当框中的内容发生改变时触
发
标签控件(Label)
为控件提供运行时信息或说明性文字,通常用于显示静态文本。
列表框控件(ListBox)
用于显示供用户选择的选项列表,用户可以从中选择一项或多项
SelectedIndexChanged事件和SelectedValueChanged事件。
组合框控件(ComboBox)
结合了文本框控件和列表框控件的功能,同时具有这两类控件的功能
在代码里加以下代码:
privatevoidForm2_Load_1(objectsender,EventArgse)
{
comboBox1.Items.Add("柱子");
comboBox1.Items.Add("柱子aa");
comboBox1.Items.Add("柱子adaaaa");
comboBox1.Items.Add("柱子sssssssssss");
}
运行会出现:
命令按钮控件(Button)
命令按钮控件允许用户通过单击来响应各种操作
常用的事件是Click事件
3、MDI(Multiple-DocumentInterface):
多文档界面,由一个父窗体和多个子窗体组成。
MDI窗体允许同时打开多个子窗
体,是一种能够同时处理两个或两个以上窗体的界面形式。
创建MDI窗体的步骤:
MDI父窗体的创建
MDI子窗体的创建
从父窗体中调用子窗体。
实现方法:
父窗体创建
Form1.IsMdiContainer=True;
调用子窗体
Form2frm=newForm2();
frm.MdiParent=this;
frm.Show();
窗体动作
frm.Show();//打开新窗体
frm.Hide();//隐藏窗体
frm.Activate();//激活已打开的窗体
frm.Close();//关闭窗体
4、静态类和非静态类调用与实例
静态成员是指该成员在统一进程中,不管有多少个该类实例,但该成员只有一份,所有对该成员的访问都是访问同一个成员。
非静态成员依赖于类实例,访问时用实例。
如:
类定义:
publicclassa
{
publicstaticintv1=1;
privateintv2;
publicintV2
{
get
{
returnv2;
}
set
{
v2=value;
}
}
}
访问:
aaa=newa();
//访问非静态成员:
aa.V2=1;
//访问静态成员:
a.v1=1;
静态类:
1:
仅包含静态变量和静态方法。
2:
无法实例化。
3:
不能包含实例构造函数。
4:
是密封的。
非静态类:
1.可以包含非静态成员,也可以包含静态成员。
2.每次实例化都是一个新的对象。
3.可以不显示实例化,因为内部有一个默认的静态构造函数,不可重载,当创建类实例或引用任何静态成员之前,静态构造函数被自动执行,并且只执行一次。
4.也可以通过类名.方法名或变量名访问静态成员
5、String类
常用字符串操作方法
IndexOf报告String或一个或多个字符在此字符串中的第一个匹配项的索引
String.IndexOf(value,startIndex,count)
参数
value:
要查找的Unicode字符。
startIndex:
检查开始位。
count:
要检查的位数。
返回值(Int32):
若是找到该字符,则为value的索引地位;不然若是未找到,则为-1。
示例:
stringstr="深圳市盈基实业有限公司国际通邓事文*深圳市盈基实业有限公司国际通邓事文";
Label1.Text=str.IndexOf("中国").ToString();//返回-1
Label1.Text=str.IndexOf("盈基").ToString();//返回3
Label1.Text=str.IndexOf("盈基",10).ToString();//返回21申明:
这是从第10个字符开端查起。
Label1.Text=str.IndexOf("邓",15,10).ToString();//返回-1
Label1.Text=str.IndexOf("邓",15,20).ToString();//返回-32申明:
从第15个字符开端查找,要查找的局限是从第15个字符开端后20个字符,即从第15-35个字符中查找。
LastIndexOf报告指定的Unicode字符或String在此实例中的最后一个匹配项的索引位置
示例:
stringstr="深圳市盈基实业有限公司国际通邓事文*深圳市盈基实业有限公司国际通邓事文";
Label1.Text=str.LastIndexOf("邓文").ToString();//返回-1
Label1.Text=str.LastIndexOf("邓").ToString();//返回32
Label1.Text=str.LastIndexOf("邓",8).ToString();//返回-1
Label1.Text=str.LastIndexOf("邓",20).ToString();//返回14
Label1.Text=str.LastIndexOf("邓",33).ToString();//返回32
说明:
在指定的局限内查找字符,这个局限是上方的输入的参数,懂得为,从索引0开端到指定的数值地位局限内查找最后一个匹配的的字符串的地位。
示例
中,0-8中没有“邓”字,所以返回-1,0-20局限中,有一个“邓”字在索引14地位上,0-33局限中有两个“邓”字,因为LastIndexOf
是返回最后一个匹配项索引地位,所以返32,而不是14。
Replace将此实例中的指定Unicode字符或String的所有匹配项替换为其他指定的Unicode字符或String
stringstr="Iamastudent,andIlikesport.";
stringstr2=str.Replace("am","was");
Substring从此实例检索子字符串
示例:
stringstr="深圳市盈基实业有限公司国际通邓事文*深圳市盈基实业有限公司国际通邓事文";
Label1.Text=str.Substring(11);//返回“国际通邓事文*深圳市盈基实业有限公司国际通邓事文”
Label1.Text=str.Substring(11,7);//返回“国际通邓事文*”
Substring是字符串截取,返回值是一个截取后的字符串。
ToLower返回此String转换为小写形式的副本
ToUpper返回此String转换为大写形式的副本
stringstr="Iamastudent,andIlikesport.";
textBox1.Text=str.ToUpper()+Environment.NewLine;
textBox1.Text+=str.ToLower();
Trim从此实例的开始位置和末尾移除一组指定字符的所有匹配项
stringstr="Iamastudent,andIlikesport.";
str=str.Trim();
textBox1.Text=str;
String.Trim()方法会去除字符串两端,不仅仅是空格字符,它总共能去除25种字符
6、StringBuilder类
Remove方法
Replace方法
Insert方法
Append方法
AppendLine方法
AppendFormat方法
ToString()方法
StringBuilder用法
String对象是不可改变的。
每次使用System.String类中的方法之一时,都要在内存中创建一
个新的字符串对象,这就需要为该新对象分配新的空间。
在需要对字符串执行重复修改的情况
下,与创建新的String对象相关的系统开销可能会非常昂贵。
如果要修改字符串而不创建新
的对象,则可以使用System.Text.StringBuilder类。
例如,当在一个循环中将许多字符串连接
在一起时,使用StringBuilder类可以提升性能。
C#中StringBuilder用法
首先要引入:
usingsystem.text;否则会出错(找不到类型或命名空间名称“StringBuilder”,是否缺少using指令或程序集引用?
修改StringBuilder字符串
方法名使用
StringBuilder.Append将信息追加到当前StringBuilder的结尾。
StringBuilder.AppendFormat用带格式文本替换字符串中传递的格式说明符。
StringBuilder.Insert将字符串或对象插入到当前StringBuilder对象的指定索引处。
StringBuilder.Remove从当前StringBuilder对象中移除指定数量的字符。
StringBuilder.Replace替换指定索引处的指定字符。
Append
Append方法可用来将文本或对象的字符串表示形式添加到由当前StringBuilder对象表示的字符串的结尾处。
以下示例将一个StringBuilder对象初始化为“HelloWorld”,然后将一些文本追加到该对象的结尾处。
将根据需要自动分配空间。
StringBuilderMyStringBuilder=newStringBuilder("HelloWorld!
");
MyStringBuilder.Append("Whatabeautifulday.");
Console.WriteLine(MyStringBuilder);
此示例将HelloWorld!
Whatabeautifulday.显示到控制台。
AppendFormat
AppendFormat方法将文本添加到StringBuilder的结尾处,而且实现了IFormattable接口,因此可接受格式化部分中描述的标准格式字符串。
可以使用此方法来自定义变量的格式并将这些值追加到StringBuilder的后面。
以下示例使用AppendFormat方法将一个设置为货币值格式的整数值放置到StringBuilder的结尾。
intMyInt=25;
StringBuilderMyStringBuilder=newStringBuilder("Yourtotalis");
MyStringBuilder.AppendFormat("{0:
C}",MyInt);
Console.WriteLine(MyStringBuilder);
此示例将Yourtotalis$25.00显示到控制台。
Insert
Insert方法将字符串或对象添加到当前StringBuilder中的指定位置。
以下示例使用此方法将一个单词插入到StringBuilder的第六个位置。
StringBuilderMyStringBuilder=newStringBuilder("HelloWorld!
");
MyStringBuilder.Insert(6,"Beautiful");
Console.WriteLine(MyStringBuilder);
此示例将HelloBeautifulWorld!
显示到控制台。
Remove
可以使用Remove方法从当前StringBuilder中移除指定数量的字符,移除过程从指定的从零开始的索引处开始。
以下示例使用Remove方法缩短StringBuilder。
StringBuilderMyStringBuilder=newStringBuilder("HelloWorld!
");
MyStringBuilder.Remove(5,7);//从第五位开始,移除7位
Console.WriteLine(MyStringBuilder);
此示例将Hello显示到控制台。
Replace
使用Replace方法,可以用另一个指定的字符来替换StringBuilder对象内的字符。
以下示例使用Replace方法来搜索StringBuilder对象,查找所有的感叹号字符(!
),并用问号字符(?
)来替换它们。
StringBuilderMyStringBuilder=newStringBuilder("HelloWorld!
");
MyStringBuilder.Replace(’!
’,’?
’);
Console.WriteLine(MyStringBuilder);
此示例将HelloWorld?
显示到控制台。
StringBuiler.AppendLine是表示在添加一个字符串之后自动添加一个回车(换行)。
Append是追加在字符串末尾,不换行。
7、文件操作(File类/FileInfo类)
文件读写操作(FileStream类)
文件的写入(StreamWriter类/BinaryWriter类)
PublicvoidWriteText( )
{
StreamWritersw=newStreamWriter("d:
\abc.txt",True);
sw.Write("Itisaexample");
sw.WriteLine("ofStreamWriter");
}
PublicvoidWriteText( )
{
BinaryWriterbw=newBinaryWriter(File.Open("bw.bin",Filemode.Create));
bw.Write("HelloWorld");
bw.Close( );
}
文件的读取(StreamReader类/BinaryReader类)
一个简单的XML文件
xmlversion="1.0"?
>
xml-stylesheettype="text/css"href="style.css"?
>
--这是一个XML文档>
以下我对这两段代码做一些相关解释
从XML读出数据代码示例//textBox1.Text是读出数据源
//XmlTextReader是拉模型,即把应用程序请求的数据拉入该应用程序
XmlTextReaderxr=newXmlTextReader(textBox1.Text);
while(!
xr.EOF)
{
if(xr.MoveToContent()==XmlNodeType.Element&&xr.Name=="xm")
//使用MoveToContent()方法查找类型为XmlNodeType.Element且名称为xm的节点
listBox1.Items.Add(xr.ReadElementString());
else
xr.Read();//其余的继续执行读取
}
xr.Close();
数据写入(向前,不缓存写入)XML代码示例(新建文档)
XmlTextWriterxw=newXmlTextWriter("d:
\\abc.xml",Encoding.UTF8);
//设置Indenting属性让子节点自动从父节点缩进(意思就是设置交叉格式,即XML的格式)
xw.Formatting=Formatting.Indented;
//开始一个新文档
xw.WriteStartDocument();
//开始写入数据(从根元素开始)
xw.WriteStartElement("friends");
//WriteStartElement()和WriteEndElement()这两个方法配合生成嵌套元素,也就是说,这两个方法是用来影响最终生成的XML文件内容的层次关系的,从这一句可以看出,friends元素是根元素,也就是说他下面的元素要缩进。
//以下以子元素形式写入一组
xw.WriteStartElement("friend",null);
//这里又用了WriteStartElement()方法,所以friend相对于他下面的元素来说,是父节点(一个XML,只有一个根元素),所以friend下面的元素要缩进
xw.WriteElementString("id",tid.Text);
xw.WriteElementString("xm",txm.Text);
xw.WriteElementString("qq",tqq.Text);
xw.WriteElementString("tel",ttel.Text);
xw.WriteElementString("email",temail.Text);
//以上五行均以子元素形式写入,互相之间无缩进,于是该XML文件的层次格式就出来了
xw.WriteEndElement();
//结束根元素
xw.WriteEndElement();
//结束文档
xw.WriteEndDocument();
//写入并关闭文件
xw.Flush();
xw.Close();
最后提醒一下,假如代码内有属性写入(方法是
WriteAttributeString())的话,属性不能像元素那样处理,属性
可以直接跟在某个节点的后面,比如有如下代码:
XmlTextWriterxw=newXmlTextWriter("d:
\\abc.xml",Encoding.UTF8);
//设置Indenting属性让子节点自动从父节点缩进(意思就是自动设置交叉格式,即XML的格式)
xw.Formatting=Formatting.Indented;
//开始一个新文档
xw.WriteStartDocument();
//开始写入数据(从根元素开始)
xw.WriteStartElement("friends");
//WriteStartElement()和WriteEndElement()这两个方法配合生成嵌套元素,也就是说,这两个方法是用来影响最终生成的XML文件内容的层次关系的,从这一句可以看出,friends元素是根元素,也就是说他下面的元素要缩进。
//以下以子元素形式写入一组
xw.WriteStartElement("friend",null);
//这里又用了WriteStartElement()方法,所以friend相对于他下面的元素来说,是父节点(一个XML,只有一个根元素),所以friend下面的元素要缩进
xw.WriteAttributeString("whoami","柱子");//这一行会导致结果里面出现
xw.WriteElementString("id",tid.Text);
xw.WriteElementString("xm",txm.Text);
xw.WriteElementString("qq",tqq.Text);
xw.WriteElementString("tel",ttel.Text);
xw.WriteElementString("email",temail.Text);
//以上五行均以子元素形式写入,互相之间无缩进,于是该XML文件的层次格式就出来了
xw.WriteEndElement();
//结束根元素
xw.WriteEndElement();
//结束文档
xw.WriteEndDocument();
//写入并关闭文件
xw.Flush();
xw.Close();
8、ADO.NET
ADO.NET是一组用于和数据源进行交互的面向对象类库。
通常情况下,数据源是数
据库,但它同样也能够是文本文件、Excel表格或者XML文件。
通过ADO可以访问存储在服务器端的数据库或其他表格化数据结构中的信息。
OLEDB(OLEDB)是微软的战略性的通向不同的数据源的低级应用程序接口。
ORACLE调用接口(OracleCallInterface简称OCI)提供了一组可对ORACLE数据库进
行存取的接口子例程(函数),通过在第三代程序设计语言(如C语言)中进行调用可达
到存取ORACLE数据库的目的。
开放数据库互连(OpenDatabaseConnectivity,ODBC)是微软公司开放服务结构
(WOSA,WindowsOpenServicesArchitecture)中有关数据库的一个组成部分,
它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接
口)。
9、
BindingSource控件介绍
BindingSource控件是.NETFramework2.0提供的新控件之一。
BindingSource控件与数据源建立连接,然后将窗体中的控件与BindingSource控件建立绑定关系来实现数据绑定,简化数据绑定的过程。
BindingSource控件即是一个连接后台数据库的渠道,同
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 复习 笔记