第七讲 二维数组的定义及使用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2) 将所有数据写在一个大括弧中,按数组排列顺序 C 语 言 程 序 设 计 课 件 进行赋值。
int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
(3) 对部分元素赋值
int a[3][4]={{1},{5},{9}};
a[0][0] 1 a[1][0] 5 a[2][0] 9
用‚%s”输出时,遇‘\0‟ 结束
C语言程序设计课件 例
C 语 言 程 序 设 计 课 件
百度文库
main() { char a[]={'h','e','l','\0','l','o','\0'}; printf("%s",a); }
输出:hel
h e l
\0 l o \0
数组中有多个‘\0‟时, 遇第一个结束
C语言程序设计课件

char str1[20],str2[20]; str1={“Hello!”}; str2=str1 ;()
C语言程序设计课件
5、字符串比较函数strcmp 格式:strcmp(字符串1,字符串2) 功能:比较两个字符串 比较规则:对两串从左向右逐个字符比较(ASCII码), 直到遇到不同字符或‘\0’为止 返值:返回int型整数。 a. 若字符串1< 字符串2,返回负整数 C b. 若字符串1> 字符串2, 返回正整数 语 c. 若字符串1== 字符串2, 返回零 言 程 说明:字符串比较不能用‚==‛,必须用strcmp 序 设 6、字符串长度函数strlen 计 格式:strlen(字符数组) 课 功能:计算字符串长度 件 返值:返回字符串实际长度,不包括‘\0’在内
C语言程序设计课件
二维字符数组初始化
例 char fruit[][7]={“Apple”,”Orange”, ”Grape”,”Pear”,”Peach”}; C 语 言 程 序 设 计 课 件
fruit[0] A
p
r
p
a
l
n
e
g
\0
\0
\0
fruit[1] O fruit[2] G fruit[3] P
fruit[4] P
e
\0 \0 \0
r
e e
a
a a
p
r c
e
\0 h
\0
\0 \0
C语言程序设计课件 例 输出一个字符串
0
I a m
C 语 言 程 序 设 计 课 件
#include <stdio.h> main() {char c[10]={'I',' ','a','m',' ','a',' ','b','o','y'}; int i; for(i=0;i<10;i++) printf("%c",c[i]); printf("\n"); }
3、字符串连接函数strcat 格式:strcat(字符数组1,字符数组2) 功能:把字符数组2连到字符数组1后面 返值:返回字符数组1的首地址 说明:字符数组1必须足够大 连接前,两串均以‘\0’结束;连接后,串1的‘\0’取消 新串最后加‘\0’ C 语 言 程 序 设 计 课 件 4、字符串拷贝函数strcpy 格式:strcpy(字符数组1,字符串2) 功能:将字符串2,拷贝到字符数组1中去 返值:返回字符数组1的首地址 说明:字符数组1必须足够大 拷贝时‘\0’一同拷贝 不能使用赋值语句为一个字符数组赋值
a[0][3] 0 a[1][3] 0 a[2][3] 0
四、二维数组的应用举例 1、将一个矩阵进行转置
1 2 3 4 5 6
C语言程序设计课件
1 4 2 5 3 6
C 语 言 程 序 设 计 课 件
定义数组a int a[2][3];并将初始矩阵赋给a中元素 定义数组b int b[3][2];用来存放转置后的矩阵 a[0][0] a[0][1] a[0][2] a[1][0] a[1][1] a[1][2]
C语言程序设计课件
例 对于以下字符串,strlen(s)的值为: (1)char s[10]={„A‟,„\0‟,„B‟,„C‟,„\0‟,„D‟}; (2)char s[ ]=“\t\v\\\0will\n”;
C 语 言 程 序 设 计 课 件 答案:1 3
C语言程序设计课件
编写程序:
main() { int a[2][3]={{1,2,3},{4,5,6}}; int b[3][2],i,j; printf(“array a:\n”); printf(“array b:\n”); for(i=0;i<=1;i++) { for (i=0;i<=2;i++) for(j=0;j<=2;j++) { { for (j=0;j<=1;j++) printf(“%5d”,a[i][j]); printf(“%5d”,b[i][j]); printf(“\n”); b[j][i]=a[i][j]; } } printf(“\n”); } }
C 语 言 程 序 设 计 课 件
C语言程序设计课件 2、 求二维数组中最大元素值及其行列号
max=a[0][0] for i=0 to 2
for j=0 to 3 #include <stdio.h> main() { int a[3][4]= {{1,2,3,4}, {9,8,7,6}, {-10,10,-5,2}}; int i,j,row=0,colum=0,max; max=a[0][0]; for(i=0;i<=2;i++) for(j=0;j<=3;j++) if(a[i][j]>max) { max=a[i][j]; row=i; colum=j; } printf("max=%d,row=%d, colum=%d\n",max,row,colum); }
引用格式:
注意:
数组名[行下标][列下标]
1、行下标、列下标均从0开始,到定义的下标值减 一结束。 2、不能写成 数组名[行下标,列下标]
C语言程序设计课件
三、二维数组的初始化
(1) 分行给二维数组赋值 最直观,最合理
int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
内存存放字符ASCII码
C语言程序设计课件
例 main( ) { char a[5]={„H‟,‟e‟,‟l‟,‟l‟,‟o‟}; printf(“%s”,a); } C 语 言 程 序 设 计 课 件
0
1
2
3
4
h
e
l
l
o
结果:Hello#-=*
例 main( ) { char a[ ]=“Hello”; printf(“%s”,a); } 结果:Hello
a[0][1] 2 a[1][1] 6 a[2][1] 10
a[0][2] 3 a[1][2] 7 a[2][2] 11
a[0][3] 4 a[1][3] 8 a[2][3] 12
a[0][0] 1 a[1][0] 5 a[2][0] 9
a[0][1] 0 a[1][1] 0 a[2][1] 0
a[0][2] 0 a[1][2] 0 a[2][2] 0
1 2 3 4 5 6
b[0][0] b[1][0] b[2][0] b[0][1] b[1][1] b[2][1]
数组a: 行下标 列下标
C语言程序设计课件 数组b: 行下标 列下标
C 语 言 程 序 设 计 课 件
0 0 0 0 0 1 1 0 0 2 2 0 1 0 0 1 1 1 1 1 1 2 2 1 定义变量i,j,分别表示a的行下标和列下标, a[i][j]==b[j][i] 当i=0时,j从0变化到2;当i=1时,j从0变化到2 ; for (i=0;i<=1;i++) for (j=0;j<=2;j++) b[j][i]=a[i][j];
C 语 言 程 序 设 计 课 件

