信管C基础第7章-数组
C基础
第七章 数 组
C基础
数组的概念保存若干个数/字符 保存若干个数 字符 保存在哪里? 保存在哪里?– 一个整型变量只能存放一个数 – 一个字符变量只能存放一个字符
存放多个数, 存放多个数,多个字符– 使用“数组” 使用“数组”
C基础
2. 使用数组解决问题 定义一个特殊的变量,包含10个数据 个数据, 定义一个特殊的变量,包含 个数据,称为数组变 量。 main( ) { int i; char a[10]; for( i =0; i < 10; i++) scanf(“%c”, &a[i]); cin>>a[i]; “ ” for( i =9; i >= 0; i--) printf("%c", a[ i ]); cout<<a[i]; }
C基础
C语言规定数组的下标从 开始计 数组名表示数组 语言规定数组的下标从0开始计 语言规定数组的下标从 开始计, 的首地址. 如: int a[10] ; 个元素,即 则 a 数组有 10 个元素 即 : a[0] , a[1], …… a[9] a a数组 数组a[0] a[1]
…a[9]
C基础
7.1 一位数组的定义和引用7.1.1一维数组的定义 一维数组的定义 定义方式: 定义方式:数组名[ 常量表达式] 类型说明符 数组名 常量表达式 例:int a[10] 它表示数组名为a,此数组有10个元素 个元素, 它表示数组名为 ,此数组有 个元素,每个元素 是整型。说明: 是整型。说明:
说明: 说明: (1)数组名定义规则和变量名相同; )数组名定义规则和变量名相同; (2)数组名的常量表达式用方括弧而不是圆括弧括起来 ) (3)常量表达式表示元素的个数,即数组长度。例如: )常量表达式表示元素的个数,即数组长度。例如: a[10]表示 数组共有 个元素,下标从 开始分别 表示a数组共有 个元素, 表示 数组共有10个元素 下标从0开始分别 为:a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9] 注意:没有a[10] 注意:没有
C基础
(4)常量表达式中可以包括常量和符号常量,不能包含 )常量表达式中可以包括常量和符号常量, 变量,即数组的大小不能依赖于程序过程中变量的值。 变量,即数组的大小不能依赖于程序过程中变量的值。 例如: 例如:int n; scanf(“%d”, &n); “ ” int a[n]; 是不合法的。 是不合法的。 7.1.2 一维数组元素的引用 C语言规定,只能逐个引用数组元素而不能一次引用 语言规定, 语言规定 整个数组。 整个数组。 数组元素的表示形式为: 数组元素的表示形式为: 数组名[下标 下标] 数组名 下标 其中下标可以是整型常量或整型表达式。例如: 其中下标可以是整型常量或整型表达式。例如: a[0]=a[5]+a[7]-a[2*3]
C基础
例7.1 数组元素的引用 main ( ) { int i, a[10]; for ( i = 0; i <= 9; i++) a[i] = i; for ( i = 9; i >= 0; i--) printf(“%d”, a[i]); “ ” } 本例使a[0]到a[9]的值为 的值为0~9,然后按逆序输出。 然后按逆序输出。 本例使 到 的值为 然后按逆序输出 printf(“%d”,a); 使用整
个数组是错误的 printf(“%d”,a); 会输出什么呢? 会输出什么呢? 输出的是数组的地址,即数组在内存中开始的位置 输出的是数组的地址,
C基础
7.1.3 一维数组的初始化1、在定义数组时对数组元素赋以初值 、 方法:将初值依次写在花括号{ 内 方法:将初值依次写在花括号 }内。 例如: 例如: int a[4]={2,4,6,8} 其中: 其中:a[0]=2, a[1]=4, a[2]=6, a[3]=8
C基础
main( ) { int i,max; int f[10]; for( i = 0; i < 10; i++) scanf(“%d”, &f[ i]); max = f[ 0]; for( i = 1; i < 10; i++) if ( f[i]>max ) max = f[i]; printf(“max = %d\n”,max); }
10个数,求最大数 个数, 个数
C基础
main( ) 冒泡法排序 { 输入n个数给 个数给a[0]到a[9] 输入 个数给 到 int a[10]; for j=0 to n-1 int i, j, t; printf(“input 10 numbers:\n”); “ ” for i=0 to n-j for ( i = 0; i < 10; i++) a[i] >a[i+1] scanf(“%d”, &a[i]); “ ” printf(“\n”); “ ” a[i]与 与 for ( j = 0; j < 9; j++) a[i+1] + { for ( i = 0; i < 9 - j; i++) 交换 { 输出a[0]到a[n-1] 输出 到 - if ( a[i] > a[i+1] ) { t = a[i]; a[i] = a[i+1]; a[i+1] = t; } } } printf(“the sorted numbers:\n”); “ ” for( i = 0; i < 10; i++) printf(“%d”,a[i]); “ ” }
C基础
数组典型应用举例删除数组a的第二个元素 删除数组 的第二个元素
2. 删除
数组大小是不能变化的, 数组大小是不能变化的,删除的意思是把数组的数 依次往前挪动一个位置,即如下: 依次往前挪动一个位置,即如下:
C基础
main( ) { int i, num,a[5]={11,12,32,14,15 }; , , , , for( i = 2; i <=4 ; i++)a[i-1]=a[i];
for( i = 0; i < 4; i++)printf(“%d ”, a[i]);
}
C基础
数组典型应用举例
3. 插入
在数组的第3个位置上插入一个数 在数组的第 个位置上插入一个数 和删除类似,数组大小是不能变化的, 和删除类似,数组大小是不能变化的,插入的意思 是数组定义时本身就多定义一个元素: 是数组定义时本身就多定义一个元素: 插入和删除数组的处理相反, 插入和删除数组的处理相反,插入时从最后一个元 素开始挪动,而删除时则从被删除的元素开始。 素开始挪动,而删除时则从被删除的元素开始。原 则:不要把其他的元素值覆盖了
C基础
二维数组编程求矩阵的乘法
使用一维数组可以完成, 使用一维数组可以完成,但较复杂
C基础
7.2 二维数组的定义和引用7.2.1 二维数组的定义 二维数组定义的一般形式: 二维数组定义的一般形式: 类型说明符 数组名 [ 常量表达式 ] [ 常量表达式 ] 例: float a[3][4], b[5][10];
C基础
二维数组的存放顺序: 二维数组的存放顺序: 语言中, 按行存放的。 在C语言中,二维数组中的元素是按行存放的。 语言中 二维数组中的元素是按行存放的 例如: a[2][3]的存放形式为 例如: 的存放形式为a[1][2] a[1][1] a[1][0]
a[0][2] a[0][1] a[0][0]
说明:虽然我们把数组分为多行, 说明:虽然我们把数组分为多行,但实际上内存中是 连续存放的 二维数组是多维数组的基础。 二维数组是多维数组的基础。其它多维数组的定义和 元素存放形式类似二维数组。 元素存放形式类似二维数组。
…… 此处隐藏:1594字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [行业范文]美好的法语句子
- [行业范文]描写露珠的句子
- [行业范文]精彩禅语句子图片
- [行业范文]关于满嘴谎言的句子
- [行业范文]关于安静的句子48句
- [行业范文]关于小河的句子
- [行业范文]描写稻田的句子
- [行业范文]思念好朋友的句子
- [行业范文]赞美雪的句子
- [行业范文]早上激励人心的句子
- [行业范文]失恋忧伤的句子
- [行业范文]努力积极向上的句子
- [行业范文]对工作心灰意冷的句子
- [行业范文]失恋让人心疼的句子
- [行业范文]描写珍惜青春的句子
- [行业范文]表达思念的句子简短
- [行业范文]关于父爱的句子范例
- [行业范文]浪漫的英语句子
- [行业范文]关于周末的句子
- [行业范文]思念牵挂的句子
- 有关感恩班会课件简短(二篇)(感恩班会
- 2025年初二下乡军训心得体会800字(15篇
- 关于新员工培训方案汇编(关于新员工培
- 精选高考生寒假学习计划书(精)(高考生
- 毕业实训报告心得体会(3篇)(实训报告心
- 银行工作感悟及心得范文怎么写(四篇)(
- 精选领导干部个人政治画像报告通用(七
- 精选超市11.11活动促销方案(精品超市品
- 2025年怎么做自我介绍汇总(5篇)(至2025
- 最新企业错峰生产方案(26篇)(山西企业
- 最新暑期三下乡社会实践调研报告范本(
- 最新幼儿园大班教育教学总结怎么写(最
- 最新教师节主持词小学(优秀9篇)(教师节
- 关于小学安全教育教学方案(推荐)(关于
- 员工信模板范文怎么写(五篇)(员工信息
- 最新保险销售离职申请书(十六篇)(最新
- 最新XX小学防校园欺凌工作方案怎么写(2
- 有关特岗教师辞职信范文(推荐)(特岗教
- 精选党的建设工作要点简短(党的建设的
- 如何写安康杯竞赛活动总结汇总(4篇)(安




