版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言程序编程综合应用 1 指针和变量 2 数组 3 指针和数组 4 指针和字符串 5 函数与模块化编程,C语言程序设计教程,2,1 C语言的指针和变量,一、指针变量概念及作用 指针变量:用于存放地址的特殊变量 指针变量作用:实现对其指向地址空间的间接访问,二、指针变量及间接访问的应用 指针变量定义:数据类型符 *指针变量名; int *p; 指针变量初始化: 1)定义同时初始化:int a,*p=,3,指针变量应用: 间接访问运算符(*): 运算规则: 1)对指针变量做直接访问找到其指向的内存空间地址; 2)根据地址再对该地址空间进行访问。,程序示例:main() int a,*p= ,4,
2、2、数组,一、数组概念及作用 概念:具有相同数据类型的数据的有序集合 数组作用:实现对其存储的批量数据的集中处理,二、数组及其应用 数组定义:数据类型符 数组名数组长度; int a10; 数组初始化: 1)定义同时初始化:int a=1,2,3,4,5; 2)先定义后初始化:int a5,i; for(i=0;i5;i+) scanf(“%d”,5,数组的访问:对于数值型数组只能对每个数组元素进行访问 下标法:利用数组元素的下标(0n-1)进行对各个数组 元素的访问。 访问规则: 根据每个数组元素的下标直接对该下标所对应的数组元素空 间进行访问操作。,1、对单个数组元素的访问 main()
3、int a=1,2,3,4,5; a1=a2; printf(“%dn”,a1); ,6,2、对整个数组的访问 main() int a=1,2,3,4,5,i; for(i=0;i5,i+) ai+; for(i=0;i5,i+) printf(“%dn”,ai); ,7,字符数组,一、字符数组的作用 字符数组作用:实现对字符串的处理 字符串概念:若干有效字符的序列; 可包含转义字符、 ASC码表中的字符; 形式为: 用双引号括起来的字符序列; 例:I am a student. , Hello a5=; fn。 字符串的结束标志:0。 注:C语言无字符串类型,字符串是存放在字符数组中的。,
4、8,二、字符数组及其应用 数组定义:char 数组名数组长度; char a10; 数组初始化: 1)定义同时初始化:char a=“student”; 2)先定义后初始化:char a30; scanf(“%s”,a);,字符数组的访问:字符数组可以对每个数组元素进行访问也 可以利用字符数组名对字符数组进行整体访问。 下标法:利用数组元素的下标(0n-1)进行对各个数组 元素的访问。 访问规则: 根据每个数组元素的下标直接对该下标所对应的数组元素空 间进行访问操作。,9,字符数组应用示例: main() char a30,b30; int i,j; gets(a); for(i=0;ai!=
5、0;i+) if(ai=0 ,输入:a1b2c3d4 输出:1234,10,3、指针与数组,一、指针对数组的作用 数组各个元素在内存中的有序存储为利用指针实现对其的访问提供了便利的条件,我们可利用指针的前后移动使用间接访问实现对数组各个元素的操作。,二、指针对数组的操作 定义指向数组的指针:int a10,*p; 指针初始化: 1)定义同时初始化:int a10,*p=a(或*p=),11,指针法:利用指针和数组的指向关系间接地访问对各个数组 元素。 访问规则: 建立指针和数组的指向关系后,利用指针的移动和间接访问 符访问其指向的各个数组元素空间。,1、对单个数组元素的访问 main() in
6、t a=1,2,3,4,5,*p= ,12,2、对整个数组的访问 main() int a=1,2,3,4,5,*p=a; for(;p=0)*p=-*p; for(p=a;pa+5,p+) printf(“%dn”,*p); ,13,4、指针与字符串,一、指针对字符串的作用 字符串各个字符在内存中的有序存储为利用指针实现对其的访问提供了便利的条件,我们可利用指针的前后移动使用间接访问实现对字符串的操作。,二、指针对字符串的操作 定义指向字符串的指针:char *p; 字符指针初始化: 1)定义同时初始化:char *p=“abcd”; 2)先定义后初始化:char *p; p=“abcd”;
7、,14,程序示例1 main() char s=“aBcD”,*p=s; for(;*p!=0;p+) if(*p=A ,15,程序示例2: main() char a30,b30,*p,*q; p=a;q=b; gets(p); for(;*p!=0;p+) if(*p=0 ,输入:a1b2c3d4 输出:1234,16,5 函数与模块化编程,一、模块化概念及作用 模块化;在设计较复杂的程序时,我们一般采用的方法是:把问题分成几个部分,每部分又可分成更细的若干小部分,逐步细化,直至分解成很容易求解的小问题。 模块化的作用:便于实现大型软件的并行开发、软件的调试及维护、软件的更新和升级。,17
8、,模块化编程在C语言中的应用;,1、概述:C语言是以函数为驱动的语言,其模块化的应用就是将各个功能用函数加以实现,然后利用函数之间的调用和被调用的关系将各个独立的函数整合成一个完整的程序。,2、函数的分类: 1)根据返回值的有无可分为有返回值函数和无返回值函数; 2)根据函数调用参数的有无可分为有参函数和无参函数;,18,3、函数的定义: 返回值类型 函数名(形参列表) 例如:int fun(int a,int b),4、函数的结构:函数定义和函数体 例如:int max(int a,int b) /*定义函数max*/ int y; y=(ab)? a:b; /*条件表达式 */ retur
9、n y; /*函数结果的返回*/ ,19,5、函数调用及参数传递: 1)调用格式:函数名(实参列表) 2)参数传递: 实参和形参的匹配规则: 形式参数在函数中是变量名, 在函数调用时,形参被分配相应的内存; 实际参数是表达式负责向对应的形参标识的内存单元传递数据; 实参与形参必须个数相同; 对应的形参和实参的类型必须一致; 实参和形参在各自列表中的次序要一致。,20,参数传递的方法:,传值:将实参列表中各个实参的值依次复制到形参列表各个形参的内存空间中去。注:采用传值的方法只能从被调函数利用renturn语句返回一个值。,main() int a=2,b=5,c; int max(int ,int ); c=max(a,b); printf(“max=%d”,c); ,int max(int x,int y) int z; if (x=y)z=x; else z=y; return y; ,21,传地址:将实参列表中各个实参的地址依次复制到形参列表各个形参的内存空间中去。注:采用传地址的方法可以从被调函数隐形地返回
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026北京印刷学院非事业编制财务人员招聘1人备考题库及参考答案详解(新)
- 指关节强直炎症机制-洞察与解读
- 2026天津宏达投资控股有限公司及所属企业招聘工作人员16人备考题库带答案详解(培优)
- 2026南溪区交通运输局招聘交通运输协管员5名备考题库附答案详解(预热题)
- 早发精神疾病遗传特征-洞察与解读
- 2026新疆伊犁州奎屯市招聘公益性岗位2人备考题库含答案详解(精练)
- 2026吉林省科维交通工程有限公司东南地区项目部劳务派遣人员招聘14人备考题库附答案详解(达标题)
- 2026上半年安徽事业单位联考合肥新站高新区管委会招聘40人备考题库完整参考答案详解
- 2026北京大兴区魏善庄镇社区卫生服务中心招聘临时辅助用工人员4人备考题库附参考答案详解(完整版)
- 2026年甘肃省兰州市城关区文璟学校春季学期教师招聘备考题库含答案详解(基础题)
- 【火力发电厂短路电流计算过程案例1300字】
- T/CATEA 007-2023甘蔗脱毒健康种苗田间繁育技术规程
- 旅游行业股权合作方案设计范文
- 棋牌室转让合同协议书
- 抖音公会考试试题及答案
- 部门建设标准化管理
- 吊车租赁合同范本
- 财务年终总结概览
- 合伙投资烟酒店协议书范本
- 护理团体标准解读-成人氧气吸入疗法护理
- DL-T 5861-2023 电化学储能电站初步设计内容深度规定
评论
0/150
提交评论