实用c语言程序设计第4章__数组
时间:2025-04-04
时间:2025-04-04
第四章 数组
4.1 一维数组 4.2 二维数组及多维数组
4.3 字符数组与字符串
上一内容
下一内容
回主目录
返回
2015-2-6
数组
数组—就是有序并具有相同性质类型的数据的集合
数组中的每一个元素都属于同一数据类型 用统一的数组名和下标来唯一的确定数组中的元素 数组元素的类型可以是基本类型或导出类型
上一内容
下一内容
回主目录
返回
2015-2-6
4.1 一维数组
一维数组程序举例 一维数组的定义 一维数组的初始化 一维数组元素的引用
上一内容
下一内容
回主目录
返回
2015-2-6
4.1.1 数列的排序程序实例【例1】 对i个任意整数进行非递减排序。#define maxi 50 main( ) {int a[maxi]; /*定义一个有50个分量的数组变量a*/ int i; /*实际要处理的数据元素个数,i<=50*/ int t; /*用于辅助两个整型变量交换值*/ int n,j; printf("请输入数列的个数i(1<i<50): "); scanf("%d",&i); for (n=1;n<=i;n++) {printf("请输入第%d个数: ",n); scanf("%d",&a[n]); /*输入待排序的数据元素*/ printf("\n") } for(n=1;n<i;n++) /*控制需要排序的趟数*/ for(j=1;j<i-n;j++) /*第n趟冒泡排序*/ if (a[j]>a[j+1]) /*相邻位置的元素进行比较*/ {t=a[j]; a[j]=a[j+1]; a[j]=t;} /*若为逆序,则交换之*/ for(n=1;n<=i;n++) printf("%d ",a[n]); /*完成排序后输出*/ } 上一内容 下一内容 回主目录
返回
2015-2-6
数列的排序程序实例【例2】 将一个一维数组中的元素逆转。 运行结果: 1 2 3 4 5 6 7 8 9 9 8 7 6 5 4 3 2 1
#include "stdio.h" main( ) {int k,t,i; static int a[9]={1,2,3,4,5,6,7,8,9 }; for (k=0; k<9; k++) /*输出原数组中的元素*/ printf("%4d",a[k]); printf("\n"); i=9 for (k=0;k<=i/2-1; k++) /*数组中的元素逆转*/ { t=a[k]; a[k]=a[n-k-1]; a[n-k-1]=t; } for (k=0; k<9; k++) /*输出逆转后数组中的元素*/ printf("%4d",a[k]); printf("\n"); } 上一内容 下一内容 回主目录
返回
2015-2-6
数列的排序程序实例【例3】 利用最小二乘法求蔗糖水解反应的反应速率常数k。#include "stdio.h" for (i=1;i<=n;i++) #include "math.h" scanf("%f,%f \n",&t[i],&a[i]); main( ) for (i=1;i<=n;i++) { { float a[30],t[30],y[30]; y[i]=log(a[i]-a∞) float xi=0,yi=0, xy=0,x2=0,m,k,a∞; xi=xi+t[i]; int i, n; printf("输入实验测量值的次数n=") yi=yi+y[i]; xy=xy+t[i]*y[i]; ; x2=x2+t[i]*t[i]; scanf("%d",&n); } printf("\n"); m=(xi*yi-n*xy)/(xi*xi-n*x2); printf("输入a(∞)="); k=-m; scanf("%f",&a∞); printf("k=%f8.5min-1\n") printf("\n"); } printf("时间(min), a(t)\n");
程序运行: 输入实验测量值的次数n= 7↙ 输入a(∞)=-1.98↙ 时间(min), a(t) 0,6.60↙ 10,6.17↙ 20,5.79↙ 40,5.00↙ 80,3.71↙ 180,1.40↙ 300,-0.24↙ k
=0.00515 min-1
上一内容
下一内容
回主目录
返回
2015-2-6
4.1.2 一维数组的定义和初始化1.一维数组的定义格式:类型说明符 数组名[常量表达式]; 功能:定义一个一维数组,常量表达式的值,就是数组元素的个数。 (1)数组名规定和变量名相同,遵守标识符命名规则。
(2)数组名后是用方括弧括起来的常量表达式,不能有圆括弧。(3)常量表达式表示元素个数,即数组的长度。 (4)每个数组第一个元素的下标固定为 0,称为下标的下界;最后一个元 素的下标为元素个数减 1,称为下标的上界。 (5)常量表达式中可以包括常量和符号常量,不允许是 0、负数和浮点数 ,也不能包含变量。 (6)数组的定义可以和普通变量的定义出现在同一个定义语句中。 上一内容 下一内容 回主目录
返回
2015-2-6
一维数组的定义和初始化2.一维数组的初始化格式:static 类型说明符 数组名[常量表达式]={初值 1,初值 2,……};
功能:在定义数组时对数组元素赋以初值。(1)初值可以是数值型、字符常量或字符串。 (2)关键字 static是“静态存储”的意思,也可以省略,但意义上是有差别的 。 (3)数组元素的初值必须依次放在一对花括号内。数组中有若干个数组元素 ,可在{}中给出各数组元素的初值,各初值之间用逗号分开。
上一内容
下一内容
回主目录
返回
2015-2-6
一维数组的定义和初始化举例进一步说明: 给数组 a各元素赋以初值。例如: static int a[10]= {0,1,2,3,4,5,6,7,8,9}; 可以只给一部分元素赋初值 。例如:
static int a[10]= {0,1,2,3,4}; 如果想使一个数组中全部元素值为 0,可以写成:
static int a[10]= {0,0,0,0,0,0,0,0,0,0};或 static int a[10]; 在对全部数组元素赋初值时,可以不指定数组长度: static int a[]= {1,2,3,4,5} 返回
上一内容
下一内容
回主目录
2015-2-6
4.1.3 一维数组元素的引用引用形式 数组名[下标]说明
下标是整型表达式 数组元素与同类型的变量使用方法相同 数组下标范围为0~n-1(n为数组长度) 注意防止数组下标越界举例 a[0]=a[5]+a[j]*3;
例如: main() { int i,a[10]; printf("请输入 10 个数组元素值:"); for(i=0;i<=9;i++) a[i]=i; for(i=0;i<=9;i++) printf("%d",a[i]); }运行结果: 0123456789
上一内容
下一内容
回主目录
返回
2015-2-6
4.2 二维数组及多维数 …… 此处隐藏:4537字,全部文档内容请下载后查看。喜欢就下载吧 ……
上一篇:医学基础知识试题库