- 3.57 MB
- 2022-04-29 14:35:28 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
'进入夏天,少不了一个热字当头,电扇空调陆续登场,每逢此时,总会想起那一把蒲扇。蒲扇,是记忆中的农村,夏季经常用的一件物品。 记忆中的故乡,每逢进入夏天,集市上最常见的便是蒲扇、凉席,不论男女老少,个个手持一把,忽闪忽闪个不停,嘴里叨叨着“怎么这么热”,于是三五成群,聚在大树下,或站着,或随即坐在石头上,手持那把扇子,边唠嗑边乘凉。孩子们却在周围跑跑跳跳,热得满头大汗,不时听到“强子,别跑了,快来我给你扇扇”。孩子们才不听这一套,跑个没完,直到累气喘吁吁,这才一跑一踮地围过了,这时母亲总是,好似生气的样子,边扇边训,“你看热的,跑什么?”此时这把蒲扇,是那么凉快,那么的温馨幸福,有母亲的味道! 蒲扇是中国传统工艺品,在我国已有三千年多年的历史。取材于棕榈树,制作简单,方便携带,且蒲扇的表面光滑,因而,古人常会在上面作画。古有棕扇、葵扇、蒲扇、蕉扇诸名,实即今日的蒲扇,江浙称之为芭蕉扇。六七十年代,人们最常用的就是这种,似圆非圆,轻巧又便宜的蒲扇。 蒲扇流传至今,我的记忆中,它跨越了半个世纪,也走过了我们的半个人生的轨迹,携带着特有的念想,一年年,一天天,流向长长的时间隧道,袅[生物学]7生物素-亲和素免疫放大技术
﹡重点:生物素的理化性质与标记生物素-亲和素系统基本类型及原理生物素-亲和素系统在ELISA中的应用﹡难点:生物素-亲和素系统基本类型及原理Dr.WangHui,FacultyofLaboratoryMedicineinXinxiangMedicalCollege
概述:70年代后期在免疫酶技术中利用生物素-亲和素系统(Biotin-AvidinSystemBAS)标记抗体发展了又一种新型生物反应放大技术。Dr.WangHui,FacultyofLaboratoryMedicineinXinxiangMedicalCollege
Dr.WangHui,FacultyofLaboratoryMedicineinXinxiangMedicalCollege
亲和素(Avidin)耐热并耐受多种蛋白水解酶的作用,与生物素结合后稳定性更好。每个亲和素能结合四个分子的生物素。Dr.WangHui,FacultyofLaboratoryMedicineinXinxiangMedicalCollege
BAS可用于微量抗原、抗体及受体的定量、定性检测及定位观察研究,也可制成亲和介质用于上述各类物质的纯化。BAS的特点:灵敏度高、特异性强、稳定性好、适用于多种反应体系。Dr.WangHui,FacultyofLaboratoryMedicineinXinxiangMedicalCollege
第二节生物素的理化性质与标记一、生物素及其活化生物素经活化后,可容易地与各种抗原、抗体、酶及核酸分子中相应基团偶联形成生物素化标记物。Dr.WangHui,FacultyofLaboratoryMedicineinXinxiangMedicalCollege
几种常用于标记不同类型生物大分子的活化生物素的制备及特性。标记蛋白质氨基的活化生物素此种活化生物素的制备方法是将生物素与N-羟基丁二酰胺在碳二亚胺的作用下进行缩和,生成生物素N-羟基丁二酰亚胺酯(BNHS)BNHS分子酯键中的-C=O基团可与蛋白质分子中赖氨酸的氨基形成肽键,从而使蛋白质标记上生物素Dr.WangHui,FacultyofLaboratoryMedicineinXinxiangMedicalCollege
生物素的分子量较小,当与抗体或酶反应形成生物素标记结合物后,由于大分子蛋白的空间位阻效应(sterichindrance),可对生物素与亲和素间的结合以及BAS的应用效果造成干扰。Dr.WangHui,FacultyofLaboratoryMedicineinXinxiangMedicalCollege
长臂活化生物素(BCNHS)是在生物素和N-羟基丁二酰亚胺之间添加了两个6-氨基己糖分子基团,形成连结臂,使其与抗体、酶等生物大分子结合后,不受位阻效应的影响,更易发挥生物素的活性作用。Dr.WangHui,FacultyofLaboratoryMedicineinXinxiangMedicalCollege
(二)标记蛋白质醛基的活化生物素用于此类标记的活化生物素有两种:生物素酰肼(biotinhydrazine,BHZ)主要用于偏酸性糖蛋白的生物素标记肼化生物胞素(biocytinhydrazine,BCHZ)除可与蛋白质的醛基结合外,它还与N-羟基丁二酰亚胺酯(BNHS)相同,能与蛋白质的氨基结合,因此其适用范围较BHZ宽。Dr.WangHui,FacultyofLaboratoryMedicineinXinxiangMedicalCollege
(三)标记蛋白质巯基的活化生物素3-(N-马来酰亚胺-丙酰)-生物胞素[3-(N-maleimido-propiny)-biocytin,MPB]是能特异地与蛋白质巯基结合的活化生物素试剂Dr.WangHui,FacultyofLaboratoryMedicineinXinxiangMedicalCollege
(四)标记核酸的活化生物素活化生物素可通过缺口移位法、化学偶联法、光化学法及末端标记法等技术使生物素的戊酸侧链通过酰胺键与核酸分子相连,构成生物素标记的核酸探针。光生物素(photobiotin)它是一种化学合成的生物素衍生物生物素脱氧核苷三磷酸先将生物素与某种脱氧核苷酸连接成活化生物素BNHS和BHZ二者均可以在一定条件下与核酸胞嘧啶分子中的N4氨基交联,使核酸分子生物素化。Dr.WangHui,FacultyofLaboratoryMedicineinXinxiangMedicalCollege
二、生物素标记蛋白质(一)生物素化蛋白质衍生物的特性一个蛋白质分子可联结多个生物素分子,从而使其具较高的比活性,在与亲和素的反应中成为多价。生物素化大分子的多价性,是BAS多级放大作用的物质基础。生物素化蛋白质衍生物有二类,一种是生物素化的大分子生物活性物质(如抗原、抗体),另一种是标记材料(如酶)结合生物素后制成的标记物。Dr.WangHui,FacultyofLaboratoryMedicineinXinxiangMedicalCollege
(二)标记方法1.标记抗体、抗原抗体是常用的生物活性大分子物质。由于一个抗体分子可连接多个生物素分子,因此一个生物素化的抗体分子在反应时可与多个亲和素分子结合常用于标记抗体的活化生物素是BNHS,但对于分子偏酸性的抗原,标记时多采用BHZ。2.标记酶可标记HRP、β半乳糖昔酶(β-Gal)和碱性磷酸酶(AP)。Dr.WangHui,FacultyofLaboratoryMedicineinXinxiangMedicalCollege
(三)标记注意事项应根据抗原或抗体分子结构中所带可标记基团的种类(氨基、醛基或巯基)以及分子的理化性质(酸性、中性或碱性),选择相应的活化生物素和反应条件。标记反应时,活化生物素与待标记抗原或抗体应有适当的比例,使每个蛋白质分子上标记的生物素分子数量控制在一定范围,以免影响标记物的活性。Dr.WangHui,FacultyofLaboratoryMedicineinXinxiangMedicalCollege
为减少生物素标记蛋白质后,大分子物质造成的空间位阻影响,有利于生物素与亲和素的结合,可在生物素与被标记物间加入交联臂样结构。生物素与抗原、抗体等蛋白质结合后,不影响后者的免疫活性;标记酶时则结果有不同,对HRP、葡萄糖氧化酶和β半乳糖苷酶,酶活性不受偶联生物素的干扰,但某些酶(如碱性磷酸酶)在标记生物素后,其活性会有一定程度降低。Dr.WangHui,FacultyofLaboratoryMedicineinXinxiangMedicalCollege
第三节亲和素、链霉亲和素的理化性质与标记一、亲和素及其活性亲和素富含的色氨酸与其活性密切相关,是亲和素与生物素咪瞠环酬结合的基团。Dr.WangHui,FacultyofLaboratoryMedicineinXinxiangMedicalCollege
二、链霉亲和素及其活性链霉亲和素(streptavidin,SA)是由链霉菌分泌的一种蛋白质。链霉亲和素分子由4条相同的肽链组成,其氨基酸组成中,甘氨酸和丙氨酸的含量较大,而且结合生物素的活性基团也是肽链中的色氨酸残基;链霉亲和素是一种稍偏酸性的蛋白质,并且不带任何糖基。Dr.WangHui,FacultyofLaboratoryMedicineinXinxiangMedicalCollege
链霉亲和素分子中每条肽链都能结合一个生物素,因此与亲和素一样,一个链霉亲和素分子也能结合4个生物素分子。Dr.WangHui,FacultyofLaboratoryMedicineinXinxiangMedicalCollege
三、亲和素(或链霉亲和素)的标记几乎所有用于标记的物质均可以同亲和素(AV)或链霉亲合素(SA)结合。最常用的是酶、异硫氨酸荧光素(FITC)和胶体金。亲和素或链霉亲和素均为大分子蛋白,其与酶的标记结合物的制备除可用普通酶标记蛋白质分子的直接标记法外,由于其特有的与生物素结合的性能,还可以通过与生物素化酶复合物中的生物素结合,间接地与酶形成结合物。Dr.WangHui,FacultyofLaboratoryMedicineinXinxiangMedicalCollege
第四节生物素-亲和素系统的应用生物素与亲和素间的结合亲和力高、特异性强,且各自均可以与各型大小分子偶联,以及二者在结合反应时具有的多级放大作用等优越性Dr.WangHui,FacultyofLaboratoryMedicineinXinxiangMedicalCollege
一、生物素-亲和素系统基本类型及原理BAS在应用中的基本类型有二种:一类以游离亲和素为中间物,分别连接包含生物素化大分子的待检反应体系和标记生物素,称为BAB法(biotin-avidinbind,BAB);后来又在此基础上发展了亲和素-生物素化酶复合物技术(avidin-biotin-peroxidasecomplex,ABC).另一类是直接用标记亲和素连接生物素化大分子反应体系进行检测的BA法,或称标记亲和素·生物素法(labeledavidin-biotin,LAB)。Dr.WangHui,FacultyofLaboratoryMedicineinXinxiangMedicalCollege
BAB法:也称为桥联亲和素-标记生物素法(bridgedavidin-biotintechnique,BRAB),是以游离的亲和素(或链霉亲和素)作为桥联剂,利用亲和素的多价性,将检测反应体系中抗原-生物素化抗体复合物与标记生物素(如酶标生物素)联结起来,达到检测反应分子的目的。Dr.WangHui,FacultyofLaboratoryMedicineinXinxiangMedicalCollege
ABC法:是在BAB法基础上的改良,其原理是预先按一定比例将亲和素(或链霉亲和素)与酶标生物素结合,形成可溶性的亲和素(或链霉亲和素)-生物素-过氧化物酶复合物(ABC或SABC)。当其与检测反应体系中的生物素化抗体(直接法)或生物素化第二抗体(间接法)相遇时,ABC(或SABC)中未饱和的亲和素(或链霉亲和素)结合部位即可与抗体上的生物素结合,使抗原-抗体反应体系与ABC(或SABC)标记体系连成一体进行检测。Dr.WangHui,FacultyofLaboratoryMedicineinXinxiangMedicalCollege
BA法:是以标记亲和素(或链霉亲和素)直接与免疫复合物中的生物素化抗体连接进行检测。Dr.WangHui,FacultyofLaboratoryMedicineinXinxiangMedicalCollege
二、生物素-亲和素系统在酶免疫测定中的应用生物素-亲和素系统在ELISA中的应用:把BAS与EIISA偶联起来,可大大提高ELISA测定的灵敏度。BAS与ELISA偶联应用的形式有多种。如用于固相化抗体或抗原的制备,即是先将亲和素(或链霉亲和素)包被于固相载体,抗体或抗原也先与生物素结合,然后通过亲和素-生物素反应而使生物素化的抗体或抗原固相化。BAS亦可用于ELISA终反应的放大:用生物素化的抗体替代常规ELISA中的酶标抗体,然后连接亲和素-酶结合物(BA-ELISA)、或亲和素及酶标生物素或ABC试剂(ABC-ELISA),从而使反应信号放大,提高检测灵敏度。Dr.WangHui,FacultyofLaboratoryMedicineinXinxiangMedicalCollege
(二)生物素-亲和素系统在均相酶免疫测定BAS除了作为免疫测定的放大系统外,还可作为均相酶免疫测定(HEI)中高效的酶活性调变系统。在BAS-HEI系统中,预先将作为配体的生物素与酶偶联,形成的生物素-酶复合物具有完整的酶活性;亲和素作为特异的酶结合体(类似于抗体),可与生物素-酶复合物结合。当生物素-酶复合物与亲和素结合后,酶因活性中心受空间位阻作用而失活。Dr.WangHui,FacultyofLaboratoryMedicineinXinxiangMedicalCollege
三、生物素-亲和素系统在荧光免疫技术中的应用BAS用于荧光抗体技术,通常采用BA法,即用荧光素直接标记亲和素(或链霉亲和素);也可采用游离亲和素(或链霉亲和素)搭桥,两端分别连接生物素化抗体和荧光素标记的生物素(BAB法)或荧光标记的抗亲和素(或链霉亲和素)抗体的夹心法。Dr.WangHui,FacultyofLaboratoryMedicineinXinxiangMedicalCollege
四、生物素.亲和素系统在放射免疫测定中的应用BAS主要与免疫放射分析(IRMA)检测体系偶联,用于对终反应的放大(BA法):先将针对不同抗原决定簇的固相抗体和生物素化抗体与抗原(标准抗原和待测抗原)同时反应,在固相载体表面形成双抗体夹心免疫复合物;再加入125I标记的亲和素(或链霉亲和素)与复合物中的生物素结合,最终使反应信号放大,进一步提高IRMA的灵敏度。Dr.WangHui,FacultyofLaboratoryMedicineinXinxiangMedicalCollege
五、生物素-亲和素系统在分子生物学中的应用主要集中在以生物素标记核酸探针进行的定位检测,用BAS制备的亲和吸附剂进行基因的分离纯化以及将免疫测定技术与PCR结合建立免疫-PCR(immum-PCR)用于抗原的检测等三方面Dr.WangHui,FacultyofLaboratoryMedicineinXinxiangMedicalCollege
思考题试述ABC法的原理试述BAB-ELISA夹心法测抗原的原理及过程简述几种常用于标记不同类型生物大分子的活化生物素。Dr.WangHui,FacultyofLaboratoryMedicineinXinxiangMedicalCollege
C语言程序设计TheCProgrammingLanguage华中科技大学计算机学院曹计昌8/2/202136华中科技大学计算机学院
C语言程序设计第4章流程控制8/2/202137华中科技大学计算机学院
主要内容4.1C语句分类4.2表达式语句4.3复合语句4.4if语句4.5switch语句4.6while语句4.7for语句4.8do-while语句4.9goto语句和标号语句4.10break语句、continue语句和return语句4.11嵌套循环程序设计**4.12推理机程序设计8/2/202138华中科技大学计算机学院
C语句4.1C语句分类说明语句可执行语句变量说明、函数说明、常量定义、类型定义、……表达式语句、复合语句、选择语句(if和switch)、循环语句(while,do-while和for)、转移语句(break,continue,goto和return)、标号语句8/2/202139华中科技大学计算机学院
在任何C表达式的末尾加一个分号都可以构成一个语句,即表达式语句。表达式语句的一般形式:表达式;其中,“;”是C语句不可缺少的组成部分,它表示一个语句的结束。在C语言中,赋值、输入和输出都由表达式语句实现。例:x=y+1x=y+1;x+=yx+=y;i=j=ki=j=k;printf(”hello”)printf(”hello”);scanf(”%d”,&x)scanf(”%d”,&x);4.2表达式语句8/2/202140华中科技大学计算机学院
再如:a–b;也是一个表达式语句,但是由于在表达式求值的过程中并没有改变任何变量的值,这样的表达式语句并没有实际意义。仅由一个分号构成的语句称为空语句,即:;它不执行任何操作。在程序设计中,如果某处在语法上需要一条语句,而在实际功能上不需要执行任何操作时,可以使用空语句。4.2表达式语句(续)8/2/202141华中科技大学计算机学院
1.复合语句的一般形式用花括号“{}”括起来的一组语句,语法上等价于单个语句,语法格式为:{说明部分语句部分}说明部分可包含0至多个说明语句;语句部分可包含0至多个执行语句。复合语句又称块。函数体是一个块。4.3复合语句8/2/202142华中科技大学计算机学院
例4.3:不含说明语句的复合语句{t=a;a=b;b=t;}例4.4:包含说明了语句的复合语句。{intt;t=a;a=b;b=t;}复合语句举例8/2/202143华中科技大学计算机学院
2.嵌套的复合语句复合语句中包含复合语句,从而形成嵌套的复合语句。例如:{inta=0,b=1;{inta=1;printf(”a=%dn”,a);printf(”b=%dn”,b+=1);}printf(“a=%dn”,a);printf(“b=%dn”,b);}4.3复合语句(续)8/2/202144华中科技大学计算机学院
3.复合语句的用途复合语句在程序设计中主要有以下两种用途:(1)用于语法上只允许出现单个语句而处理上需要执行多个语句的地方,例如作为if语句的子句及循环语句的循环体。(2)用于改变嵌套if-else语句的配对规则。此外,当需要说明临时使用的局部变量时,也可使用复合语句。4.3复合语句(续)8/2/202145华中科技大学计算机学院
1.if语句的一般形式if语句有两种形式:(1)if格式:if(表达式)语句1;(2)if-else格式:if(表达式)语句1;else语句2;4.4if语句8/2/202146华中科技大学计算机学院
2.嵌套的if语句1)嵌套if语句的形式当if子句或else子句中又包含if语句时,则形成嵌套的if语句。例如,可以用下面的一个嵌套的if语句求a,b,c三个数中最大值:if(a>b)if(a>c)max=a;elsemax=c;elseif(b>c)max=b;elsemax=c;4.4if语句(续)8/2/202147华中科技大学计算机学院
2)嵌套if语句中else的配对规则对嵌套if语句中else与if的配对必须制定一个规则,否则会造成理解上的二义性。例如:if(n>0)if(a>b)z=a;elsez=b;编译程序约定:else与其前面最靠近的还未配对的if配对,即内层优先配对原则。4.4if语句(续)8/2/202148华中科技大学计算机学院
例4.6:解方程ax+b=0,a和b从终端输入。#includevoidmain(void){floata,b,x;printf(”inputa,b:n”);scanf(”%f%f”,&a,&b);if(!a)printf(”errorininputdatan”);else{x=-b/a;printf(”x=%.4fn”,x);}}3.程序设计举例8/2/202149华中科技大学计算机学院
1.switch语句的形式switch语句的一般形式为:switch(表达式){case常量表达式1:语句序列1;case常量表达式2:语句序列2;…case常量表达式n:语句序列n;default:语句序列n+1;}4.5switch语句8/2/202150华中科技大学计算机学院
2.switch语句的使用要点使用switch语句时,第一要注意列出的case应能包括选择表达式所有的取值情况,如果不能全部包括,则应使用default子句处理余下的情况。第二应特别注意break在switch中的作用,如果希望执行完某一case下的语句之后便跳出switch语句,则必须使用break或return转移语句。break跳出switch语句之后继续执行switch语句后面的一个语句(如果有),return语句则立即结束函数并返回到调用处(如果是主函数,则结束程序)。4.5switch语句(续)8/2/202151华中科技大学计算机学院
例如:下面是一个不含转移语句的switch语句,注意观察该语句执行时的输出。i=1;switch(i){case0:printf("%dt",i);case1:printf("%dt",i++);case2:printf("%dt",i++);case3:printf("%d",i++);default:printf("n");}printf("%dn",i);4.5switch语句(续)输出:12348/2/202152华中科技大学计算机学院
例4.8:学生考试成绩按以下标准分等(x为学生考试分数):分数范围等级英文名90≤x≤100excellent(优)80≤x<90good(良)60≤x<80middle(中)x<60bad(差)输入某学生的考试分数,输出该学生的考试成绩的英文等级。要求用switch语句来实现。3.程序设计举例8/2/202153华中科技大学计算机学院
分析:switch语句可用来解决多分支问题,但每个case后面的常量都是一个离散的值,不能表示一个数值范围。为此,将分数范围[0,100]每10分划为一段,则可划分为[0,10),[10,20),[20,30),[30,40),[40,50),[50,60),[60,70),[70,80),[80,90),[90,100)十个分数段。进一步对分数值进行除以10然后取整的处理,可以发现上面同一分数段内的分数经处理后得到相同的一个整数。比如,[0,10)范围内的数除以10然后取整,结果都是0;[10,20)范围内的数除以10然后取整,结果都是1;……这样一来,就可以用一个离散值代表一个分数段内的所有分数值。p98例4.8源程序代码ex4.8.c。3.程序设计举例(续)8/2/202154华中科技大学计算机学院
p99例4.9:输入某年某月,输出该月的天数。注意:switch语句允许多种情况执行相同的语句,执行相同语句的case可以写成一行,其间可以用空格或制表符分隔,但不能用逗号分隔。例如:case4:case6:case9:case11:days=30;正确case4,case6,case9,case11:days=30;错误case4,6,9,11:days=30;错误4.5switch语句(续)8/2/202155华中科技大学计算机学院
1.while语句的形式while语句的一般形式为:while(表达式)语句while语句流程图:4.6while语句8/2/202156华中科技大学计算机学院
i=0;while(i<5){printf(”i=%dt”,i);i++;}printf(”i=%dn”,i);注意:如果循环体中没有改变循环变量的值,或循环变量值的变化不能使循环控制表达式的结果为0,则循环将永不终止(通常称之为“死循环”)。如果循环控制表达式的值一开始就为0(条件为假),则循环体一次都不执行。解释:p101-p102例4.11,例4.12,例4.13例4.10while循环语句示例8/2/202157华中科技大学计算机学院
例4.14:将来自标准输入文件的正文复制到标准输出文件,每次输入和复制一个字符。分析:以EOF(系统常量,值为-1)为结束标志的字符流称为一个正文,可以包含空白字符,例如空格符、制表符和换行符。根据题目要求,输入函数应使用getchar(每次输入一个字符),输出函数应使用putchar(每次输出一个字符);复制过程是一个重复地调用getchar读和调用putchar写的过程,因此程序的流程结构是一个循环语句;读入的字符是否为EOF则是循环控制条件。2.程序设计举例8/2/202158华中科技大学计算机学院
例4.14:算法步骤:(1)调用getchar读入一个字符并赋给字符变量c。(2)如果c不是EOF,则执行(3);否则结束执行。(3)输出c;(4)读下一字符并赋给字符变量c;(5)转步骤(2)。p102例4.14源程序代码ex4.14.c2.程序设计举例(续)8/2/202159华中科技大学计算机学院
例4.15输入一个C程序(一段正文),按原来格式复制输出,复制过程中删去输入程序中所有的注释。分析:为了删去C程序中所有的注释,关键在于如何区分注释部分和需要复制的部分。为此,可将复制过程划分为4种状态:复制状态(COPY)、开始注释状态(START)、注释状态(COMMENT)和结束复制状态(END),初始状态为COPY。每种状态下的处理方法如下:(1)在COPY状态下,若读入字符为’/’(可能为注释开始符号),则将状态改为START;否则将读入的字符复制到输出。2.程序设计举例(续)8/2/202160华中科技大学计算机学院
(2)在START状态下,若读入字符为’*’(确定注释开始),则将状态改为COMMENT;否则(不是注释),将上一次读入的字符’/’复制到输出;然后检查本次读入的字符是否为’/’,若是,则状态保持START不变,否则将本次读入的字符复制到输出并将状态改为COPY。(3)在COMMENT状态下,若读入字符为’*’(可能为注释结束符号),则将状态改为END。(4)在END状态下,若读入字符为’/’(确定注释结束),则将状态恢复成COPY;否则(不是注释结束),如果读入字符是’*’,则状态保持END不变,否则将状态改为COMMENT。(p104源程序4.15)2.程序设计举例(续)8/2/202161华中科技大学计算机学院
1.for语句的形式for语句的一般语法形式表示为:for(e1;e2;e3)sfor语句流程图:等价于:e1;while(e2){s;e3;}4.7for语句8/2/202162华中科技大学计算机学院
使用for语句时须注意表达式e1,e2,e3的用法:(1)三个表达式可以全部或部分缺省,但无论缺省e1,e2或e3,它们之间的分号不能省。(2)缺省e1和e3时的for语句形如for(;e2;)s,等价于一个形如while(e2)s的while语句。(3)缺省e2时的for语句for(e1;;e3)s和三个表达式都缺省的for语句for(;;)s都是无限循环语句。被省略的e2缺省值恒为非0(e1和e3没有缺省值)。4.7for语句(续)8/2/202163华中科技大学计算机学院
例4.16:for循环语句示例。inti;for(i=1;i<4;i++)printf(”i=%ds=%dn”,i,2*i);几种等价的形式:i=1;for(;i<4;i++)printf(”i=%ds=%dn”,i,2*i);或for(i=1;i<4;){printf(”i=%ds=%dn”,i,2*i);i++;}4.7for语句(续)8/2/202164华中科技大学计算机学院
或i=1;for(;i<4;){printf(”i=%ds=%dn”,i,2*i);i++;}或i=1;for(;;){printf(”i=%ds=%dn”,i,2*i);i++;if(!(i<4))break;}4.7for语句(续)8/2/202165华中科技大学计算机学院
例4.19:输入一批整数,以0为结束。输出其中最大的一个值。分析:从若干个数中找出最大的一个数可用"打擂台"的方法,即两两相比,大者留下;当所有的数比完时留下的那个数为最大。比较过程采用每次输入一个数立即与上一次留下的那个较大的数比较的方法,因此程序中只需用两个变量:一个变量x用于保存每次输入的一个数据,另一个变量max用于保存每两个数相比中较大的一个数。这种方法可以用于从任意多个输入数据中找出其中的最大值。2.程序设计举例8/2/202166华中科技大学计算机学院
例4.19:算法步骤:(1)输入第一个数(x)。(2)置最大数max初值为x。(3)如果x不等于0,则执行(4);否则,执行(7)。(4)输入下一个数(x)。(5)如果maxn),转步骤(5)。(4)将i值增加1,转步骤(3)。(5)输出累乘结果fac,结束。p108例4.20源程序代码ex4.20.c。2.程序设计举例(续)8/2/202169华中科技大学计算机学院
1.do-while语句的形式do-while语句的一般形式为:do语句while(表达式);do-while语句流程图:4.8do-while语句8/2/202170华中科技大学计算机学院
do-while语句:do语句while(表达式);可以用以下等价的while循环语句来代替。语句while(表达式){语句}4.8do-while语句(续)8/2/202171华中科技大学计算机学院
例4.21:把输入的整数按反方向输出。例如,输入的数是12345,要求输出结果是54321。分析:在输入一个整数时,是从高位到低位(或者说从左到右)依次输入各位上的数字。要按反方向输出,就是从低位到高位(或者说从右到左)连续地输出该数的各位数字。具体来说,就是先输出个位数字,再输出十位数字,直到最高位数字。获取一个整数的个位数字的算法是将该整数除以10取余(模10)。去掉一个整数的个位数字(使十位数字变个位数字,百位数字变十位数字,直到最高位数字变次高位数字)的算法是将该整数除以10(整数除)。这样,可以用循环语句从低位到高位依次输出原整数的数字。(源程序代码ex4.21.c)2.程序设计举例8/2/202172华中科技大学计算机学院
2.程序设计举例(续)例4.24:输入任意一个大于或等于2的整数n,判断该数是否为素数并输出相应结果。分析:根据数学定义,一个大于2的整数n,如果除1和n外不能被任何数整除(即n不含1和n以外的任何因子),则n是素数;此外,整数2不符合上述定义,但规定2是最小素数。为了确定n是否含有1和n以外的因子,只需用2至(也可以用2至n-1或2至n/2)作除数除n。如果均不能整除n,则n是素数,否则(即只要发现一个因子)n不是素数。显然,用2至作除数时所做的除法次数比用2至n-1或2至n/2作除数时少得多。8/2/202173华中科技大学计算机学院
2.程序设计举例(续)例4.24:算法步骤:(1)输入n,直到n符合要求为止(循环语句);(2)确定除数i的初值(i=2)及终值j(j=sqrt(n));(3)检查2~sqrt(n)的每一个数是否都不是n的因子(循环语句),方法是,i从2开始,用i除n,若余数非0且i<=j,则使i值增加1再重复该过程;若余数为0(找到一个因子)或i<=j不成立,则结束循环。(4)如果循环结束后余数为非0,则说明2~sqrt(n)范围内的整数都不是n的因子,因此可以判定n是素数;否则(发现一个因子),n不是素数。例4.24源程序代码ex4.24.c。8/2/202174华中科技大学计算机学院
3.循环语句小结(略)三种循环语句的区别及使用要点归纳如下(s是循环体;e,e1,e2,e3是表达式):(1)while(e)s和for(e1;e2;e3)s先测试e或e2,后执行s,若第一次测试时e或e2结果为0,则s一次也不执行;doswhile(e);先执行s,后测试e,所以s总是至少被执行一次。使用时应根据具体情况选用,一般说来,必定要执行的循环可以用三种循环语句中任何一种;可能不被执行的循环则不能用do-while。(2)第一次测试循环条件(e或e2)之前,循环变量必须赋初值,初值只赋一次;在循环体(s)或e3(对于for语句)中必须有能够改变循环变量值的语句或表达式。写循环条件时,应注意避免无限循环、永不执行的循环或执行次数不正确的循环等情况。8/2/202175华中科技大学计算机学院
3.循环语句小结(续)(略)(3)for语句控制部分的e1可以包含给循环变量赋初值以及其他与循环有关的运算,即在循环开始之前仅执行一次的运算;e2不要求一定是关系表达式或逻辑表达式,只要能正确控制循环体的执行(非0值执行循环体,0值结束循环),任何表达式都可以;e3是每次执行循环体后紧接着要执行的表达式,通常用于改变循环变量的值,如i++之类,e3也可以包括某些属于循环体部分的内容,也可将e3放到循环体最后。可见,for语句使用非常灵活,其控制部分的三个表达式可以容纳除循环变量赋初值、测试循环条件和修改循环变量值的运算以外的其他与循环有关的运算。(4)任何循环语句当循环体含有一个以上语句时,必须写成复合语句(用{}括起来);当循环体为空语句时不要掉了分号(;)。8/2/202176华中科技大学计算机学院
goto语句又称为无条件转移语句,它的一般形式为:goto标号;任何可执行C语句都可以加标号前缀成为标号语句。标号语句的形式为:标号:语句goto语句中的标号是对标号的引用,标号语句中的标号是对标号的定义。被goto语句引用的标号必须有且仅有一个对应的标号语句,对应的标号语句称为称为该goto语句的目标语句;而允许标号语句没有对应的goto语句。概而言之,有标号的引用必须有惟一的标号定义,而有标号的定义不必有标号的引用。4.9goto语句和标号语句8/2/202177华中科技大学计算机学院
4.9goto语句和标号语句(续)goto语句的目标语句允许出现的范围称为标号的作用域。C语言中标号的作用域是goto语句所在的函数,即goto语句不能从一个函数转移到另一个函数中,但可以在一个函数内从嵌套结构的内层直接转到最外层。使用标号语句时,要注意同一函数内的标号不能同名。goto语句和标号语句在函数中出现的先后位置没有约束,即对标号的定义和对标号的引用没有先后次序的规定。8/2/202178华中科技大学计算机学院
goto语句和标号语句的用法例4.25:输入一个算式,模拟袖珍计算器的加、减、乘、除四则运算。假定计算时不考虑运算符的优先级,也不允许输入圆括号(),而是按照运算符出现的先后顺序执行运算。例如,输入10.8+0.13*100计算结果为1093.000000例4.25源程序代码ex4.25.c。8/2/202179华中科技大学计算机学院
注意:goto语句不是必需的语言成分。因为用goto语句实现的任何控制转移,都可以通过循环语句、if语句和其他转移语句的适当配合以及用整型变量标记状态的方法实现。goto语句的惟一好处是可以从嵌套结构的最内层(switch语句或循环语句)直接转到最外层(隔层转移),用起来较方便.但如果随意地使用goto语句则会破坏程序的结构化特性,使程序的逻辑结构不清,因此应尽量少用或不用goto语句。8/2/202180华中科技大学计算机学院
1.break语句break语句的形式为:break;break是关键字。break语句有以下两种用途:(1)用于switch语句中,从中途退出switch语句;(2)用于循环语句中,从循环体内直接退出当前循环。注意:对于嵌套的循环语句和switch语句,break语句的执行只能退出直接包含break的那一层结构。4.10break语句、continue语句和return语句8/2/202181华中科技大学计算机学院
4.10break语句(续)例4.27:打印ASCII字符集中字符码为32~126的字符及其字符码的对照表,每行打印8对对应值。例4.27源程序代码ex4.27.c。例4.28:打印2~100之间的所有素数,每行输出10个数。分析:如4.8节例4.24的程序所示,判断一个数是否为素数(找因子)要用循环语句实现,因此判断2~100之间的每一个数是否为素数要用二重循环。例4.28源程序代码ex4.28.c。8/2/202182华中科技大学计算机学院
2.continue语句continue语句的形式为:continue;(continue是关键字)continue语句只能出现在循环语句中,用于终止循环体的本次执行(并非退出循环语句);即在循环体的本次执行中,跳过从continue语句之后直到循环体结束的所有语句,控制转移到循环体的末尾。对于while(e)s;和doswhile(e);,在执行continue语句之后马上执行对循环控制表达式(e)的计算和测试;对于for(e1;e2;e3)s则马上执行表达式e3,然后执行对表达式e2的计算和测试。8/2/202183华中科技大学计算机学院
2.continue语句(续)例4.29:输入10个整数,输出其中正数的个数及平均值。例4.29源程序代码ex4.29.c。本例不用continue语句也能实现同样的功能,改写工作作为练习请读者自己完成。8/2/202184华中科技大学计算机学院
3.return语句return语句有下面两种形式:(1)不带表达式的return语句:return;(2)带表达式的return语句:return表达式;return语句的功能是从被调用函数返回到调用函数。不带表达式的return语句只能返回控制、不能返回值,因此只能用于从无返回值的函数中返回。带表达式的return语句(表达式可以用()括起来)在返回控制的同时,将表达式的值返回到调用处,函数调用表达式的值就是这个返回值。8/2/202185华中科技大学计算机学院
3.return语句(续)例4.30:写一个函数sign,返回浮点数x的符号。如果x小于0,则返回-1;如果x等于0,则返回0;如果x大于0,则返回1。例4.30源程序代码ex4.30.c。8/2/202186华中科技大学计算机学院
嵌套循环指循环体是一个循环语句,或循环体包含循环语句。嵌套循环又称为多重循环,三种循环语句可以相互任意嵌套。具有两层嵌套的循环称为二重循环,具有n重嵌套的循环称为n重循环;二重以上的循环统称为多重循环。C语言对循环的嵌套层数没有限制,其中二重循环应用最为普遍,其次是三重循环。4.11嵌套循环程序设计8/2/202187华中科技大学计算机学院
例4.31:计算s=11+22+33+...+nn,n由终端输入。分析:设每一项的底用整型变量i表示,i从1开始每次增1直至n。考虑到溢出,ii及各项之和分别用长整型变量term和s表示。计算term是用循环对同一个i累乘i次;计算s也是用循环对每个term累加n次,而且计算term的循环是嵌套在计算s的循环体内的,所以计算s的算法是一个二重循环语句。外层循环(简称外循环)控制项数,内层循环(简称内循环)控制每项i的累乘次数。4.11嵌套循环程序设计(续)8/2/202188华中科技大学计算机学院
例4.31:程序4.31的流程图。例4.31源程序代码ex4.31.c。4.11嵌套循环程序设计(续)8/2/202189华中科技大学计算机学院
4.11嵌套循环程序设计(续)例4.32:输入一个字母,在屏幕正中输出由这个字母决定其高度的字符"金字塔"。例如输入小写字母d,则输出下列左边图形,如果输入大写字母D,则输出右边图形。aabaabcbaabcdcbaAABAABCBAABCDCBA8/2/202190华中科技大学计算机学院
(1)输入字符c;(2)如果c是小写字母则置塔顶top为’a’,如果c是大写字母则置top为’A’,如果c是非字母字符,则置top为’\0’;(3)如果top非0,则输出图形(3)-1置c1为top(外循环变量初值);(3)-2如果c1≤c则输出一行:(3)-2-1输出一行左边的所有空格,空格数目为40-2*(c1-top);(3)-2-2输出一行的前半段(包括正中的一个字符);(3)-2-3输出一行的后半段;(3)-2-4输出换行;(3)-2-5c1=c1+1,转(3)-2(循环,输出下一行);如果c1>c则结束循环。(例4.32源程序代码ex4.32.c。)例4.32:算法步骤:8/2/202191华中科技大学计算机学院
(1)对于多重循环,特别要注意给与循环有关的变量赋初值的位置。以程序4.31为例:只需赋一次初值的操作应放在最外层循环开始执行之前,例如,赋值表达式s=0位于外循环for语句控制部分的表达式1;给内循环的有关变量赋初值应放在外循环体内、内循环开始执行之前,例如,赋值表达式语句term=1;和j=1;位于内循环do-while语句的前面,是外循环for语句循环体的一部分。(2)内、外循环变量不应同名,否则,将造成循环控制混乱,导致死循环或计算结果错误。多重循环语句的使用要点(略)8/2/202192华中科技大学计算机学院
(3)应正确书写内、外循环的循环体:需要在内循环中执行的所有语句必须用{}括起来组成复合语句作为内循环体;属于外循环的语句应放在内循环体之外、外循环体之中。例如,程序4.31的赋值语句term=1;j=1;和sum+=term;都是组成外循环体的语句,其中term=1;和j=1;位于内循环do-while语句之前,sum+=term;语句位于do-while语句之后,它们均位于内循环体之外。(4)不应在循环中执行的操作应放在进入最外层循环之前或最外层循环结束之后。例如,程序4.31中对输入提示(inputn:)的输出及读入项数(n)是在程序运行过程中仅需执行一次的操作,且需在循环开始之前执行;最后输出整个计算结果(sum)只需执行一次,且应在循环结束之后执行。多重循环语句的使用要点(续)8/2/202193华中科技大学计算机学院
本章习题4.1,4.3,4.5,4.6,4.7,4.9,4.11,4.13,4.15,4.168/2/202194华中科技大学计算机学院'
您可能关注的文档
- 最新[材料科学]复习重点课件PPT.ppt
- 最新[汇总]第十一章 幼儿的心理健康及其评价课件PPT.ppt
- 最新[汇总]第八讲 汇编语言程序的阅读与理解111201课件PPT.ppt
- 最新[理学]《聚合反应原理专论》 chapter 4 中科大研究生教学课件PPT课件.ppt
- 最新[理学]影响亲核取代反应活性的因素课件PPT.ppt
- 最新[理学]第1讲-数学建模简介课件PPT.ppt
- 最新[理学]菲涅耳公式与半波损失课件PPT课件.ppt
- 最新[理学]第二章、行列式课件PPT.ppt
- 最新[理学]第5讲 实验2 二极管稳压电路课件PPT.ppt
- 最新[畜牧兽医]水产动物营养和饲料学3-水产动物饲料营养组成课件PPT.ppt
- 最新[研究生入学考试]四川大学化工原理下册重点复习课件PPT.ppt
- 最新[研究生入学考试]南京理工大学 数字电路课件课件PPT.ppt
- 最新[精华]咖啡厅物品清单课件PPT.ppt
- 最新[精华]现代工程图进修题集谜底 第三版 主编杨裕根第1章课件PPT.ppt
- 最新[精华]大师长教师心思安康教导 第七讲 大师长教师人际关系的调和课件PPT.ppt
- 最新[精华]胎儿染色体异常超声诊断剖析思惟方法课件PPT.ppt
- 最新[精品]专题研究---贝瑞妮丝虾红素嫩晳精华乳课件PPT.ppt
- 最新[精品]七、油井堵水施工序及技术要求课件PPT.ppt