- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章数组和结构体第四章数组和结构体
第1章 数组和结构体
本章目标
掌握数组定义的规则。
掌握数组的初始化方法及数组元素的引用。
掌握有关数组的基本算法。
掌握字符串处理函数的应用。
掌握结构体定义和使用的规则
学会使用VC++6.0开发环境中的Debug调试功能:单步执行、设置断点、观察变量值。
授 课 内 容
4.1 数组
4.2 字符型数组和字符串处理库函数
4.3 结构体类型
4.4 数组和结构体
4.5 构体嵌套
程序设计举例
调试技术
4.1、数组
迄今为止,我们使用的都是属于基本类型(整型、字符型、实型)的数据,c语言还提供了构造类型的数据,它们有:数组类型、结构体类型、共用体类型。构造类型数据是由基本类型数据按一定规则组成的,因此有的书称它们为“导出类型”。
问题的引出:
实际应用的程序设计中,只用几个变量的情况是极少的;更多的情况是处理大批量的相同类型或不同类型的数据。
相同类型数据举例:统计交大15,000学生英语4级统考成绩;
不同类型数据举例:管理交大15,000学生学籍信息记录,包括:姓名、学号、出生日期、班级、各科成绩等。
用什么样的数据结构来描述这类应用更简洁?
一维数组
常用于处理大批量数据;
数据特点:存在内在联系;
数组——具有相同数据类型的变量集合;
这些变量都有相同名字,但下标不同;
称这些变量为数组元素;
只有一个下标——一维数组;
有两个下标——二维数组。
一维数组定义
数组是具有一定顺序关系的若干变量的集合体,组成数据的变量称为该数组的元素变量,简称元素。
一维数组的定义方式为:
例如: int a[10];
它表示数组名为a,此数组有10个元素。
说明:
(1) 数组名定名规则和变量名相同,遵循标识符定名规则。
(2) 数组名后是用方括弧括起来的常量表达式,不能用圆括弧,
下面用法不对:int a(10);
(3)方括弧括中的下标表示元素在数组中的位置。C语言的下标从0,
必须是整型变量或常量。
(4) 编译系统处理数组说明语句时,为它在内存中分配一定的存储
空间,数组在内存中存储时,是按下标递增的顺序连续存储各
元素的值的。
一维数组的初始化
(1) 在定义数组时对数组元素赋以初值。例如:
int a[10]={0,1,2,3,4,5,6,7,8,9};
(2) 可以只给一部分元素赋值。例如:
int a[10]={0,1,2,3,4};
定义a数组有10个元素,但花括弧内只提供5个初值,这表示只给前面5个元素赋初值,后5个元素值为0。
(3) 如果想使一个数组中全部元素值为0,可以写成
int a[10]={0,0,0,0,0,0,0,0,0,0};
不能写成 int a[10]={0*10};
这是与FORTRAN语言不同的,不能给数组整体赋初值。
(4) 在对全部数组元素赋初值时,可以不指定数组长度。例如:
int a[5]={1,2,3,4,5};
可以写成 int a[]={1,2,3,4,5};
在第二种写法中,花括弧中有5个数,系统就会据此自动定义a数组的长度为5。
例:int A[5]; 在内存存储如图
数组的首地址是数组名A
数组的首地址也是第一个元素的地址A[0]
C语言中,数组的整体不能参加数据处理,参加处理的只能是数组中的元素变量。所以要对数组进行初始化。
例如:int data[5]={,4,,8,};赋值如图
例4-1
题目:给一维数组x输入10个整数,找出x数组中的最大数和最小数。
算法分析:
1、假设数组中第1个元素最大,令xmax=a[0]
2、将a[i](0= i n)与max进行比较,
若a[i] xmax ,i=i+1,再执行2
否则,令xmax=a[i],i=i+1,再执行2
3、循环结束,求出最大元素并输出max。
#include iostream.h
int main()
{ int array[7];
coutPlease input an array with seven elements: endl;
for(int i=0; i7; i++)
cinarray[i];
int big = array[0];
for(int j=0; j7; j=j+1)
if(array[j]big)
big = array[j];
coutmax=bigendl;
return 0;
}
您可能关注的文档
- 第四章 数学规划模型.doc
- 第四章 流动资产管理.doc
- 第四章 溶 液习题.doc
- 第四章 滴定法概述.doc
- 第四章 点火系教案.doc
- 第四章 犯罪概说.doc
- 第四章 生理疾病及传染病.doc
- 第四章 理论考试题.doc
- 第四章 电视采访策划.doc
- 第四章 短文理解.doc
- 2024年学校党总支巡察整改专题民主生活会个人对照检查材料3.docx
- 2025年民主生活会个人对照检查发言材料(四个带头).docx
- 县委常委班子2025年专题生活会带头严守政治纪律和政治规矩,维护党的团结统一等“四个带头方面”对照检查材料四个带头:.docx
- 巡察整改专题民主生活会个人对照检查材料5.docx
- 2024年度围绕带头增强党性、严守纪律、砥砺作风方面等“四个方面”自我对照(问题、措施)7.docx
- 2025年度民主生活会领导班子对照检查材料(“四个带头”).docx
- 国企党委书记2025年度民主生活会个人对照检查材料(五个带头).docx
- 带头严守政治纪律和政治规矩,维护党的团结统一等(四个方面)存在的问题整改发言提纲.docx
- 党委书记党组书记2025年带头增强党性、严守纪律、砥砺作风方面等“四个带头”个人对照检查发言材料.docx
- 2025年巡视巡察专题民主生活会对照检查材料.docx
文档评论(0)