第7章数组数组是同类元素的集合、占据连续的存储空间,数内容摘要:
级别的元素”都是连续存放的。 2维 3维等只是个逻辑概念,其元素对应着物理上是一维的、不同大小的连续内存块。 使用“最小的元素”如同使用基本数据类型变量一样。 4)二维数组的初始化 初始化二维数组时 {}可以内嵌、内嵌的 {}代表行;所赋给的值是 按行按列 对号入座;缺少的内嵌 {}或 {}内未指定的为 0。 如: int a[3][4]={{1},{5},{9}}。 //每行首个分别为 1,5,9其余为 0 static int a[3][4]={{1},{0,6},{0,0,11}}。 int a[3][4]={{1},{5,6}}。 //第三行全为 0 static int a[3][4]={{1},{ },{9}}。 //第二行全为 0 对二维数组的全部元素赋初值时,可以不指定第一维的长度,但不得省去第二维的长度。 如: static int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}。 可以写成: static int a[ ][4]={1,2,3,4,5,6,7,8,9,10,11,12}。 同样, static int a[ ][4]={{0,0,3},{ },{0,10}}。 也是正确的 常采用如下方式将所有元素初始化为 0: int a[5][6]={};或 int a[5][6]={0}。 对二维数组常采用二重循环访问。 二维数组的常应用于矩阵元素查找、矩阵运算、特殊矩阵的生成等。 例 将二维数组行和列的元素互换后存到另一个数组中。 include void main( ) { static int a[2][3]={{1,2,3},{4,5,6}}。 static int b[3][2], i, j。 printf(array a:\n)。 for (i=0。 i=1。 i++) { for ( j=0。 j=2。 j++) { printf(%5d,a[i][ j])。 b[ j][i]=a[i][ j]。 } printf(\n)。 } printf(array b:\n)。 for (i=0。 i=2。 i++) { for ( j=0。 j=1。 j++) printf(%5d,b[i][ j])。 printf(\n)。 } } 例 输出一个 3 4数组中每行中的最大元素之值及其位置。 include void main( ) { int i,j,c,max。 static int a[3][4]={{6,5,11,3},{8,9,4,7},{2,13,1,10}}。 for (i=0。 i=2。 i++) { max=a[i][0]。 c=0。 for (j=0。 j=3。 j++) if (a[i][j]max){max=a[i][j]。 c=j。 } printf(max=%2d,row=%d,colum=%d\n,max,i+1,c+1)。 } } 输出结果: max=11, row=1, colum=3 max= 9, row=2, colum=2 max=13, row=3, colum=2 字符数组与字符串 C语言没有字符串变量、 C编译以 一维字符数组 的方式处理字符串;字符数组的 最后一个元素为 ’ \0’ 、作为字符串的结束标志。 第二章讨论过涉及字符操作的几个库函数,有 控制台与 流 操作、 单个字符 与 字符串 操作之分。 函数原型及功能简介如下: int getch(void)。 //控制台操作、无回显 (单个字符输入操作 ) int getche(void)。 //控制台操作、有回显 (单个字符输入操作 ) int getchar(void)。 //stdin流操作、有回显 (单个字符输入操作 ) int putchar(char ch)。 //stdout流操作 (单个字符输出操作 ) int scanf(“%c”…)。 // stdin流操作 (单个字符输入操作 ) int printf(“%c”…)。 // stdout流操作 (单个字符输出操作 ) int scanf(“%s”…)。 // stdin流操作 (字符串输入操作 ) int printf(“%s”…)。 // stdout流操作 (字符串输出操作 ) 字符数组的逐个字符操作 例 从键盘输入一个字符串 (只看到 *号 ),回车键结束,并将字符串在屏幕上输出。 include include void main( ) {int i。 static char str[80]。 for(i=0。 i80。 i++) { str[i]=getch()。 //逐次给数组元素 str[i]赋值,不回显 printf(*)。 //以星号代替输入字符的个数 if(str[i]==„\x0d‟) break。 } //若输入回车则终止循环 printf(\n)。 i=0。 while(str[i]!=39。 \x0d39。 ) printf(%c,str[i++])。 //逐次输出字符数组的各个元素 printf(“\n”)。 } 例 字符数组初始化及用 scanf(“%s”…) 输入字符串。 include void main( ) {int i。 char str1[12]={39。 c39。 ,39。 a39。 ,39。 i39。 ,39。 39。 ,39。 y39。 ,39。 i39。 ,39。 39。 ,39。 h39。 ,39。 o39。 ,39。 n39。 ,39。 g39。 }。 char str2[]=cai yi hong。 char str3[][5]={cai ,yi ,hong}。 char str4[12]。 printf(%s\n%s\n%s\n,str1,str2,str3)。 printf(%s\n%s\n%s\n,str3[0],str3[1],str3[2])。 printf(。第7章数组数组是同类元素的集合、占据连续的存储空间,数
相关推荐
n 210 , 0 , 1111111111)(vvvvyk 111111)(vvykkk数 学 系 University of Science and Technology of China DEPARTMENT OF MATHEMATICS 01 时,有 )(1)1(1kkyvx01 时
T4T5T6Tte * ( t )0 复现:将脉冲序列变为连续信号的过程。 由保持器实现。 串滤波器以去处脉冲序列的高频分量所引起的噪声影响。 teh( t )02. 采样系统的典型结构图 保 持 器被 控对 象反 馈环 节r ( t ) e ( t )e * ( t ) eh( t )c ( t )b ( t )T2T3T4T5T6Tte * ( t )0te ( t )0teh( t )0
第二个教学班数学成绩 Y~N(μ2,53) ,1421 nnn建立假设 H0:μ1μ2=0。 H1:μ1μ2 ≠0 选择检验统计量 : 1212221 1 2 2( ) ( ) | ~ ( 0 , 1 )//XYZNnn 接受 H0:μ1=μ2 对于给定的显著性水平 α=, 1 2Z 9 0 9 2 8 9 0 3 5 70 2 0 4 1 9
件(如 Ulead公司的 Media Studio以及Adobe公司的 Premiere)来采集录像带上的素材 另一种方法是利用超级解霸等软件来截取 VCD上的视频片段(截取成 *.mpg文件或 *.bmp图像序列文件),或把视频文件 *.dat转换成 Windows系统通用的 AVI文件。 视频的编辑: 对 AVI文件或 MPG文件进行合成或编辑
块 (Math Function) 功能: 用于执行多个通用数学函数,其中包含 exp、 log、 log square、 sqrt、 pow、reciprocal、 hypot、 rem、 mod等。 第 7 章 Simulink的应用 6. 三角函数模块 (Trigonometric Function) 功能: 用于对输入信号进行三角函数运算,共有 10种三角函数供选择。 7. 特殊数学模块