盘算机本科C措辞讲稿宝典.pptx
《盘算机本科C措辞讲稿宝典.pptx》由会员分享,可在线阅读,更多相关《盘算机本科C措辞讲稿宝典.pptx(55页珍藏版)》请在咨信网上搜索。
1、第七章 数组学习目的:1、理解数组元素与普通变量的区别 2、掌握数组的地址 3、掌握数组的存储 4、掌握数组的初始化徊宁汲甘赚企腐天缮剩诅蓖肝昭感固炒注筐牟误掘扑殉首诈蚜滋钉物恒肝计算机本科C语言第七章讲稿计算机本科C语言第七章讲稿第一节 数组的概念 在处理实际问题时,常要处理同一类型的成批数据(如100个学生的成绩)。可以把这批数据看作一个有机的整体,称为数组,用一个统一的名字代表这批数据,而用序号或下标来区分各个数据。例如:用s代表学生成绩这组数据,s是数组名,用s1、s2、s3分别代表学生1、学生2、学生3的成绩,s右下角的数字1、2、3用来表示该数据在数中的序号,称为下标。数组中的数据
2、称为数据元素。荧稀夺离蕴韩帘蚤慑逸漂涉感伊册驭鼠兹曙饼动仿瞅昌怠酚易斟莽限楔投计算机本科C语言第七章讲稿计算机本科C语言第七章讲稿 概括地说:数组是有序数据的集合,要寻找一个数组中的某一个元素必须给出两个要素:数组名和下标。注意:1 数组是有类型属性的 2 同一数组中的每一个元素都必须属于 同一数据类型 3 一个数组中内存中占一片连续的存储单元于拈华垢蓝恶忘匀交弗涂传胃蜜锭康趟裙氦昌舰史蚁叼盘书牙抡呐挨熔陈计算机本科C语言第七章讲稿计算机本科C语言第七章讲稿int k10;由于在程序中无法用下角表示下标,因此C中用方括号来表示下标。如k0、k1、k2在C中分别用k0、k1、k2来表示。k0 k
3、1 k2 k3 k4 k5 k6 k7 k8 k91000100210041006100810101012101410161018输春秩胜珠严细忘钎芽猎迹扶醛迭迂咨痴昔庶如撞漂寐汤敞诀太扩肠凶札计算机本科C语言第七章讲稿计算机本科C语言第七章讲稿一、一维数组的定义与引用1 定义一组数组 类型标识符 数组名常量表达式;例如:lot s10;它表示数组名为s,此数组为实型,有10个元素。说明:数组名定名规则和变量名相同 用方括号括起来的常量表达式表示下标值 int 10;int s2*8;#deine N 20 int rryN*2;第二节 一维数组寅痘拒毒狗蹄沈汉窜炽蕾灸爪务阿俱湛旷金敏涣刨如暂
4、垫札拍崭顷唤咏坏计算机本科C语言第七章讲稿计算机本科C语言第七章讲稿 常量表达式的值表示元素的个数,即数组长度。int 10;表示有10个元素,这10个元素是:0、1、9。常量表达式中可以包括常量、符号常量,但不能包含 变量。也就是说,C不允许对数组的大小作动态定义,即数组的大小不依赖于程序运行过程中变量的值。int k;scn(“%d”,&k);int sk;英峡侣蘸洞困碴味东袒趁酚慨秸撇剥部藤肿蛾修芽煮缝哀甸恰笛逊绽蹦厅计算机本科C语言第七章讲稿计算机本科C语言第七章讲稿注意点:1)在表示数组元素时下标可以是正整数或整 型变量或整型表达式 for(t=0;t=9;t+)st=t;2)数组的
5、第一个元素的地址即为数组的首地 址,而且C规定,用数组名代表数组的首地 址.&data0=data3)数组名是地址常量,不能向数组名赋值,也不能对其进行&运算。糯抡诽挫蓑闷只柿留抚门辅辗重蹦定历畜老线优妖骋纬朗各疫桶酌鳃糜尉计算机本科C语言第七章讲稿计算机本科C语言第七章讲稿数组元素最小下标由0 0开始,数组元素最大下标是:数组元素个数1例子1 若有以下定义:double w10;则w数组元素下标的上限是_,下限是_。饲住麻怔吃藩哦灼瞄顿陡歌篙樱羽妨纫秽喷洼墓芽论乳莱落景邓傅享喻补计算机本科C语言第七章讲稿计算机本科C语言第七章讲稿二、一维数组的初始化在定义数组的同时给数组元素赋初值的过程在定
6、义数组的同时给数组元素赋初值的过程 称为数组的初始化。格式如下:称为数组的初始化。格式如下:数据类型数据类型 数组名数组名 数组元素个数数组元素个数=数组初值数组初值;1 1、初始值是用逗号隔开的一组常量。、初始值是用逗号隔开的一组常量。如:如:int a5=5,4,3,2,1;int a5=5,4,3,2,1;float j3=3.1416,0.789,5.1 float j3=3.1416,0.789,5.1 char char s5=s5=h h,e e,l l,l l,o o;闲恬辙律灰扣习凯邪篱迭伙甩汐帚洪子闭疟竞吐瞄赘瘁裳歼谍组蛤扼伊仑计算机本科C语言第七章讲稿计算机本科C语言第七
7、章讲稿2、数组初始化时,多于数据个数的元素被赋0。如:int a5=1,2,3;3、初始化时,初始值不能多于元素的个数;否则 会出现语法错误。如:int a5=1,2,3,4,5,6;4、初始化时,号中的数字可以省略,由初始化 数据的个数决定数组元素的个数。如:int a=19,12,3,7;嘿傻殿擒檄遍靡讶摘率蕾伞频洁跋科郁呐肾祈锗摇斩尖辩臻樱愤舟肾悯山计算机本科C语言第七章讲稿计算机本科C语言第七章讲稿定义一个数组后,如果不给其元素赋值,则定义一个数组后,如果不给其元素赋值,则各元素的值是不确定的。要想使数组元素以准确各元素的值是不确定的。要想使数组元素以准确的值参加运算,必须设法使数组获
8、得初值,使数的值参加运算,必须设法使数组获得初值,使数组元素获得初值的方法组元素获得初值的方法有三种:有三种:、使用赋值语句;、使用赋值语句;、利用库函数从键盘、利用库函数从键盘或磁盘文件或磁盘文件读取读取 数据;数据;、定义数组时对其进行初始化。、定义数组时对其进行初始化。撅芒战忆庇初吏回爆肉咎咨匡美主拓钢周蒂歇肩祟哺本粘祥幻吁遥色言维计算机本科C语言第七章讲稿计算机本科C语言第七章讲稿例子 2 min()int 5=1,2,3,4,5;/*在定义时初始化*/int t;or(t=0;t=4;t+)print(“%d”,t);蹄言袭抗柴恃冲渝莉查重墟苑挤恰觅铭舷发猛赡昧磷坠硼席芦汐营烧询帅计
9、算机本科C语言第七章讲稿计算机本科C语言第七章讲稿例子 3 min()int 5;int t;or(t=0;t=4;t+)/*利用赋值语句*/t=t*2;or(t=0;t=4;t+)print(“%d”,t);佣美恫糕掘提偏楼栏快屿龚吸夺汹盯选伎石芬蹬绦发萍龋烧釜敞叭遣币予计算机本科C语言第七章讲稿计算机本科C语言第七章讲稿例子 4 min()int 5;int t;or(t=0;t=4;t+)/*利用库函数从终端输入*/scn(“%d”,&t);or(t=0;t=4;t+)print(“%d”,t);晶隘张婆矩蒂惩伎氦隋咐的夺权盔上松桌骑蒋慌向妆扒暇茧蔓眩蛰追翁笆计算机本科C语言第七章讲稿计
10、算机本科C语言第七章讲稿 例子例子例子例子5 5 5 5 下面程序以每行下面程序以每行下面程序以每行下面程序以每行4 4 4 4个数据的形式输出个数据的形式输出个数据的形式输出个数据的形式输出a a a a数组,请填空。数组,请填空。数组,请填空。数组,请填空。#define N 20#define N 20#define N 20#define N 20 main()main()main()main()int aN,I;int aN,I;int aN,I;int aN,I;for(I=0;IN;I+)scanf(for(I=0;IN;I+)scanf(for(I=0;IN;I+)scanf(
11、for(I=0;IN;I+)scanf(“%d%d%d%d”,_);,_);,_);,_);for(I=0;IN;I+)for(I=0;IN;I+)for(I=0;IN;I+)for(I=0;IN;I+)if(_)_;if(_)_;if(_)_;if(_)_;printf(printf(printf(printf(“%3d%3d%3d%3d”,aI);,aI);,aI);,aI);printf(printf(printf(printf(“nnnn”););););殿篮炕执孪母霹八霉崇荚抛狼种顷裔噶瀑失淬篷监革孝暗宝偶荣伙饮记揉计算机本科C语言第七章讲稿计算机本科C语言第七章讲稿min()int
12、 I,10;0=1=1;or(I=2;I10;I+)I=I-2+I-1;or(I=0;I10;I+)i(I%4=0)print(“n”);print(“%3d”,I);例子6 下面程序的运行结果是?蕊背酒先赌杆柜局塞泼挽调帖碱腑喇馆材匈哨淋园潮臼眉玖腋枕双缕雏福计算机本科C语言第七章讲稿计算机本科C语言第七章讲稿用起泡法对数据排序(由小到大)思路:将相邻两个数比较,将小的调到前头。a0 a1 a2 8 2 12812181次2次第一趟1281次第二趟从例子中可知,n个数用“起泡法”排序,共要比较n-1趟,每一趟要比较n-j次。(n表示数据的个数,j表示第几趟)啡版舶褐争率篷菩忠盼狈昆烦五娠问镇
13、丛沂婉凶衍赔铸适拘逊整苞乞烙摘计算机本科C语言第七章讲稿计算机本科C语言第七章讲稿例子7 用起泡法对10个数进行排序(由小到大)#include min()int 11,n,j,temp;or(n=1;n11;n+)scn(“%d”,&n);or(n=1;n=9;n+)or(j=1;jj+1)temp=j;j=j+1;j+1=temp;or(n=1;n11;n+)print(“%3d”,n);罚泥廷裳相仕狸南归膊赂肉园碰芋禄慑裂芳恨旭摊莆贫力邵描声漓沃洛肾计算机本科C语言第七章讲稿计算机本科C语言第七章讲稿 例子8 请根据题意编写源程序 中秋佳节,有贵客来到草原,主人要从羊群中选一只肥羊宴请客
14、人,当然要选最肥的一只,请大家以10只羊为例,从键盘输入10只羊的重量,并求出第几只羊是主人所要的。擅蔗免汽蜗甭蜕闭捅毕匣顷狼蔑猖糖鼻蹿筏棠徒秸娟录奋始弃攘袭花峰蚤计算机本科C语言第七章讲稿计算机本科C语言第七章讲稿第三节第三节 二维数组和多维数组二维数组和多维数组一、二维数组和多维数组的定义定义二维数组的一般格式:数据类型 数组名行数列数;例:int a23;上面定义了一个a数组,它有行列。每一个数组元素都是整型数据。注意:每一维的下标都从算起。因此,a数组中的元素如下:a00 a01 a02 a10 a11 a12石赖雕洼县伏遗撬禁卜次馅彼麻凋绽动液赃摸义费驰哲营刨啄媳眷粪利镊计算机本科C
15、语言第七章讲稿计算机本科C语言第七章讲稿二维数组在内存中的排列顺序是二维数组在内存中的排列顺序是“按行按行存放存放“。即先存第。即先存第0行的元素,然后再存第行的元素,然后再存第1行的元素。如下图:行的元素。如下图:1212213467200120032005200720092011沈袖木裴搂颗己湃念鹰祭借踞垣妙囚构掖卸醋乞跌捌要鸿蹲程蔷纽斤廊份计算机本科C语言第七章讲稿计算机本科C语言第七章讲稿多维数组的定义格式:多维数组的定义格式:int a232;int a232;定义了一个三维数组定义了一个三维数组a a,其有,其有*1212元元素,其内存分配情况如素,其内存分配情况如右图:右图:滦鼎
16、揽然碳锰非望徐彦盛翔收绥踊懂氏孪鬼所刁译篆船寄百铺咨唐筐沈可计算机本科C语言第七章讲稿计算机本科C语言第七章讲稿二、二维数组的引用数组必须“先定义,后引用”。引用二维数组的形式:数组名下标下标 如:c00 c76引用三维数组的形式:数组名下标下标下标 如:c000 b212 蠢香崭汀傣顷叠涎琳列褐瞥摹橡鲤蓟檬溯角乏伞眠哟间润咯吏对呜幅卖枪计算机本科C语言第七章讲稿计算机本科C语言第七章讲稿三、二维数组的初始化三、二维数组的初始化对一个二维数组初始化可以分行以对各元素赋对一个二维数组初始化可以分行以对各元素赋值。值。例例:int a23=1,2,3,4,5,6;int a23=1,2,3,4,5
17、,6;或或 int a23=1,2,3,4,5,6;int a23=1,2,3,4,5,6;也可以对部分元素赋值,例:也可以对部分元素赋值,例:int a23=1,2,3,4;int a23=1,2,3,4;如果在定义数组时,给出了全部数组元素的初值,则定义数组时第一个下标可以省略。int a23=1,2,3,4,5,6;等价于 int a3=1,2,3,4,5,6;燃笺籍顶磕液出冀栓挂麓邑滑予付氰蓝藏再客塘踏濒埋霍古失衅零莱呵旬计算机本科C语言第七章讲稿计算机本科C语言第七章讲稿例子1 include min()int 34,t,k;or(t=0;t=2;t+)or(k=0;k=3;k+)s
18、cn(“%d”,&tk);or(t=0;t=2;t+)or(k=0;k=3;k+)print(“%4d”,tk);print(“n”);州赃铭稳嗽令坪奎蚀户锐卞曲厉血款苛岳毫燥鹏出牛逻耿侵耳歇炔吃硼瀑计算机本科C语言第七章讲稿计算机本科C语言第七章讲稿 例子2 定义如下变量和数组:int k;int a33=1,2,3,4,5,6,7,8,9;则下面语句的输出结果是_ for(k=0;k3;k+)printf(“%d”,ak2-k);负甫多君芳份遗考幌适彰玛矾冉叁乐氮醇堡采酣上予欣持憨拢今猩印拨坎计算机本科C语言第七章讲稿计算机本科C语言第七章讲稿例子例子例子例子3 3 有如下程序:有如下程序
19、:有如下程序:有如下程序:main()main()int a33=1,2,3,4,5,6;int a33=1,2,3,4,5,6;int i,j,s=0;int i,j,s=0;for(i=1;i3;i+)for(i=1;i3;i+)for(j=0;j=1;j+)for(j=0;j=1;j+)s+=aij;s+=aij;printf(“%dn”,s);printf(“%dn”,s);该程序的运行结果是该程序的运行结果是该程序的运行结果是该程序的运行结果是_枝肛旋巍践摘札言闰谨违积谭酸捣耐荔筏珠尚穆摈硷糟击蟹燃瑚戏诱花莹计算机本科C语言第七章讲稿计算机本科C语言第七章讲稿三维数组的初始化int
20、a234=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24由于第一维的大小为,可以认为a数组由二个二维数组组成。每个二维数组为行列。如下图示:烯茵彦廓绥蝎妙破剩每壮蠢吝恫烦附闹葫避霸卯条衡于盯欧昭吨紫啦频晕计算机本科C语言第七章讲稿计算机本科C语言第七章讲稿例子4include min()int 333,t,k,i;or(t=0;t=2;t+)or(k=0;k=2;k+)or(i=0;i=2;i+)scn(“%d”,&tki);or(t=0;t=2;t+)or(k=0;k=2;k+)or(i=0;i=2;i+)prin
21、t(“%4d”,tki);print(“n”);顿链睛叹惶逆维氛描孙捻噬蓬通好尖枷西呛疾脊轰哩酵紫茶舵沉症室价兵计算机本科C语言第七章讲稿计算机本科C语言第七章讲稿例子5 将一个二维数组行和列元素互换,存到另一个二维数组中min()int m,n,23,b32;or(m=0;m2;m+)or(n=0;n3;n+)scn(“%d”,&mn);or(m=0;m2;m+)or(n=0;n3;n+)bnm=mn;or(m=0;m3;m+)or(n=0;n2;n+)print(“%4d”,bmn);概燕浸鉴钠口潘凳瓤骂癸象承衬裴法轨詹鼠铀毋川浚傈司织红逝曲穷憎匡计算机本科C语言第七章讲稿计算机本科C语言
22、第七章讲稿例子6 有一个3*4的矩阵,要求编程序求出其中值最大元素的值,以及其所在的行号和列号。解题思路:采用“打擂台”的算法如果有若干人比武,先有一个站在台上,再上去一人与其手,败者下台,胜者留台上。第3个人再上台与在台上者比,同样是败者下台,胜者留台上,如此比下去,直到所有人都上台比过为止,最后留在台上的就是胜者。程序模拟这个算法:开始时把00的值赋给变量mx,mx就是擂主,然后让下一个元素与它比较,将二者中值大者保存在mx中,然后再让下一个元素与新的mx比,直到最后一个元素比完为止。mx最后的值就是数组所有元素中的最大值。附夸涅湘愧秤豌莽倡潭亭腥翟倾花蓬己咬舍骆诺透铜鼠卵屉腐幢名躯鲸铝计
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 盘算 本科 措辞 讲稿 宝典
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。