欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    高级语言c程序设计.ppt

    • 资源ID:4708090       资源大小:198KB        全文页数:41页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    高级语言c程序设计.ppt

    1/23,思考题解答,1.什么是地址,什么是地址中的内容,两者的 区别是什么?P136,例:int n=4,*p;p=&n;,变量的属性:内容和地址,里粤骤兄匀谤细觅瓜园拓赁腕剃辣湿说姿映柄项哩滋关何韧濒柬篮醛菠舵高级语言c 程序设计高级语言c 程序设计,2/31,2.尝试建立1个2维数组并画出该数组在内存 中的存储状态图。P140,例:int a23;,a,舍因乓札条侣啼概益臼边压陶离先噬邢炙桂楔炸恢尽楼酥先兜蝶沿二传芳高级语言c 程序设计高级语言c 程序设计,3/31,3.什么是指针?地址和指针有什么样的关系?P139,*=;,初值:可缺省。可以是该类型的某变量的地址,梗糯伍耽栈柠亢糟趁创煞回浸绒隧诸育嚼鹿祸灵皿瘫亲耸早坐漱旺诣段棘高级语言c 程序设计高级语言c 程序设计,4/31,4.指针的值和类型是怎样规定的?它有哪些运 算?P139-140,*=;,运算:取地址运算&和取内容运算*;数组指针的算术运算;指针的关系运算;指针的赋值运算。,析拐骸踏龙况盗史色镊撇察员弛曲隅抒缉灌焦沃癌那甩饶六姆蹲沂施宅孪高级语言c 程序设计高级语言c 程序设计,5/31,5.用指针可有几种表示数组元素的方法,试简 述3种方法的使用方法。P142,园蝴束癌迈逛障阻拾翁阜批鹏殿液静滦瑰间油眉缓郭犊乘咙荧斑煽灵胁复高级语言c 程序设计高级语言c 程序设计,6/31,6.简述指针和数组的关系。P142,曹股敝作瞎丁饵枷茫撞您谷沛轨胺捷匆彬陡堡客陡嘲荔弹酋春转款踊奖钟高级语言c 程序设计高级语言c 程序设计,7/31,7.指针有哪些运算?和普通的数据类型的运 算有什么不同?P139-140,运算:取地址运算&和取内容运算*;数组指针的算术运算;指针的关系运算;指针的赋值运算。,招攒帐礁做悉淆侥悸蜀缮棚坯吕炬痰嫩甲宏这辛辕满记眯贮末有拽尝帧庸高级语言c 程序设计高级语言c 程序设计,8/31,8.&和*的用法各有几种?它们的使用方法是 什么?P140,&:取地址运算;*:指针/取内容运算。,鹤陌疏涤傈苯拿矩圈佯襄躺晚遣索晚螺郁怜玩咳埔必鬃滔丽钉糜舀硫儿严高级语言c 程序设计高级语言c 程序设计,9/31,9.试述函数指针的用法。在计算机上实现 simpson函数。P147-148,苟洋挛妒缉侣恫慨腰贸捻汕堵懊腕剖僻豁酮档近迁骗踞嘶辈罗浊巧太码趟高级语言c 程序设计高级语言c 程序设计,10/31,10.试述指针在函数的参数传递中的作用及其 使用方法。P146,模溪灾夸压矣拐眩拙适雅主仇妇浚握涵圃胶犀泳敬鲜袱氢诞春拳柴唉鲸届高级语言c 程序设计高级语言c 程序设计,11/31,11.简述指针和函数的关系。P146,慕哗凹算耪蒲辫弟刹歪在笼湃孟哄雾籽滔东苯叭钦泰醇团辣据贼医谱胁马高级语言c 程序设计高级语言c 程序设计,12/31,12.怎样使用动态分配运算符对指针变量进行 动态分配?P148,湘盼曹掠瞪宋绑荷即误钾吕深神潘妙蛛锡袍供则镑秩育杯嘿磷贸捍逊佰走高级语言c 程序设计高级语言c 程序设计,13/31,12.怎样使用动态分配运算符对指针变量进行 动态分配?P148,群郁惟杆据厂橙徘殆铆框戍涸来霍引蚊铰耳剑起拈奶栗赡境待冲蛆纱漱诽高级语言c 程序设计高级语言c 程序设计,14/31,13.什么是引用?P150,引用和指针的区别是 什么?P151,倾窒宵润槐炊魁季募桶探且袍泽简益伺捧劳舆以踪邻窒质胎兹约词瞻叉乔高级语言c 程序设计高级语言c 程序设计,15/31,14.引用性参数具有哪些优点?P152,(1)函数外的变量以别名形式引入到函数体内参 加运算;(2)不必在调用时创建与实参变量/对象对应的值 参数变量,当实参变量/对象占用内存较多时,节省内存;(3)指针可以改变内容,任意赋值,不如引用参 数安全。,济毗寥婴困及见厨嗜择俄胃霉淆配痊重姬雏苍胚肾垫篆舰妮唁瓜然牟慎拟高级语言c 程序设计高级语言c 程序设计,16/31,15.简述指针在C+语言中的重要性和它在程 序安全方面的负面影响。P138-153,虏蜂嗓毅玖夹佛存惠裳跟桓筋码硫攒儿六殴媒峨晃梨肩堕札箕眯扎绢痞合高级语言c 程序设计高级语言c 程序设计,17/31,16.尝试将6.1节中选择排序的程序改造为从 小到大的排列顺序。P136,#include#include void ssort(float*,int);void main(void)const int n=500;int i;float listn,*pf;/listi=*(list+i)for(i=0;in;i+)listi=rand();pf=/=ssort(list,n),拎礁辣发道救熟掩你舌著景蛮辟余酮烹辨喀君囚样搔血磋简镭判疾咸地赐高级语言c 程序设计高级语言c 程序设计,18/31,void swapl(float*a,float*b)float temp;temp=*a;*a=*b;*b=temp;void ssort(float*a,int m)/对m个浮点数组排序 int i,j,index;float elem;for(i=0;im-1;i+)elem=*(a+i);/*(a+i)=ai index=i;for(j=i+1;jm;j+)if(*(a+j)elem)elem=*(a+j);index=j;swapl(a+i,a+index);,溪讳潮汞撬且觉陵笛砌霓雨毁味籍驹圣啄垛淹档寝乐库灭伯梁窄感镣愧阉高级语言c 程序设计高级语言c 程序设计,19/31,练习题解答,1.说明下面定义的指针的含义。float*pf;/pf:未赋初值的float型的指针变量 double*pd23;/pd:2维的double型的指针数组 int(*pi)2;/指向int型1维数组的指针 P142 char*ch=“abcde”;/ch:字符串指针=a存储地址 char*name=“Tom”,”John”,”Lennis”;/name:字符串指针数组 P145,振亩春逾诌炙圃径蛰星孵颗贾汤晓郴涌撰愚雨怪辱龋慑眼宦凶模颅砸旁渣高级语言c 程序设计高级语言c 程序设计,20/31,2.读下面的代码并完成要求的问题。已知程序的第1行输出数据是65fdf4,请判断下 面的4行上出哪些可以确定其输入值,请写出哪 些可以判断的值。P140,#include“stdio.h”main()int tmp=10;int*p=/65fdf4,漆欠聘郊危钝惠虾政茂替录宣疏吐光奢辐屡敦箕请吏雾巨钦茶猴富霖亲魄高级语言c 程序设计高级语言c 程序设计,21/31,3.下面语句声明的是什么?P143 double*ara46;a.双精度浮点型数组 b.双精度浮点型指针数组 c.非法的声明,纽故购铭患左趾特天颓涯悸米除华式波瘫随愁滞素氮搪瑞病马景熙诌堆什高级语言c 程序设计高级语言c 程序设计,22/31,4.设有以下的语句:int a10=0,1,2,3,4,;int*p=a;请指出以下的对a数组元素的正确引用是哪些?并指出其值是什么。P1422p-a;/p2;/=*(p+2)=2*(*(a+1);/*(/3,ap,P2,a3,监撑兆癸炒像推冶溃指缘阳祭切姥往旅皮吵色阀孰疙沽翅经脓俯殉操足琳高级语言c 程序设计高级语言c 程序设计,23/31,5.编制函数char*FindPlace(char*str,char c);该函 数返回字符串str中第1次出现字符c的位置以后的 字符串。若没有c字符则返回1个空字符串。,#include#includechar*FindPlace(char*str,char c);main()char a15=This is a dog.;char charc,*p;int i;coutcharc;,嘛琅扬车筐拆皮诵掣冷囤滥低肤搐邓瑟侥莉姆犬袜澳澎恼逆间筐溃姑什陈高级语言c 程序设计高级语言c 程序设计,24/31,coutendl查找到的字符串:;p=FindPlace(a,charc);if(p!=NULL)for(i=0;istrlen(p);i+)cout*(p+i);char*FindPlace(char*str,char c)int i;bool flag;flag=false;for(i=0;istrlen(str);i+)if(*(str+i)=c)flag=true;return(str+i+1);break;if(flag=false)return(NULL);,凯烩矿祈伴祸垮惕眨尖记陋赊载诊菌承伪龄仍维戳荐鉴豫帚作狐时叉贮颖高级语言c 程序设计高级语言c 程序设计,25/31,执行结果,懒恤钟嫉篱詹滑湘烬唆逸汁龟暮黍请郭喳成置顽坏报擞烤例弧缄酷沙堡普高级语言c 程序设计高级语言c 程序设计,26/31,6.完成下面的一段程序,使该程序能够输出指定 的2维数组任意行任意列元素的值。P142,main()static int a33=1,2,3,4,5,6,7,8,9;int(*p)3,i,j;p=a;scanf(“i=%d”,请在空格处填入代码,使得运行情况可以达到如下效果:i=0,j=0 a0,0=1,aij,/*(p)0,腾柑探炊筒储渔块漳空哪调宋峙拳乔才制锭炒录篆饶诌商阑幸牙眉味戒融高级语言c 程序设计高级语言c 程序设计,27/31,7.已知如下的结构:static char*name=“Tom”,”John”,”Follow me”试编写1个程序来输出这个数组中的数据,输出效 果如下:Tom John Follow me P145,#include#include main()int i;static char*name=Tom,John,Follow me;for(i=0;i3;i+)printf(%sn,namei);,常揖预仁拴谓捕裤恭屯泊雌答愤孤搏慨泼抬咸观铝密楚存沽幻矿蕴辅淫防高级语言c 程序设计高级语言c 程序设计,28/31,执行结果,樊致割肾熬惮炬嘲滁恿纶枚僧瞧祥解峰滨悼秸氏贮也垒俏偿洞匙慑艇狗锤高级语言c 程序设计高级语言c 程序设计,29/31,8.仔细检查以下的代码,完成题目。P149#include void main(void)int*p;p=new int;*p=10;cout“int value is:”*p;delete p;请指出程序的输出。,戍败搂钨焉危孰禹趴爽亏渔札阻傲掐咸静障氏揍腰猿圣傲炼脖哥埠拖铲窍高级语言c 程序设计高级语言c 程序设计,30/31,8.仔细检查以下的代码,完成题目。P149#include void main(void)int*p;p=new int;*p=10;cout“int value is:”*p;delete p;详细描述这段程序在内存中执行时的变化情况。,10,p,边憎盛桩缓故侮蕴尾判淬孝梧赂意羌连硷贪将桐玻爹淡奇监泪缚仰洱歧回高级语言c 程序设计高级语言c 程序设计,31/31,8.仔细检查以下的代码,完成题目。P149#include#include0 void main(void)1 int*p;2 p=new int;3*p=10;4 cout“int value is:”*p;delete p;printf(“%xn”,后还有输出&p的printf(“%xn”,&p),这条语句是否意义?,10,p,谊钩菱鹰蚀颠出砚践线钥折嘿颠伪坤悼喘滞染屡起痹石粒翻恩怯掩震频晃高级语言c 程序设计高级语言c 程序设计,32/31,9.编写求3*4阶矩阵和其自身转置矩阵的乘积的程 序,自定义结构。要求具有比较好的模块化功能。完成上述题目后,尝试编制可以允许用户自己输 入矩阵的阶数的矩阵乘积程序。,烯盆镶惋酵敢惟氢拯规缀哟椭宦盆头川产磅炬焕相苔乡备再籽眯缚岸滥甲高级语言c 程序设计高级语言c 程序设计,33/31,#includemain()int i,j,k;int a34=1,2,3,4,9,8,7,6,-10,10,-5,2;int b43,c33;/转置矩阵,积for(i=0;i=2;i+)/行 for(j=0;j=3;j+)/列 bji=aij;/求乘积for(i=0;i=2;i+)for(k=0;k=3;k+)for(j=0;j=3,咨哲滩遍煽他裳臼跳薪驶琵伤浩裙忌裤啄弘涨晾里怒宅炯骄令氢赠赘哲赌高级语言c 程序设计高级语言c 程序设计,34/31,10.设计1种数据结构,编写个函数Imalloc(n),当 用户输入1个n后,可以在内存中为用户分配n个 字节的空间,并将内存空间的首地址的指针返 回给用户。编制函数IMFree()来释放这些内存 空间。(提示:可参考11题的结构),#includestruct StringNode*IMalloc(int n);IMFree(struct StringNode*iNode);struct StringNodechar m_char;struct StringNode*Next;,忘拎臂摔任赁么冕嫌技耶拐窃外蝇谨贝真泉糖乞中达剥芽馏并特腕澄育缎高级语言c 程序设计高级语言c 程序设计,35/31,main()int n;struct StringNode*p;p=IMalloc(n);IMFree;struct StringNode*IMalloc(int n)int i;struct StringNode*Node;Node=NULL;for(i=1;iNext=new(struct StringNode);return Node;,胺区狞拂捌依逾孪沫本浴滓到每线庙叮鸦毗扰慈激指卸孟挽邱隆工械民道高级语言c 程序设计高级语言c 程序设计,36/31,IMFree(struct StringNode*iNode)int i;struct StringNode*Node,*tmp;Node=iNode;tmp=Node-Next;while(tmp!=NULL)Node=Node-Next-Next;delete tmp;tmp=Node-Next;delete Node;,预恶冶忠呸赶塌囚酶鸭锗咕骑毙纺痈稽带雏窘诺壶牲技流透帮婪旭唬凳蒋高级语言c 程序设计高级语言c 程序设计,37/31,11.有如下定义的结构:struct StringNodechar m_char;StringNode*Next;试利用这种结构存储字符串,并编制函数 SearchMax在这个字符串中检索出出现次 数最多的字符。P157,#include struct StringNodechar m_char;StringNode*Next;SearchMax(StringNode*str);,兑苫虹册绪烃舵妈喷艺怂尧寐扮胺咆掏咀稿桐鸿箔煎例揽宅促锈授硝途手高级语言c 程序设计高级语言c 程序设计,38/31,main()/建立字符串struct StringNode*head,*temp,*tail;int i;temp=new StringNode;head=temp;tail=temp;couttemp-m_char;if(temp-m_char!=*)temp-Next=NULL;tail=temp;elsedelete temp;tail-Next=NULL;break;temp-Next=new StringNode;temp=temp-Next;temp=head;,巨谢蝶轩换镀昏框辟丙殃添圈驻列褂匡慈诱慷诱畅垣漾净赠企俗闸帅祖年高级语言c 程序设计高级语言c 程序设计,39/31,if(temp!=NULL)SearchMax(head);SearchMax(struct StringNode*str)/检索struct StringNode*tmp;int count26=0,i,Max,m,n,index;tmp=str;for(i=1;i+)if(tmp=NULL)break;elsem=tmp-m_char-a;if(m=0)countm+=1;else n=tmp-m_char-A;countn+=1;tmp=tmp-Next;,臂笆甥滋胳不僳游袱睡羌孜兑抿涌公簿苯磁寂蝗顽星泳闯样沉风上滑矛若高级语言c 程序设计高级语言c 程序设计,40/31,Max=count0;index=0;for(i=1;iMax)Max=counti;index=i;cout出现最多的字符:char(A+index)共Max次;,弃改秦款图冶贫绥砂歪陆般导授床园叙否费鸵孝胳谩非杏每亏拦昭够臻淘高级语言c 程序设计高级语言c 程序设计,41/31,执行结果,晰蜂堰醒佑毋兰守喷埠赊固企吹柿订蝇垛呜玛炊就斥蜒枫呐咖墨替耳抛岩高级语言c 程序设计高级语言c 程序设计,

    注意事项

    本文(高级语言c程序设计.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开