版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数组是一组有序数据的集合,数组中每一数组是一组有序数据的集合,数组中每一 个元素的类型相同。用数组名和下标来唯一确个元素的类型相同。用数组名和下标来唯一确 定数组中的元素。定数组中的元素。 6 6.1 .1 1 1维数组的定义和引用维数组的定义和引用 6 6.2.2 2 2维数组的定义和引用维数组的定义和引用 6 6.3 .3 字符数组与字符串字符数组与字符串 第第6 6章章 数数 组组 1相关知识 6.1 16.1 1维数组的定义和引用维数组的定义和引用 2相关知识 3相关知识 4相关知识 例例 使数组元素使数组元素a0a0a9a9的值为的值为0 09 9,然后逆序输出。,然后逆序输出。 #
2、include “stdio.h” void main() int i,a10; for (i=0;i=0; i-) printf(%d ,ai); 运行输出:运行输出: 9 8 7 6 5 4 3 2 1 0 5相关知识 3、一维数组的初始化、一维数组的初始化 1 1、一般初始化,、一般初始化, 例、例、static int a10 = 0,1,2,3,4,5,6,7,8,9; int array10 = 1,2,3,4,5,6,7,8,9,10; 2 2、部分元素初始化,、部分元素初始化, 例、例、static int a10 = 0,1,2,3,4; 3 3、全部元素均初始化为、全部元素
3、均初始化为0 0,不允许简写。,不允许简写。 例、例、 static int a10 = 0,0,0,0,0,0,0,0,0,0; 不能简写为:不能简写为:static int a10 = 0*10; 4 4、如果全部元素均指定初值,定义中可以省略元素、如果全部元素均指定初值,定义中可以省略元素 的个数,的个数, 例、例、static int a = 1,2,3,4,5; 6相关知识 7相关知识 8相关知识 9相关知识 10相关知识 11相关知识 不足之处:不足之处: 仍然要进行仍然要进行9 9轮冒泡操作,尽管轮冒泡操作,尽管 不会有任何数据交换操作。不会有任何数据交换操作。 12相关知识 1
4、3相关知识 14相关知识 15相关知识 16相关知识 . 17相关知识 行数 列数 0 1 4 5 2 3 0 1 2 3 4 5 6 7 . 20 21 22 23 c000 c001 c002 c003 c010 c011 c012 c013 c020 c021 c022 c023 c100 c101 c102 c103 c110 c111 c112 c113 c120 c121 c122 c123 6.2 26.2 2维数组的定义和引用维数组的定义和引用 18相关知识 19相关知识 20相关知识 21相关知识 22相关知识 23相关知识 24相关知识 例例 有一个有一个3 34 4的矩阵
5、,要求编程序以求出其中值最大的那的矩阵,要求编程序以求出其中值最大的那 个元素的值及其所在的行号和列号。个元素的值及其所在的行号和列号。 算法:算法: 首先把第一个元素首先把第一个元素a00a00作为作为 临时最大值临时最大值maxmax,然后把临时最,然后把临时最 大值大值maxmax与每一个元素与每一个元素aijaij进进 行比较,若行比较,若aijmaxaijmax, 把把aijaij作为新的临时最大值,作为新的临时最大值, 并记录下其下标并记录下其下标i i和和j j。 当全部元素比较完后,当全部元素比较完后, maxmax是整个矩阵全部元素的最大值。是整个矩阵全部元素的最大值。 25
6、相关知识 main() int i,j,row=0,colum=0,max; static int a34=1,2,3,4,9,8,7,6,-10,10,-5,2; max = a00; for(i=0; i=2; i+) /* 用两重循环遍历全部元素用两重循环遍历全部元素 */ for(j=0; j max ) max = aij; row = i; colum = j; printf(max=%d, row=%d, colum=%dn,max,row,colum); 26相关知识 6.3 6.3 字符数组与字符串字符数组与字符串 一、定义字符数组一、定义字符数组 例、例、 char c10
7、; /* 定义定义c为字符数组,包含为字符数组,包含10个元素个元素 */ c0=I; c1= ; c2=a; c3=m; c4= ; c5=h; c6=a; c7=p; c8=p; c9=y; 注意:注意: 字符型与整型可以通用,但有区别:字符型与整型可以通用,但有区别: char c10; /char c10; /* * 在内存中占在内存中占1010字节字节 * */ / int c10; /int c10; /* * 在内存中占在内存中占2020字节字节 * */ / 27相关知识 二、字符数组的初始化二、字符数组的初始化 1 1、逐个字符赋初值、逐个字符赋初值 static char
8、c10 = I, ,a,m, ,h,a,p,p,y; static char c10 = c, ,p,r,o,g,r,a,m; /* 9 */ static char c = I, ,a,m, ,h,a,p,p,y; 注意:注意: 初始化数据少于数组长度初始化数据少于数组长度, ,多余元素自动为多余元素自动为“空空”(0,0, 二进制二进制0 0)。)。 指定初值时,若未指定数组长度,则长度等于初值个数。指定初值时,若未指定数组长度,则长度等于初值个数。 花括号中字符的个数数组长度,语法错花括号中字符的个数数组长度,语法错 28相关知识 以字符串常量赋初值以字符串常量赋初值 static ch
9、ar c11 = I am happy; static char c11 = I am happy; 注意:注意: 数组长度字符串中的字符数数组长度字符串中的字符数 若数组长度字符串中的字符数,则出错若数组长度字符串中的字符数,则出错 若数组长度字符串中的字符数,则后加若数组长度字符串中的字符数,则后加 数组长度可省略数组长度可省略 Iamhappy0 29相关知识 static char c = I am happy; static char c = I, ,a,m, ,h,a,p,p,y; 这两种初始化不等价为何?这两种初始化不等价为何? 字符数组本身不要求最后是字符数组本身不要求最后是
10、而字符串常量一定最后是而字符串常量一定最后是 30相关知识 三、引用三、引用 引用一个元素,得到一个字符。引用一个元素,得到一个字符。 例:例:c2c2 31相关知识 四、字符数组的输入输出四、字符数组的输入输出 1 1、用、用“%c”%c”格式符逐个输入输出。格式符逐个输入输出。 2 2、用、用“%s”%s”格式符按字符串输入输出格式符按字符串输入输出 注意:注意: %c %c 输出,常用于字符数组中无标记的情况输出,常用于字符数组中无标记的情况 %s%s输出,用于字符数组中有标记的情况输出,用于字符数组中有标记的情况 。 32相关知识 void main() char c10; int i
11、 ; for( i =0; i10; i+ ) scanf(“%c”, /* ci=getchar();*/ for( i =0; i10; i+ ) printf(“%c”, ci); /*putchar(ci);*/ scanf(“%s”, c); printf(“%s”, c); 33相关知识 例例 输出一个钻石图形输出一个钻石图形。 void main() static char diamond5= , ,*, ,*, ,*, *, , , ,*, ,*, ,*, , ,* ; int i, j; for(i=0;i5;i+) for(j=0;j5;j+) printf(%c,diam
12、ondij); printf(n); void main() static char diamond= “ *n*n *n *n *n”; printf(“%s”,diamond); 34相关知识 案例案例 字符数组的整体输入与输出。字符数组的整体输入与输出。 / /* *功能:将功能:将2 2维字符数组进行初始化,并在屏幕上输出维字符数组进行初始化,并在屏幕上输出* */ / void main() int i; char name59= 张三山张三山, 李四季李四季, 王五魁王五魁, 刘六顺刘六顺, 赵七巧赵七巧; for(i=0;i5;i+) printf(n%st,namei); /*
13、namei代表该行数组元素的首地址代表该行数组元素的首地址*/ 35相关知识 时时, 常用的字符串处理函数常用的字符串处理函数 36相关知识 getsscanf 输入的字符串中可包含空格字符输入的字符串中可包含空格字符输入的字符串中不可包含空格字符输入的字符串中不可包含空格字符 只能输入一个字符串只能输入一个字符串可连续输入多个字符串(使用可连续输入多个字符串(使用%s%s) 不可限定字符串的长度不可限定字符串的长度可限定字符串的长度(使用可限定字符串的长度(使用%ns) 遇到回车符结束遇到回车符结束遇到空格符或回车符结束遇到空格符或回车符结束 37相关知识 功能:向显示器输出字符串(功能:向
14、显示器输出字符串(输出完,换行输出完,换行) 说明:如果是字符数组,则必须以说明:如果是字符数组,则必须以00结束结束 38相关知识 格式:格式:strlen( (字符串地址字符串地址) ) 功能:计算字符串长度功能:计算字符串长度 返值:返回字符串实际长度,不包括返值:返回字符串实际长度,不包括00在内在内 39相关知识 40相关知识 0 41相关知识 42相关知识 将字符串中大写字母转换成小写将字符串中大写字母转换成小写strlwr()strlwr()函数函数 (1 1)调用方式:)调用方式:strlwr(strlwr(字符串字符串) ) (2 2)函数功能:将字符串中的大写字母转换成小写,其它)函数功能:将字符串中的大写字母转换成小写,其它 字符(包括小写字母和非字母字符)不转换。字符(包括小写字母和非字母字符)不转换。 将字符串中小写字母转换成大写将字符串中小写字母转换成大写strupr()strupr()函数函数 (1 1)调用方式:)调用方式:strupr(strupr(字符串字符串) ) (2 2)函数功能:将字符串中小写字母转换成大写,其它字)函数功能:将字符串中小写字母转换成大写,其它
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年文化传媒短视频平台创新报告
- 2026年矿业行业智能采矿创新报告
- 2026年医师技能操作考试题库临床操作技能要点
- 2026年环境科学综合测试题及答案
- 2026年股票投资知识选择题与答案解析
- 2026年企业财务管理专业知识试题集
- 2026年电子商务运营与策划考试题库
- 2026年语言教学语法规则英语语法难点解析试题
- 建筑工程质量检测试卷试题(附答案)
- 会议管理期末试题及答案
- 2025年鹤壁职业技术学院单招职业倾向性测试题库附答案解析
- 2026届云南省部分学校高三上学期11月联考语文试题(解析版)
- 工业区位·脉络贯通-九年级地理中考二轮复习大单元思维建模与迁移
- 基于跨学科主题学习的教学设计-以“二十四节气与地理环境”为例(八年级地理)
- 26新版八下语文必背古诗文言文21篇
- 2025陕西事业单位d类考试真题及答案
- 2025年中考英语真题完全解读(重庆卷)
- 交际用语课件
- 2026届上海市普陀区市级名校高一化学第一学期期末学业质量监测模拟试题含解析
- 学前教育创意短片
- 清障车雇佣合同范本
评论
0/150
提交评论