




已阅读5页,还剩50页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第七章 数组 学习目的: 1、理解数组元素与普通变量的区 别 2、掌握数组的地址 3、掌握数组的存储 4、掌握数组的初始化 第一节 数组的概念 在处理实际问题时,常要处理同一类型 的成批数据(如100个学生的成绩)。可以 把这批数据看作一个有机的整体,称为数组 ,用一个统一的名字代表这批数据,而用序 号或下标来区分各个数据。 例如:用s代表学生成绩这组数据,s是 数组名,用s1、s2、s3分别代表学生1、学生2 、学生3的成绩,s右下角的数字1、2、3用 来表示该数据在数中的序号,称为下标。数 组中的数据称为数据元素。 概括地说:数组是有序数据的集合,要 寻找一个数组中的某一个元素必须给出两个 要素:数组名和下标。 注意: 1 数组是有类型属性的 2 同一数组中的每一个元素都必须属于 同一数据类型 3 一个数组中内存中占一片连续的存储 单元 int k10; 由于在程序中无法 用下角表示下标, 因此C中用方括号 来表示下标。 如k0、k1、k2在C中 分别用k0、k1、k2 来表示。 k0 k1 k2 k3 k4 k5 k6 k7 k8 k9 1000 1002 1004 1006 1008 1010 1012 1014 1016 1018 一、一维数组的定义与引用 1 定义一组数组 类型标识符 数组名常量表达式; 例如:float s10; 它表示数组名为s,此数组为实型,有10个元素。 说明:数组名定名规则和变量名相同 用方括号括起来的常量表达式表示下标值 int a10; int s2*8; #define N 20 int arrayN*2; 第二节第二节 一维数组一维数组 常量表达式的值表示元素的个数,即数组长度。 int a10;表示a有10个元素,这10个元素是:a0、 a1、a9。 常量表达式中可以包括常量、符号常量,但不能包含 变量。也就是说,C不允许对数组的大小作动态定义, 即数组的大小不依赖于程序运行过程中变量的值。 int k; scanf(“%d”, int sk; 注意点: 1)在表示数组元素时下标可以是正整数或整 型变量或整型表达式 for (t=0;t main() int a11,n,j,temp; for (n=1;naj+1) temp=aj;aj=aj+1;aj+1=temp; for (n=1;n main() int a34,t,k; for (t=0;t main() int a333,t,k,i; for (t=0;t main() int row,colum,max,a34,m,n; for (m=0;mmax) max=amn;row=m;colum=n; printf(“max is %4dnrow is %dncolum is %dn”, max,row,colum); 第四节 字符型数组与字符串 用来存放字符数据的数组称为字符数组, 字符数组中的一个元素存放一个字符。字符数 组具 有数组的共同属性。由于字符应用广泛,C 为它提供了许多方便用法和函数,因此专门介 绍字符串和字符数组。 一、字符型数组的定义与初始化与其它数组 是类似的。 定义: char a15; char a210; 字符数组初始化的方法 char c=I, ,a,m, ,h,a,p,p,y; C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 Iamhappy 733297109 32104 97112 112 121 在中在中charchar型数组的每个元素所对应的存型数组的每个元素所对应的存 储空间都是一字节储空间都是一字节, ,因此字符因此字符型数组的型数组的每个每个 元素元素都都可可以以存放存放一个字符一个字符。 语言中有字符串常量,在中对字符串 的处理是使用字符数组来进行的。 char c=“I am happy”; C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 Iamhappy0 733297109 32104 97112 112 121 0 字符数组中的每个元素都对应着字符串中的一个字符;此外应 注意字符串未尾有一个空操作符。 char a=“I am a student”; 或 char a= “I am a student”; 在程序的执行部分,不允许把字符串直接赋 给 一个字符数组名和该数组中的任何元素,如 下 面是错误: char a10; a=“abc”; a8=“abc”; 二、字符的输入 用scanf()函数输入字符或字符串。 例: char str9; int k; for (k=0;k #include main() char a7=“abcdef”; char b4=“abc”; strcpy(a,b); printf(“%cn”,a5); printf(“%s”,a); 例14 若有以下定义和语句: char s1=“12345“,s2=“1234“; printf(“%dn“,strlen(strcpy(s1,s2); 则输出结果是_ 例15 以下程序片段的输出是_。 printf(“%dn“,strlen(“ATSn123A“); 例子16 以下程序输出的结果是_ #include #include main( ) char w10=“ABCD”,”EFGH”,”IJKL”,”MNOP”; int k; for (k=1;k main( ) char ch7=“65ab21”; int k,s=0; for (k=0;chk=0 char string20; int t; for (t=0;t0) strcpy(string,str0); else strcpy(string,str1); if (strcmp(str2,string)0) strcpy(string,str2); 例子19 输入3个字符串,要求将字母按由小到大 的顺序输出。 #include #include main() char str320; char string20; int t; for (t=0;t0) strcpy(string,str0); strcpy(str0,str1); strcpy(str1,string); if(strcmp(str0,str2)0) strcpy(string,str0); strcpy(str0,str2); strcpy(str2,string); if(strcmp(str1,str2)0) strcpy(string,str1); strcpy(str1,str2); strcpy(str2,string); for (t=0;t=2;t+) puts(strt); 总结 1 数组是具有相同类型的值的集合,数组 名是数组所有元素的代表,可以通过数组 名加下标的方式来访问数组的每一个元素 ,数组的下标从0开始。数组元素在内存占 用连续的空间,数组名是这个空间的首地 址。多维数组的所有元素在内存也是线性 存放。 2 数组元素的遍历可以通过for循环进行 ,多维数组的遍历可以用多重循环进行。 3 数组名本身是一个地址常
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 林业财务工作计划要点-财务工作计划
- 武松人物介绍
- 城市综合体停车场车位租赁及夜间停车优惠合同
- 农产品典当金融服务合同范本
- 矿产资源开发补偿贸易贷款协议
- 北京金融资产股权转让及风险管理合同
- 智能交通园区场地合作与交通管理系统合同
- 节能环保自建房设计与施工总承包合同
- 和书有关的科学课件图片
- 房地产租赁收益分配与合同管理协议
- 上海市嘉定区联考2023-2024学年五年级下学期期中数学试题(含答案)
- 2025-2030中国精细磷化工行业市场现状供需分析及投资评估规划分析研究报告
- 我命由我不由天课件-2025年高三百日励志班会课
- 分娩期焦虑的产妇的护理
- 司法雇员考试题目及答案
- 部编版四年级语文《我们家的男子汉》教学设计及反思
- “共享平台广告获利”平台广告获利共享商业计划书
- 第18课《井冈翠竹》课件-2024-2025学年统编版语文七年级下册
- 水利洞内清淤方案范本
- 升压站电气施工方案
- 2024年全国高中数学联赛(浙江预赛)试题含参考答案
评论
0/150
提交评论