C语言程序设计教程 高等教育出版社第二版 第五章 数组
程序: main()
{int i,j,row=0,colum=0,max; static int
a[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}};
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;
}
第 17 页 共 30 页
C语言程序设计教程 高等教育出版社第二版 第五章 数组
printf(\
}
注意:本例中得到的行列值从0始。
§5.3 字符数组和字符串
字符数组:存放字符数据的数组。每一个元素数组存放一个字符。
5.3.1 字符串和字符串的存储方法
字符串是指若干有效字符(指系统允许使用的字符)的序列。C语言允许的字符串可包括字母、数字、专用字符、转字符等。它用双引号括起来。C语言中没有字符串变量。字符串存放在一个字符型数组中。 【例】:将字符串“computer”存入字符数组str中。
定义字符数组:Char str[8];
采用赋值运算,将字符一个一个地赋给字符数组各元素:
Str[0]=’c’;Str[1]=’o’;Str[2]=’m’;?.
?Str[7]=’r’;str[8]=’\\0’;
存储字符串示意图:
Str[0] Str[1] Str[2 ] ? ? ? Str[7] Str[8]
第 18 页 共 30 页
C语言程序设计教程 高等教育出版社第二版 第五章 数组
c o m p u t e R \\0 C语言规定:以“\\0”字符作为字符串结束标志。“\\0”是指ASCII为0的字符,它不是一个普通的可显示字符,而是一个“空操作”字符,它不进行任何操作,只是作为一个标志。
5.3.2 字符数组的初始化 1、 逐个为数组元素指定初值
如:static char c[10] = {'I',' ','a','m', ' ','h','a','p','p', 'y'};
2、 初始化数据少于数组长度,多余元素自动为“空”。
如:static char c[10] = {'c',' ','p','r',
'o','g','r','a','m'};
3、 指定初值时,若未指定数组长度,则长度等于初值个数。
如:static char c[ ] = {'I',' ','a','m','
','h','a','p','p','y'};
4、 对字符数组指定一个字符串初值
第 19 页 共 30 页
C语言程序设计教程 高等教育出版社第二版 第五章 数组
如:static char c[ ] ={“I am happy”} 注意:字符数组的元素个数应该足够大,能容纳所存的字符和“\\0”。
5.3.3 字符数组的引用
引用一个元素,得到一个字符。 【例】: 输出一个字符串。
main()
{static char c[10]={'I',' ','a','m','
','a',' ','b','o','y'};
int i;
for(i=0;i<10;i++)
printf(\printf(\}
输出结果:I am a boy
5.3.4 字符串的输入\\输出两种方法:
1、用“%c”格式符逐个输入输出。
2、用“%s”格式符按字符串输入输出。
第 20 页 共 30 页