数组指针与字符串.ppt

数组指针与字符串.ppt

ID:56433325

大小:244.50 KB

页数:81页

时间:2020-06-18

数组指针与字符串.ppt_第1页
数组指针与字符串.ppt_第2页
数组指针与字符串.ppt_第3页
数组指针与字符串.ppt_第4页
数组指针与字符串.ppt_第5页
资源描述:

《数组指针与字符串.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、(1)熟练掌握一维和二维数组的定义和初始化,数组元素的引用。(2)掌握一维字符数组和字符串,二维字符数组和字符串数组。(3)熟练掌握指针和地址的概念(4)熟练掌握指针变量的定义和初始化(5)熟练掌握通过指针引用指向实体(6)掌握通过指针变量引用数组元素及处理字符串(7)掌握指针数组和指向指针的指针(二级指针)第三讲数组、指针和字符串数组C语言中,数组是一个构造数组类型。数组是一组相同类型(基本类型或结构类型)的变量的集合,数组中的每个数据称为数组的元素,元素在数组中按线性顺序排列。用数组名代表逻辑上相关的一批数据,每个元素用下标变量来区分,下标变量代表元素

2、在数组中的位置。C语言中的数组的分类:按元素的数据类型可分为:整型数组、字符数组、实型数组、结构体数组、共用体数组、指针数组等。按数组维数可分为:一维数组、二维数组、多维数组。数组在内存中占用一片连续的存储单元,最低地址对应于数组的第一个元素,最高地址对应于最后一个元素。数组定义:一维数组:类型说明符数组名[常量表达式];二组数组:类型说明符数组名[常量表达式1][常量表达式2];例如:inta[10],x[3][4];从C语言二维数组的定义可以看出,一个二维数组也可以分解为多个一维数组。例如:inta[3][4]即:a[0][0],a[0][1],a[0

3、][2],a[0][3]a[1][0],a[1][1],a[1][2],a[1][3]a[2][0],a[2][1],a[2][2],a[2][3]二维数组是按行排列的,即按行顺次存放,先存放a[0]行,再存放a[1]行,最后存放a[2]行。每行中的元素也是依次存放。1.C语言中规定数组的下标从0开始,方括号中常量表达式表示数组元素的个数。2.数组的类型实际上是指数组元素的取值类型。对于同一个数组,其所有元素的数据类型都是相同的。数组名的书写规则应符合标识符的书写规定。数组名不能与其它变量名相同。允许在同一个类型说明中,说明多个数组和多个变量。不能在方括号

4、中用变量来表示元素的个数,但可以是符号常数或常量表达式。不允许对数组的大小作动态定义。注意:初始化定义同时赋初值例如:inta[10]={1,2,3,4,5,6}intx[]={3,5,7,9,11}使用赋值语句逐个赋值注意:1.可以只给前面部分元素赋初值,其余元素自动赋0。2.只能给元素逐个赋值,不能给数组整体赋值。3.二维数组可按行分段赋值,也可按行连续赋值,未赋值的自动取零。4.当{}中值的个数多于元素个数时,系统出错。二维数组可按行分段赋值,也可按行连续赋值。1.按行分段赋值可写为int[3][3]={{80,75,92},{61,65,71},{

5、59,63,70}};2.按行连续赋值可写为inta[5][3]={80,75,92,61,65,71,59,63,70};这两种赋初值的结果是完全相同的。数组引用:数组名[下标]数组名[下标1][下标2]指针法引用:一维数组a,*(a+i)等价于a[i]二维数组a*(*(a+i)+j)等价于a[i][j]注意:1、只能通过下标变量逐个引用数组元素,而不能一次引用整个数组的全部元素。2、数组说明的方括号中给出的是某一维的长度;而数组引用中的下标是该元素在数组中的位置标识。前者只能是常量,后者可以是常量,变量或表达式。练习判断题(P18)34.C语言中的数组

6、下标从0开始,当引数组元素超过所定义的范围,将出来编译错误。38.假定int类型变量占用两个字节,若有定义:intx[10]={0,2,4};,则数组x在内存中所占字节数是6。填空题(P21)(18)引用二维数组a第i行、第j列的元素(i、j为0表示第1行、第1列),可以写作:或。(20)数组声明为“floatx[7][5];”若x[6][4]是内存中从x[0][0]数起的第35个元素,则x[4][4]是第个元素。单项选择题(P22)6.下列数组声明语句中,正确的是()。A、inta[]={1,2,,4,5};B、chara[5]={A,B,C,D,E};

7、 C、inta[5]={1,2};D、chara[5]="Hello";√√7.数组声明语句为“inta[6];”,输入数组所有元素的语句应为()。A、scanf("%d%d%d%d%d",a[6]); B、for(inti=0;i<6;i++)scanf("%d",a+i); C、for(inti=0;i<6;i++)scanf("%d",*a+i); D、for(inti=0;i<6;i++)scanf("%d",a[i]);程序填空(P26)7.输入10个数,输出其中与平均值之差的绝对值最小的数。#include(1)voidmai

8、n() {floata[10],s,d,x; inti; for(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。