第5课 指针、顺序程序设计 - 上传版本_第1页
第5课 指针、顺序程序设计 - 上传版本_第2页
第5课 指针、顺序程序设计 - 上传版本_第3页
第5课 指针、顺序程序设计 - 上传版本_第4页
第5课 指针、顺序程序设计 - 上传版本_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、学习运算符应注意:运算符优先级别结合方向要求运算量个数,2.4要点回顾,初等运算符,单目运算符,算术运算符,关系运算符,逻辑运算符,赋值运算符,逗号运算符,低,高,位运算符,条件运算符,指针,指针变量,定义,赋值,使用,特例,内存地址,floatk;,内存中每个字节有一个编号-地址,i,k,编译或函数调用时为其分配内存单元,指针与指针变量指针:一个变量的地址指针变量:专门存放变量地址的变量叫,2000,指针,指针变量,变量的内容,变量的地址,指针变量的定义,格式:存储类型数据类型*指针名;,合法标识符,指针变量本身的存储类型,指针的目标变量的数据类型,表示定义指针变量不是*运算符,例int*p

2、1,*p2;float*q;staticchar*name;,注意:1、int*p1,*p2;与int*p1,p2;2、指针变量名是p1,p2,不是*p1,*p23、指针变量只能指向定义时所规定类型的变量4、指针变量定义后,变量值不确定,应用前必须先赋值,赋给指针变量,不是赋给目标变量,例inti;int*p=,变量必须已说明过类型应一致,例inti;int*p=,用已初始化指针变量作初值,例main()inti;staticint*p=.(),不能用auto变量的地址去初始化static型指针,指针变量的赋值指针名=地址值;,例main()inti=10;int*p;*p=i;printf(

3、“%d”,*p);,危险!,例main()inti=10,k;int*p;p=,指针变量必须先赋值,再使用,-直接访问,3,例*i_pointer=20;-间接访问,20,例k=i;-直接访问k=*i_pointer;-间接访问,10,例k=i;k=*i_pointer;,零指针与空类型指针零指针:(空指针)定义:指针变量值为零表示:int*p=0;,p指向地址为0的单元,系统保证该单元不作它用表示指针变量值没有意义,#defineNULL0int*p=NULL:,p=NULL与未对p赋值不同用途:避免指针变量的非法引用在程序中常作为状态比较,例int*p;.while(p!=NULL).,v

4、oid*类型指针表示:void*p;使用时要进行强制类型转换,例char*p1;void*p2;p1=(char*)p2;p2=(void*)p1;,表示不指定p是指向哪一种类型数据的指针变量,例输入两个数,并使其从大到小输出,main()int*p1,*p2,*p,a,b;scanf(%d,%d,运行结果:a=5,b=9max=9,min=5,5,2006,9,2008,2006,2008,2006,第3章顺序程序设计,学习要点:算法的概念和特点算法的表示方式顺序程序设计,算法例3.1100个学生,要求将他们之中成绩在90分以上的打印出来。假定用n表示学生学号,ni表示第i个学生学号;g表示

5、学生成绩,gi表示第i个学生成绩;则算法可表示如下:step1:1i;step2:如果gi90,则打印ni和gi,否则不打印;step3:i+1i;step4:若i100,返回step2,否则,结束。,有穷性:所有步骤有限。确定性:每一个步骤应清晰界定操作。有效性:每一个步骤应有效执行,并得到确定结果。有零个或多个输入。有一个或多个输出。,算法的特性:,常用三种描述方法:,算法的描述方法:,自然语言描述,流程图描述,伪代码描述,setp1、1-isetp2、0-sumsetp3、sum+i-sumsetp4、i+1-Isetp5、若i=n,返回setp3,否则,输出sum,结束,sum=1+2

6、+3+4+(n1)+n,优点:接近自然语言,方便掌握。缺点:1、对于稍复杂的结构很难表述清楚2、容易造成歧义,常用符号:,流程图,输入输出框,起止框,一般处理框,判断框,流程线,连接点,sum=1+2+3+4+(n1)+n,优点:直观形象,比较清楚的显示出各个框之间的逻辑关系。,无论是使用自然语言还是使用流程图描述算法,仅仅是表述了编程者解决问题的一种思路,都无法被计算机直接接受并进行操作。由此我们引进了第三种非常接近于计算机编程语言的算法描述方法伪代码。,缺点:没有规定流程线的用法,因为流程线能够转移、指出流程控制方向,即算法中操作步骤的执行次序。在早期的程序设计中,曾经由于滥用流程线的转移而导致了可怕的“软件危机”,震动了整个软件业,并展开了关于“转移”用法的大讨论,从而产生了计算机科学的一个新的分支学科程序设计方法。,1)算法开始;2)输入n的值;3)i1;4)sum0;5)dowhilei=n6)sumsum+i;7)ii+1;8)输出sum的值;9)算法结束;,优点:已经非常接近于机器语言。同时,不受限于某种编程语言,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论