- 1、本文档共23页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验四数组1分析
数组(1) 一维数组程序举例 例1 输入10个整数,计算总和与平均值。 #includestdio.h #define N 10//宏定义,是预编译命令中的一种,意思是用N表示10这个字符。 main() { int i,score[N],sum=0; double avg=0; for (i=0; iN; i++) {scanf(%d,score[i]); sum=sum+score[i];} avg=(double)sum/N; printf(%d\n,sum); printf(%lf\n,avg); } 一个人N门课的成绩怎样存储和处理? 一个班N门课的成绩怎样存储和处理?...... 这些数据的特点:具有相同的数据类型。 为了方便地使用这些数据,C语言提供了一种构造数据类型:数组。 例如:存储学生成绩用实型数组 score[5] 其中:score是数组名。该数组可以存放5个成绩,分别用下标变量表示:score[0],score[1],…score[4]。 下标变量也称为数组元素。 4.1 一维数组 例如: int a[10]; float score[5]; “数据类型”: 是数组元素的数据类型。 “数组名”: 遵循C语言标识符规则。 “常量表达式”:表示数组中有多少个元素,即数组的长度。它可以是整型常量、整型常量表达式或符号常量。 4.1.1 一维数组的定义 数据类型 数组名[常量表达式]; 以下数组定义是正确的: #define N 10 …… float score1[N], score2[N]; int num[10+N]; char c[26]; 以下数组定义是不正确的: int array(10); int n; float score[n]; double b[a.. d]; char str[ ]; 4.1.1 一维数组的定义(续) 数组在内存的存放 数组下标从0开始。 一维数组的数组元素在内存里按顺序存放。 数组名代表数组的首地址,即score的值与score[0] 的地址值相同。 score[0] score[1] score[2] score[3] score[4] 91.5 34.5 67.5 72.0 84.0 低地址 高地址 score数组 4.1.2 数组元素的引用 格式: 例如:输入学生成绩 for(i=0;i5;i++) scanf(%f,score[i]); 例如:fib[n]=fib[n-1]+fib[n-2]; 下标表达式的值必须是整型表达式。 数组名[下标表达式] 4.1.2 数组元素的引用(续) 说明: ① 下标从0开始(下界为0),数组的最大下标(上界)是数组长度减1。 例如: int a[10]; scanf (%d,a[10]); /* 下标越界 */ C编译系统不做越界检查,如果引用的数组元素 超出数组范围会破坏其他变量的值。 4.1.2 数组元素的引用(续) ② [ ]是下标运算符,引用数组元素时,根据数组的首地址和下标数,计算出该元素的实际地址,取出该地址的内容进行操作。 如引用 score[2]: (1)计算 2000+2*4=2008 (2)取出2008的内容 2000H 2004H 2008H 200CH 218CH score[0] score[1] score[2] score[3] score[4] 91.5 34.5 67.5 72.0 84.0 4.1.3 一维数组的初始化 初始化:在定义数组时给数组元素赋初值。 1.在定义数组时,对全部数组元素赋初值 例如:int a[5]={0,1,2,3,4}; 此时可以省略数组长度,例如:int a[ ]={0,1,2,3,4}; 2.在定义数组时,对部分数组元素赋初值 例如:int a[5]={1,2,3};系统为其余元素赋 0 。 3.当初值的个数多于数组元素的个数时,编译出错 例如: int a[5]={0,1,2,3,4,5}; 4.1.4 一维数组应用举例 例2 将10个人的成绩输入计算机后按逆序显示。 #define N 10 main( ) { int i;float score[N]; for (i=0; iN; i++) scanf(%f,score[i]); for (i=N-1; i=0; i--) printf(%4.1f,score[i]);
您可能关注的文档
- 实验二建立数据库分析.doc
- 实验二滴定基本操作练习分析.ppt
- 实验二配置局域网分析.ppt
- 实验二计量经济学分析.doc
- 实验二顺序结构程序分析.doc
- 实验二第7次课(计数器+寄存器)分析.ppt
- 实验五异方差模型的检验分析.doc
- 实验五模板分析.doc
- 实验五排队模型分析.ppt
- 实验五指令调度和延迟分支分析.docx
- 2025年重庆师范大学考核招聘事业单位工作人员(108人)模拟试卷及答案详解(精选题).docx
- 2025年西乌珠穆沁旗事业单位引进急需紧缺人才(4人)模拟试卷及答案详解(新).docx
- 2025浙江省发展和改革委员会下属事业单位招聘6人模拟试卷附答案详解(考试直接用).docx
- 2025年西安市高陵区民政局公益性岗位招聘(2人)模拟试卷附答案详解(典型题).docx
- 2025年陕西省环境科学研究院(省固体废物防控 技术中心)招聘博士考前自测高频考点模拟试题附答案详解.docx
- 2025浙江宁波市北仑区劳动保障监察执法服务中心招聘编外人员1人模拟试卷附答案详解(精练).docx
- 2025年西林县气象局招聘编外聘用人员(4人)模拟试卷及答案详解(名师系列).docx
- 2025年西安高新区公办学校招聘(532人)模拟试卷附答案详解(预热题).docx
- 2025年锡林浩特市大数据领域人才引进(1人)模拟试卷精选答案详解.docx
- 2025年路桥区科技局招聘工作人员笔试备考试题带答案详解(名师推荐).docx
文档评论(0)