




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构,主讲:鲁法明fm_lu,课程相关,计算机学科核心课程多编程(手写),多调试(上机),本章要点,补充:Java与C对照总结,适用范围与特点C程序概述语法对照C指针与链表,1.1适用范围及特点,1.2C程序概述,voidmain()/*程序入口,主函数*/printf(“HelloWorld!”);/*调用标准输出函数输出*/,C程序由函数构成,main函数是程序入口函数包括函数首部和函数体两部分函数体以作为开始和结束的标志输入输出用库函数实现,需包含相应头文件语句以分号结束,文件包含等除外,换行无关程序中可用/*/加注释,单行亦可用/,#include/*标准输入输出头文件,类似import*/,例1.1输出HelloWorld.,例1.2令a=123,b=456,求两整数之和,#includevoidmain()inta,b,sum;a=123;b=456;sum=a+b;printf(“变量sum值为%d”,sum);/*格式控制符%d,%c,%f*/,函数体分声明部分和执行部分变量必须先定义后使用定义变量实际就是在内存空闲区域中分配存储单元,对变量名赋值或取值就是对该存储单元进行读写,存储单元地址通过,例1.3输入2个数输出大者,定义max函数求大者,#includevoidmain()inta,b,c;scanf(“%d,%d”,/回车n,函数分main函数、库函数和自定义函数函数首部包括返回值类型函数名参数及其类型若函数的具体定义出现在使用语句之后,则必须在使用前进行声明,intmax(intx,inty)/*形参*/intz;if(xy)z=x;/*分支语句*/elsez=y;return(z);,intmax(intx,inty);/*函数声明*/,C程序结构小结:,#include#definevoidmain()/函数次序可调子函数声明与变量定义执行语句组返回值类型函数名1(参数表)变量定义与函数声明执行语句组.返回值类型函数名n(参数表)变量定义与函数声明执行语句组,结构:由若干函数(main函数、库函数、自定义函数)组成,main函数是程序入口。函数包括函数首部和函数体两部分,函数体包括声明部分和执行部分,声明部分包括变量定义和函数的声明,执行部分包括各类语句。函数不能嵌套定义,函数与变量不能重名,找出以下源程序中存在的9处错误:,intmax(x,y)intz;if(xy)z=x;elsez=y;return(z);voidmainscanf(“%d,%d”,a,b);/*读入两整数,用逗号分隔c=max(a,b);printf(“max=%cn”,c),#include,;,inta,b,c;,*/,%d,1、变量未定义或函数使用前未声明,缺少头文件2、丢分号和,intint,1.3语法对照数据类型,1.3语法对照运算符,1.3语法对照控制结构,1.3语法对照函数,值传递参数,1.3语法对照函数,参数引用传递,1.4指针与链表,谭浩强-C程序设计(第3版)-第十章指针,基本概念指针的定义及用法指针在数组访问中的应用利用指针创建动态数组利用指针创建和操作链表,内存区的每一个字节有一个编号,该编号称为内存单元的地址或指针。若在程序中定义一个变量,在编译时会给其分配若干内存单元,其中第一个存储单元的编号称为该变量的地址或指针,inti;shortj,k;scanf(“%d%d”,直接访问:通过变量名存取值的方式间接访问:将变量的地址存放在另一变量(p)中,通过p访问变量,short*pp=scanf(“%d”,p),地址指针变量的地址指针变量,某些变量专门用以存放别的变量的地址,称这类变量为指针变量,该类变量的类型称为指针类型,定义格式:基类型*指针变量名如:shortj;short*p;p=,(1)通过指针对变量进行读写时如何知道需要读写的字节数?在定义指针变量时必须指定基类型,且变量的类型和指针的基类型要一致!(2)指针类型与整数类型不同.只能将变量的地址赋给一个指针变量,而不能将一个常数赋给一个指针变量(零除外,代表NULL空地址)。此外,指针变量加减1,则指针指向的单元变动并非1,而是基类型所占字节数,即以sizeof(基类型)为一个移动单位(3)指针运算符*在定义变量时用于指明所定义变量是指针类型,在普通语句中用于取指针变量所指向存储单元的值.如printf(“%d”,*p);,指针变量的定义与用法,回顾,C程序由函数构成,包括main函数、库函数和自定义函数.函数不能嵌套定义,若先使用后实现,则需声明,库函数的声明在头文件中C语言中数组在定义时必须同时指定大小,而且大小必须为常数,不能为变量C语言中函数参数传递为值传递,C+中新加引用传递C语言中无boolean类型,0代表假,非零代表真C语言中有指针类型,指针变用以存储其它变量的地址,基类型决定能存储何类变量的地址.inti;int*p;p=,C语言中,一维数组的数组名是指向数组首元素的指针常量,该指针常量的基类型与数组元素的类型相同,指针常量的值是数组的起始地址。可通过数组名用下标法访问数组元素,如果将该指针常量赋值给一个相应类型的指针变量,则也可借助指针变量用指针法访问数组元素,指针法访问数组,如:inta10;int*p=a;/*也可用int*p=说明:指针加1或减1则指针指向的单元移动并非1,而是根据基类型所占字节数移动。指针法速度比下标法快,利用指针创建动态数组,静态数组,voidmain()inta10;/a为指针常量for(inti=0;i10;+i)scanf(“%d”,voidmain()inta10;int*p;for(p=a;pa+10;+p)scanf(“%d”,p);for(p=0;pa+10;+p)printf(“%dn”,*p);,动态数组,voidmain()int*a;/a为指针变量,可类似数组名用a=(int*)malloc(10*sizeof(int);for(inti=0;i10;+i)scanf(“%d”,voidmain()int*a;a=(int*)malloc(10*sizeof(int);int*p;for(p=a;pnext;/思考+p为何不可,练习与作业,在主函数中定义含N个元素的整型数组并输入各元素的值,之后分别调用如下函数并测试sum函数求数组各元素值的总和average函数求各元素平均值作业删除数组首元素,其后元素
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 张家口市中石化2025秋招面试半结构化模拟题及答案电气仪控技术岗
- 大唐电力通辽市2025秋招性格测评常考题型与答题技巧
- 2025年潜水科目考试题及答案
- 石嘴山市中石油2025秋招笔试模拟题含答案行测综合英语
- 七台河市中石油2025秋招网申填写模板含开放题范文
- 中国移动汉中市2025秋招半结构化面试模拟30问及答案
- 黄冈市中石化2025秋招面试半结构化模拟题及答案油田勘探开发岗
- 那曲市中石油2025秋招面试半结构化模拟题及答案油气储运与管道岗
- 岳阳市中石化2025秋招面试半结构化模拟题及答案炼化装置操作岗
- 上饶市中石化2025秋招面试半结构化模拟题及答案炼油工艺技术岗
- 高二数学直线倾斜角与斜率同步练习题
- 食材配送服务方案投标方案(技术方案)
- JT-T-1180.2-2018交通运输企业安全生产标准化建设基本规范第2部分:道路旅客运输企业
- 中国省市县行政区划
- 一元二次方程-相似三角形-锐角三角函数复习
- 冰皮月饼的制作方法课件
- 在职党员到社区报到登记表“双报到”登记表
- 降低10炉脱硝系统液氨消耗量0
- 地下储藏室产权使用权转让协议
- 高考专题复习:小说专题训练人称的交替使用
- 大数据在高速公路收费稽查打逃方面的应用
评论
0/150
提交评论