C语言数组详解学习教案

上传人:牛*** 文档编号:75770853 上传时间:2022-04-16 格式:PPTX 页数:56 大小:1.12MB
返回 下载 相关 举报
C语言数组详解学习教案_第1页
第1页 / 共56页
C语言数组详解学习教案_第2页
第2页 / 共56页
C语言数组详解学习教案_第3页
第3页 / 共56页
点击查看更多>>
资源描述
会计学1C语言数组详解语言数组详解n例如:一个班级有例如:一个班级有3030个学生,可以用个学生,可以用g g1 1,g,g2 2, ,g,g3030代表代表学生的成绩,其中学生的成绩,其中g g是数组名,下标代表学生的序号是数组名,下标代表学生的序号。由于在。由于在C C语言中无法表示下标,所以就引入了语言中无法表示下标,所以就引入了 表表示下标。示下标。ng1:g1:第第1 1个学生的成绩个学生的成绩ngi:gi:第第i i个学生的成绩等等个学生的成绩等等第1页/共56页bd10bd10 bdbd0 0 bd bd1 1 bd bd2 2 bd bd9 9 数组名:数组名:数组中的所有元素具有相同的名字数组中的所有元素具有相同的名字bdbd。数组元素名数组元素名数组元素下标数组元素下标数组长度数组长度为标识数组中的每为标识数组中的每个元素,个元素,C C语言对其进语言对其进行编号。这个编号称之行编号。这个编号称之为为数组元素下标数组元素下标。(。(C C语言规定下标从语言规定下标从0 0开开始)。始)。指定该数指定该数组的数据组的数据个数个数用于访问的、具有相同用于访问的、具有相同的数据类型。在程序设的数据类型。在程序设计中相当于变量名的用计中相当于变量名的用法。法。 一个数组就是一组连续的内存空间,用来保存一个数组就是一组连续的内存空间,用来保存数据,数组中的每一项称为一个数据,数组中的每一项称为一个元素元素。第2页/共56页任一种任一种基本数据类型基本数据类型或构造数据类型。或构造数据类型。用户自定义的数组名字,其定名规则与变量名定名规则一样,都需遵循用户自定义的数组名字,其定名规则与变量名定名规则一样,都需遵循标识符定名规则标识符定名规则表示元素的个数,即数组长度。表示元素的个数,即数组长度。下标运算符下标运算符单目运算符单目运算符优先级优先级(1)左结合左结合不能用不能用( )第3页/共56页 注意:注意:1.数组名数组名不能不能与其它变量名相同与其它变量名相同void main() int a; float a10; 第4页/共56页第5页/共56页第6页/共56页p可以是整型常量或整型表达式可以是整型常量或整型表达式第7页/共56页第8页/共56页54321a4a3a2a1a020202016201220082004a数组名表示数组名表示数组的起始地址数组的起始地址,是一个地址常量,是一个地址常量第9页/共56页第10页/共56页第11页/共56页第12页/共56页第13页/共56页第14页/共56页这儿只讨论二维数组,多维数组可由二维数组推导得出这儿只讨论二维数组,多维数组可由二维数组推导得出 二维数组定义的一般形式为:二维数组定义的一般形式为: 类型说明符类型说明符 数组名数组名常量表达式常量表达式常量表达式常量表达式第一常量表达式为行数,第二个为列数第一常量表达式为行数,第二个为列数int a34;float a3,4,b5,10; /*错误错误*/ 3222 1202 31 21 11 01 3020 1000aaaaaaaaaaaa第15页/共56页第16页/共56页a0654321a12a11a10a02a0120222018201420102006a002002a1第17页/共56页二维数组的表示形式:二维数组的表示形式:数组名数组名下标下标下标下标注意:注意:N 下标可以是整型表达式,如下标可以是整型表达式,如a2-12*2-1N 数组元素可以出现在表达式中,也可以被赋值数组元素可以出现在表达式中,也可以被赋值 b12=a23/2;N 在使用数组元素时,应该注意下标值应在已定义的数组大小范围内在使用数组元素时,应该注意下标值应在已定义的数组大小范围内 int a34; a34=5;N 严格区分在定义数组时用的严格区分在定义数组时用的a34和引用元素时的和引用元素时的a34第18页/共56页第19页/共56页EnglishMathC张张807592王王616571李李596370赵赵858790周周767785第20页/共56页第21页/共56页第22页/共56页第23页/共56页字符数组字符数组:用来存放字符数据的数组就是:用来存放字符数据的数组就是字符数组。字符数组。 定义方式:定义方式:char 数组名数组名长度长度一维数组:一维数组:char a10; 二维数组:二维数组: char a45;第24页/共56页第25页/共56页第26页/共56页第27页/共56页可以引用字符数组中的一个元素,得到一个字符可以引用字符数组中的一个元素,得到一个字符第28页/共56页第29页/共56页 第30页/共56页第31页/共56页字符数组的输入输出可以有两种方式:字符数组的输入输出可以有两种方式:N 逐个字符输入输出。用逐个字符输入输出。用”%c”输入或输出一个字符输入或输出一个字符N 将整个字符串一次输出。用将整个字符串一次输出。用“%s”格式符,格式符,char c=“China”;printf(“%s”,c);China0China第32页/共56页注意:注意:N 输出字符不包括结束符输出字符不包括结束符0;N 用用“%s”格式符输出字符串时,格式符输出字符串时,printf函数中的输出项时字符数组名,而不是数组元素名。函数中的输出项时字符数组名,而不是数组元素名。 printf(“%s”,c); N 如果数组长度大于字符串实际长度,也只输出遇如果数组长度大于字符串实际长度,也只输出遇0结束结束N 如果一个字符数组中包含一个以上如果一个字符数组中包含一个以上0 ,则遇到第一个,则遇到第一个0时结束。时结束。第33页/共56页 本例中由于定义数组长度为本例中由于定义数组长度为15, 因此输入的字符串长度必因此输入的字符串长度必须小于须小于15,以留出一个字节,以留出一个字节用于存放字符串结束标志用于存放字符串结束标志0。 对于字符数组,如果不作初始化对于字符数组,如果不作初始化赋值,则须说明数组长度。赋值,则须说明数组长度。 应该特别注意的是,当用应该特别注意的是,当用scanf函数输入字符串时,字符串中不函数输入字符串时,字符串中不能含有空格,否则能含有空格,否则将以空格作为串的结束符将以空格作为串的结束符。例如运行。例如运行上例,当输入的字符串中含有上例,当输入的字符串中含有空格时,运行情况为:空格时,运行情况为:第34页/共56页#include void main() char st16,st26,st36,st46; printf(input string:n); scanf(%s%s%s%s,st1,st2,st3,st4); printf(%s %s %s %sn,st1,st2,st3,st4); 从输出结果可以看出空格以后的字符都未能输出。从输出结果可以看出空格以后的字符都未能输出。 为了避免为了避免这种情况,这种情况, 可可多设几个字符数组分段存放含空格的串多设几个字符数组分段存放含空格的串。程序可。程序可改写如下:改写如下:第35页/共56页重要一点:重要一点:在前面介绍过在前面介绍过scanf的各输入项必须的各输入项必须以地址方式出现,如以地址方式出现,如 &a,&b等。但等。但在上例中却是以数组名方式出现的,在上例中却是以数组名方式出现的,这是为什么呢这是为什么呢?这是由于在语言中这是由于在语言中规定,规定,数组名就代表了该数组的首地数组名就代表了该数组的首地址。址。第36页/共56页语言提供了丰富的字符串处理函数,大致可语言提供了丰富的字符串处理函数,大致可分为字符串的输入、输出、合并、修改、转分为字符串的输入、输出、合并、修改、转换、复制、搜索几类。用于输入输出的字符换、复制、搜索几类。用于输入输出的字符串函数,串函数, 在使用前应包含头文件在使用前应包含头文件stdio.h ;使用其它字符串函数则应包含头文;使用其它字符串函数则应包含头文件件。 下面介绍几个最常用的字符串函数。下面介绍几个最常用的字符串函数。第37页/共56页格式:格式:puts (字符数组名字符数组名)功能:功能:把字符数组中的字符串输出到显示器。把字符数组中的字符串输出到显示器。 即在屏幕即在屏幕上显示该字符串。上显示该字符串。#include void main() static char c=BASICndBASE; puts(c); 从程序中可以看出从程序中可以看出puts函数中可以使用转义字符,函数中可以使用转义字符, 因此输因此输出结果成为两行。出结果成为两行。puts函数完全可以由函数完全可以由printf函数函数取代。当需要按一定格式输出时,通常使用取代。当需要按一定格式输出时,通常使用printf函数函数。第38页/共56页格式:格式: gets (字符数组名字符数组名)功能:功能:从标准输入设备键盘上输入一个字符串。从标准输入设备键盘上输入一个字符串。 本函本函数得到一个函数值,即为该字符数组的首地址。数得到一个函数值,即为该字符数组的首地址。#includestdio.h“void main() char st15; printf(input string:n); gets(st); puts(st);可以看出当输入的字符串中含有空格时,输出仍为全部可以看出当输入的字符串中含有空格时,输出仍为全部字符串。说明字符串。说明gets函数并不以空格作为字符串函数并不以空格作为字符串输入结束的标志,而只以回车作为输入结束。输入结束的标志,而只以回车作为输入结束。这是与这是与scanf函数不同的。函数不同的。第39页/共56页第40页/共56页第41页/共56页第42页/共56页第43页/共56页第44页/共56页格式格式: strlen(字符数组名字符数组名)功能:功能:测字符串的实际长度测字符串的实际长度(不含字符串结束标志不含字符串结束标志0) 并作为函数返回值。并作为函数返回值。#includestring.h“ #include “stdio.h”void main() int k; char st=C language; k=strlen(st); printf (The lenth of the string is %dn,k); 第45页/共56页第46页/共56页第47页/共56页第48页/共56页1.数组是程序设计中最常用的数据结构。数组可分为数值数组是程序设计中最常用的数据结构。数组可分为数值数组数组(整数组,实数组整数组,实数组),字符数组以及后面将要介绍的指,字符数组以及后面将要介绍的指针数组,结构数组等。针数组,结构数组等。2.数组可以是一维的,二维的或多维的。数组可以是一维的,二维的或多维的。3.数组类型说明由类型说明符、数组名、数组长度数组类型说明由类型说明符、数组名、数组长度 (数数组元素个数组元素个数)三部分组成。数组元素又称为下标变量。三部分组成。数组元素又称为下标变量。数组的类型是指下标变量取值的类型。数组的类型是指下标变量取值的类型。4.对数组的赋值可以用数组初始化赋值,输入函数动态赋值和赋对数组的赋值可以用数组初始化赋值,输入函数动态赋值和赋值语句赋值三种方法实现。对数值数组不能用赋值语句整体值语句赋值三种方法实现。对数值数组不能用赋值语句整体赋值、输入或输出,而必须用循环语句逐个对数组元素进行赋值、输入或输出,而必须用循环语句逐个对数组元素进行操作。操作。第49页/共56页第50页/共56页第51页/共56页第52页/共56页第53页/共56页第54页/共56页第55页/共56页
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!