资源描述:
《c语言程序设计教程cj05数组new潭浩强第3版》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、辽宁师范大学计算机与信息技术学院蔡静C语言程序设计目录C语言程序设计初步数据描述与基本操作C程序的流程控制函数数组指针结构体和共用体位运算文件综合应用第五章数组5.1一维数组5.2变量的存储属性5.3编译预处理数组是构造型数据,由基本类型数据按一定规则组成,是有序数据的集合。数组中元素类型相同,用数组名和下标来唯一标识数组中元素。789687….Stud[0]stud[1]stud[2]….Stud[99]StudStud(100)有100个元素:stud[0]~stud[99]数组
2、的概念4辽宁师范大学蔡静5.1一维数组5.1.1一维数组的定义格式:类型说明符数组名[常量表达式]例:floatfstud[100];intinum[6];charcname[9];说明:数组名命名规则与变量名的命名规则相同;[]中的常量表达式的值是数组长度,即元素个数;C规定,数组为静态存储(static),所以常量表达式中不能含有变量。…..5辽宁师范大学蔡静5.1.2数组元素的引用数组名[下标]例:fstud[3]表示数组fstud中第四个元素。说明:先定义后使用;下标从0开始;0,……,数组长度-
3、1C规定只能引用单个元素,不能一次引用整个数组。例:6辽宁师范大学蔡静5.1.3一维数组的初始化1.定义时赋初值(1)对全部元素赋初值;指定长度staticintinum[4]={8,2,5,4};不指定长度staticintinum[]={8,2,5,4};(2)对部分元素赋初值;必须指定长度staticintinum[5]={1,2,3,4};/*给前四个元素赋值*/staticintinum[5]={1,,3,4,5};/*error*/staticintinum[]={1,2,3};/*系统认为数
4、组inum的长度为3*/8254inuminum[0]inum[1]inum[2]inum[3]7辽宁师范大学蔡静5.1.3一维数组的初始化(续)不能对数组这样整体赋初值例:staticintinum[10]={7*10};若不赋初值,系统对static数组的数值型元素自动赋初值为数值0;对static数组的字符型元素自动赋初值为字符‘ ’。例1CJ_Array_score_sum_ave_grade.C:输入N个学生成绩,求平均分。若该生成绩高于平均分10分,记为“A”等,若低于平均分10分,记为“C
5、”等,其余记为“B”等。8辽宁师范大学蔡静例2:CJ_Array1_ChangeInsertDelete.C编写程序。N个数,把第1个数给第2个数,第2个数给第3个数,……,以此类推,把第N-1个数给第N个数,最后把第N个数给第1个数。编写程序。N个数,把第2个数给第1个数,第3个数给第2个数,……,以此类推,把第N个数给第N-1个数,最后把第1个数给第N个数。N个数,删除其中第m个数。N个数,键盘接收一个数插入到其中第m个位置。9辽宁师范大学蔡静5.1.4一维数组元素的查找与排序排序——冒泡排序算法、选
6、择排序算法例:查找——折半查找算法例:10辽宁师范大学蔡静排序之冒泡法。思想:比较相邻两数,小数上浮。972651792651729651726951726591726519726512765126751265712651726512651256125162512512152112第一轮6个数比较5次第二轮5个数比较4次第三轮4个数比较3次第四轮3个数比较2次第五轮2个数比较1次N个数:比较N-1轮;第j轮,N-j+1个数,比较N-j次。排序之选择法。思想:分别与其后的各数比较,每轮得到1个当前的最小数.
7、972651792651297651297651297651197652976527965269752597622976597657965697559769767966979779第一轮6个数比较5次第二轮5个数比较4次第三轮4个数比较3次第四轮3个数比较2次第五轮2个数比较1次N个数:比较N-1轮;第j轮,N-j+1个数,比较N-j次查找之折半查找法。前提:数据已排序思想:先检索序列1/2处的数据,看它是否为所需的数据,若不是,则判断要找的数据是在当中数的哪一边,下次就在这个范围内查找,…。每次将查找范
8、围缩小一半,直到找到这个数或得出找不到的结论为止。0123456789101112131415161718256781315171921232526272835415263第1轮查找top=0mid=(top+bot)/2bot=n-1101112131415161718232526272835415263第2轮查找topmidbot1011121323252627第3轮查找topmidbotbot=mid-112132627