预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共36页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

数组教学要点三、字符数组 功能:用来解决字符串的存储及操作。 定义 初始化与赋值 字符数组的输入与输出 字符串处理函数 例7-8数组的含义与存储特点一维数组的定义1、方法: 数组名[下标] 2、要点: 数组与其他变量一样,必须先定义后使用. C规定只能逐个引用数组元素而不能一次引用整个数组. 下标可以是整型常量或整型表达式 如:a[1]=a[2*3]+3; 下标的取值范围为:0~n-1 例7-1:例7_1:一维数组的输入与输出。1、C规定只有静态数组和外部存储数组才能进行初始化 2、在数组定义时直接赋值。 staticinta[10]={1,3,4,5,6,2,4,6,7,8}; 3、可以只给部分元素赋初值.未赋值的元素值自动取0。 inta[10]={1,2,3}; 4、静态数组若不赋初值,系统自动赋值为0. 5、在对数组全部元素赋初值时,可以不指定数组长度. inta[5]={1,2,3,4,5}; 或 inta[]={1,2,3,4,5}; 6、赋值时数据的类型应与数组类型保持一致。例7_2:用数组来处理Fibonacci数列问题.例7_3:用起泡法对10个数进行排序(冒泡排序法) 算法:(从小到大)将两个相邻的数进行比较,将小的数调换到前头.二维数组的定义二维数组的定义地址值数组元素1、方法: 数组元素的引用通过两个下标来指定。 一般形式为:数组名[下标][下标] 2、要点: 下标可以是整型表达式;如a[2-1][2*2-1] 数组元素可以出现在表达式中,也可以被赋值; 如:b[1][2]=a[2][3]/2; 注意下标值应在已定义的数组大小范围内; 如:inta[2][3];则a[2][3]=3的引用是不合法的。 请区分定义数组a[2][3]和引用元素a[2][3]的不同。1.分行给二维数组赋值. inta[2][3]={{1,2,3},{4,5,6}}; 2.去掉行的界限赋初值. inta[2][3]={1,2,3,4,5,6}; 3.只对部分行赋初值. inta[2][3]={{1},{4}}; intb[3][4]={{1,2},{1,2,3,4}}; 4.若对数组的全部元素赋初值可以省略第一维的长度 inta[][2]={1,2,3,4,5,6}; intb[][4]={{3,3,3},{},{1,3}};例7_4:将一个二维数组的行列互换存放到另一个数组中.例7_5:有一个34的矩阵,求出其中值为最大的元素的值以及它在矩阵中的位置.1、字符数组的定义与前面其他类型的数组的定义相同。 2、字符串:C中将字符串当作字符数组进行处理。 元素的个数:为实际字符个数+1。 例如: (1)charstring[5]=“ABCD”; (2)charc[10]; c[0]=‘I’;c[1]=‘‘;c[2]=‘a’;c[3]=‘m’;c[4]=‘‘; c[5]=‘h’;c[6]=‘a’;c[7]=‘p’;c[8]=‘p’;c[9]=‘y’; 1、字符串的结束标志: “\0”:ASCII码值为0的字符。 在程序中判断字符串是否结束不再是依据字符数组的长度而是查找字符串的结束标志“\0”. 2、例: charstring[]=“abcdef” charstring[]={‘a’,’b’,’c’,’d’,’e’,’f’}1、将字符逐一送入字符数组中,例如: staticcharc[10]={‘I’,‘’,‘a’,‘m’,‘’,‘h’,‘a’,‘p’,‘p’,‘y’}; 要点: 在给字符数组赋初值时初值的个数不能超过字符数组的长度, 若初值字符的个数小于数组的长度时,字符与数组前面的元素对应,其余的元素自动赋值‘\0’(空字符)。 字符数组的大小也可以省略。如: staticcharc[]={‘b’,‘o’,‘o’,‘k’}; 请区别字符数组与字符串的不同 2、对一批字符的描述 3、用字符串给字符数组赋值 4、例7-6、7-7对一批字符的描述用字符串给字符数组赋值 1、在c语言中对字符串赋初值可以写成: staticcharc[]={“Iamhappy”}; 或staticcharc[]=“Iamhappy”; 这里字符数组的长度不是10,而是11。 2、将一个字符串赋值给一个字符数组,只能用在赋初值的情况下,不能用在赋值语句中.例如: charstr[11]; str=“Iamhappy”; 是错误的.例7_6:字符数组元素的引用。例7_7:输出一个钻石图形。字符串的输入与输出 一、逐个字符的输入与输出:用格式符“%c”。 staticcharstr[]=“book”; for(i=0;i<4;i++) `printf(“%c”,str[i]); 二、将整个字符串一次输入或输出:用“%s”。 如:staticcha