维数组的定义及使用.ppt_第1页
维数组的定义及使用.ppt_第2页
维数组的定义及使用.ppt_第3页
维数组的定义及使用.ppt_第4页
维数组的定义及使用.ppt_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

第十一讲 二维数组的定义和引用,一、二维数组的定义,定义二维数组的一般形式:,C语言程序设计课件,C 语 言 程 序 设 计 课 件,类型说明符 数组名常量表达式1常量表达式2,决定了数组的类型,命名规则同简单变量和一维数组,注意:数组中数组元素的个数为:常量表达式1常量表达式2,行下标,列下标,C语言程序设计课件,C 语 言 程 序 设 计 课 件,如: int a34;,定义了包含有12个整型数组元素的二维数组 a,在内存中 分布如下:,a00,a01,a02,a10,a11,a12,a20,a21,a22,a03,a13,a23,二、二维数组的引用,引用格式: 数组名行下标列下标,注意:,1、行下标、列下标均从0开始,到定义的下标值减 一结束。,2、不能写成 数组名行下标,列下标,(1) 分行给二维数组赋值,(2) 将所有数据写在一个大括弧中,按数组排列顺序 进行赋值。,(3) 对部分元素赋值,最直观,最合理,C语言程序设计课件,C 语 言 程 序 设 计 课 件,三、二维数组的初始化,int a34=1,2,3,4,5,6,7,8,9,10,11,12;,int a34=1,2,3,4,5,6,7,8,9,10,11,12;,int a34=1,5,9;,a00,a01,a02,a10,a11,a12,a20,a21,a22,a03,a13,a23,1,2,3,4,5,6,7,8,9,10,11,12,a00,a01,a02,a10,a11,a12,a20,a21,a22,a03,a13,a23,1,0,0,0,5,0,0,0,9,0,0,0,C语言程序设计课件,C 语 言 程 序 设 计 课 件,四、二维数组的应用举例,1、将一个矩阵进行转置,1 2 3 4 5 6,4 5 3 6,定义数组a int a23;并将初始矩阵赋给a中元素,a00 a01 a02 a10 a11 a12,1 2 3 4 5 6,b00,b10,b20,b01,b11,b21,定义数组b int b32;用来存放转置后的矩阵,C语言程序设计课件,C 语 言 程 序 设 计 课 件,数组a:,行下标,0 0 0 1 1 1,列下标,0 1 2 0 1 2,数组b:,行下标,0 0 0 1 1 1,列下标,0 1 2 0 1 2,当i=0时,j从0变化到2;当i=1时,j从0变化到2 ;,for (i=0;i=1;i+) for (j=0;j=2;j+) bji=aij;,定义变量i,j,分别表示a的行下标和列下标, aij=bji,C语言程序设计课件,C 语 言 程 序 设 计 课 件,编写程序:,main() int a23=1,2,3,4,5,6; int b32,i,j; printf(“array a:n”); for(i=0;i=1;i+) for(j=0;j=2;j+) printf(“%5d”,aij); bji=aij; printf(“n”); ,printf(“array b:n”); for (i=0;i=2;i+) for (j=0;j=1;j+) printf(“%5d”,bij); printf(“n”); ,C语言程序设计课件,C 语 言 程 序 设 计 课 件,2、 求二维数组中最大元素值及其行列号,#include main() int a34= 1,2,3,4, 9,8,7,6, -10,10,-5,2; int i,j,row=0,colum=0,max; max=a00; for(i=0;imax) max=aij; row=i; colum=j; printf(“max=%d,row=%d, colum=%dn“,max,row,colum); ,C语言程序设计课件,C 语 言 程 序 设 计 课 件,五、字符数组和字符串 1、字符数组 (1)定义,(2)字符数组的初始化 逐个字符赋值 char ch5=H,e,l,l,o; 用字符串常量 char ch6=“Hello”;,例 char c10, ch34;,(3)字符数组的引用,C语言程序设计课件,C 语 言 程 序 设 计 课 件,C语言程序设计课件,C 语 言 程 序 设 计 课 件,例 输出一个字符串,#include main() char c10=I, ,a,m, ,a, ,b,o,y; int i; for(i=0;i10;i+) printf(“%c“,ci); printf(“n“); ,C 语 言 程 序 设 计 课 件,2、字符串 (1)字符串及其结束标志 (2)无字符串变量,用字符数组处理字符串 (3)字符串结束标志:,C语言程序设计课件,C 语 言 程 序 设 计 课 件,例 main( ) char a5=H,e,l,l,o; printf(“%s”,a); ,例 main( ) char a =“Hello”; printf(“%s”,a); ,结果:Hello#-=*,结果:Hello,用“%s”输出时,遇0结束,C语言程序设计课件,C 语 言 程 序 设 计 课 件,main() char a=h,e,l,0,l,o,0; printf(“%s“,a); ,例,输出:hel,数组中有多个0时, 遇第一个结束,C语言程序设计课件,C 语 言 程 序 设 计 课 件,1、字符串输出函数puts 格式:puts(字符数组) 功能:向显示器输出字符串(输出完,换行) 说明:字符数组必须以0结束,2、字符串输入函数gets 格式:gets(字符数组) 功能:从键盘输入一以回车结束的字符串放入字符数组 中,并自动加0 说明:输入串长度应小于字符数组维数,例 #include main( ) char string80; printf(“Input a string:”); gets(string); puts(string); 输入: How are you? 输出: How are you?,C语言程序设计课件,C 语 言 程 序 设 计 课 件,3、字符串连接函数strcat 格式:strcat(字符数组1,字符数组2) 功能:把字符数组2连到字符数组1后面 返值:返回字符数组1的首地址 说明:字符数组1必须足够大 连接前,两串均以0结束;连接后,串1的0取消, 新串最后加0,4、字符串拷贝函数strcpy 格式:strcpy(字符数组1,字符串2) 功能:将字符串2,拷贝到字符数组1中去 返值:返回字符数组1的首地址 说明:字符数组1必须足够大 拷贝时0一同拷贝 不能使用赋值语句为一个字符数组赋值,例 char str120,str220; str1=“Hello!”; str2=str1 ;(),C语言程序设计课件,C 语 言 程 序 设 计 课 件,5、字符串比较函数strcmp 格式:strcmp(字符串1,字符串2) 功能:比较两个字符串 比较规则:对两串从左向右逐个字符比较(ASCII码), 直到遇到不同字符或0为止 返值:返回int型整数。 a. 若字符串1 字符串2, 返回正整数 c. 若字符串1= 字符串2, 返回零 说明:字符串比较不能用“=”,必须用strcmp,6、字符串长度函数str

温馨提示

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

评论

0/150

提交评论