C语言复习笔记.docx

上传人:b****6 文档编号:6686106 上传时间:2023-01-09 格式:DOCX 页数:33 大小:560.20KB
下载 相关 举报
C语言复习笔记.docx_第1页
第1页 / 共33页
C语言复习笔记.docx_第2页
第2页 / 共33页
C语言复习笔记.docx_第3页
第3页 / 共33页
C语言复习笔记.docx_第4页
第4页 / 共33页
C语言复习笔记.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

C语言复习笔记.docx

《C语言复习笔记.docx》由会员分享,可在线阅读,更多相关《C语言复习笔记.docx(33页珍藏版)》请在冰豆网上搜索。

C语言复习笔记.docx

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文档>

C#网络编程技术

郑大民

张雨

450

35.0

以下我对这两段代码做一些相关解释

从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","柱子");//这一行会导致结果里面出现null也就是加入了属性值

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控件即是一个连接后台数据库的渠道,同

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1