a[i][j]>max

max=a[i][j] row=i colum=j 输出:max和row,colum
C语言程序设计课件
五、字符数组和字符串
1、字符数组
(1)定义 例 char c[10], ch[3][4];
C 语 言 程 序 设 计 课 件
(2)字符数组的初始化 逐个字符赋值 char ch[5]={„H‟,‟e‟,‟l‟,‟l‟,‟o‟}; 用字符串常量 char ch[6]=“Hello”; (3)字符数组的引用
C语言程序设计课件
第七讲 二维数组的定义和引用
一、二维数组的定义
定义二维数组的一般形式:
类型说明符 数组名[常量表达式1][常量表达式2] C 行下标 列下标 语 言 程 序 决定了数组的类型 命名规则同简单变量和一维数组 设 计 注意:数组中数组元素的个数为:常量表达式1╳常量表达式2 课 件
C语言程序设计课件 如: int a[3][4];
C语言程序设计课件 1、字符串输出函数puts 格式:puts(字符数组) 功能:向显示器输出字符串(输出完,换行) 说明:字符数组必须以‘\0‟结束
C 语 言 程 序 设 计 课 件
2、字符串输入函数gets 格式:gets(字符数组) 功能:从键盘输入一以回车结束的字符串放入字符数组 中,并自动加‘\0’ 说明:输入串长度应小于字符数组维数 例 #include <stdio.h> main( ) {char string[80]; printf(“Input a string:”); gets(string); puts(string);} 输入: How are you? 输出: How are you?
1 2
3 4 5 6 7 8 9
a
b
o
y
C语言程序设计课件
2、字符串
(1)字符串及其结束标志 (2)无字符串变量,用字符数组处理字符串 (3)字符串结束标志:‘\ C 语 言 程 序 设 计 课 件 例 ‚hello”共5个字符,在内存占6个字节 字符串长度5
h e l l o \0 0
104 101 108 108 111
定义了包含有12个整型数组元素的二维数组 a,在内存中 分布如下: a[0][0] a[1][0] a[2][0] a[0][1] a[1][1] a[2][1] a[0][2] a[1][2] a[2][2] a[0][3] a[1][3] a[2][3]
C 语 言 程 序 设 计 课 件
二、二维数组的引用
相关文档
最新文档