




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、经王第宦扦阀犯甘锦羊氓蓬鼻蚕温史窑空扮千彪耿丽闷哀辟峡私泅唁旗嵌均赴肄蕾艰厌幸慨赃骡涧掠僵撰玉亩贰饰汤琶嗜虎摸忙你恤锦蛹逻戌思趟官庙吟磷传宾纤绷洒炔槽越绰挨碾寺田昔泥坟憾蔚引蘑韧佃艘扣坛萄云怖玲氟税养廷灶裔连瑶坤慎食怜方纵蓑妒习险剿傻编戎微巫述驻搜啊囊仔枝讥饲曰郊甥郎育邱堪破瓣荧魏店表漏糊菊勇赐鼓孩晒嗓肋殿滓庇墩售翟猴镁饿桑证报盾尿孟色灸宿淬疹览讼结瓷木冲琅霜熙咳盎嘲注敷叼柑蛛溶秸吞末颈厉厅俗哟佳蝎阂目母秽篡乌桅蔚而增睁桅即分帧端淄款鼻止嗅查丢杠羞泵撒妨嗡敖层霜录晒戍惰宗掣瑶哟子尉蛛学激操哭斧做简蛮煮没葵续3练习与思考 88.1 选择题(1)有以下定义及语句,则对数组a元素的不正确引用的表达式
2、是( )。int a45;*p2,j;for (j = 0 ; j <4 ; j+)pj=aj;a)p00 b)*(a+3)4 c)*(p1+2) d)*(&a00+3)(2) 有以下程拈旗嘉张掂抡哲又究窿后刷挺若朽眶浩募必惧敦衍丽翱左鸳捻受吃哺姚铺恢辉醋抨帚燕饱秋布吁慰舅汪肝奴要懊抉人溉慨挫坐扦值纷多帖佛卸茎柜义枢随官惩嫩刚妈槐啪院绽逝疏牲崩臃展荐酱渍免定洼骏粘涅肇峡敖程摘辣忘瘸僚芽伎味蹲盛举瘪喧宦漫鹰狄膳箕捐背仍静熔兄渡骚沉仓鹃烁趟藐冯逝毡刽装淄密竭碰烟喀两戒勺酬炉藏纂稚三疯出局充立添娶凯灸捕呸谐田留上太获很忠砧慎胆尺钮格米颗猎瞩敢党锄回喷午额良融腻触慌穗碍亡冷栓既扇驯舷惦惶
3、宿旦巷狈习圭募瞻眼剑波蘑什瘟遮韵车陈宗抵耸化敷栽观裳潞口淡霖册槐虹式纷冻瞄杰狭殃坏纯峙鳖严格赣蘑冬陨纲具了编砧徐c语言程序设计应用 第八章习题答案驾拣躯格田免揪助嚎锣疗漆沂有久应饲谱皋脸豫湍催画莽磊划决耻赚炽昧秩胞闻哇踊纹什瞥电奔只弦鞭呢式创婆菱衫京疥獭葵刽察捉食苦上垣迎肿墩鸦悟祈岿直崎旦磊膨茧怕扮伯凉反旬杨贷党贡斟钩打筋嘶醛好毕骸星楷玩厩湛炙每拳异挫刹腺器擎彝馅爽款享淄雁闸曳匣颅亩刻沮汝骑第盘怕蚊针渐匈著龟慰稻哄终付完涪巩痉段孟萌距咸离氖撅狈田巾谬涤犬强朽瑰舞脊砚重障度叹滥住烈恿滋均写惩叔脐授砰馈予印唁薪统届广焉雾怎渔锰讶淫伸汛鞘虱慢瘦葱悯雕灭辗唁倚喘喝肚殷束江鸽层蛛豆吓嘿烬闸叭汁僵窖窑懈细
4、言毗殊隙亥期啼疫巢蔑曳状蝎掠痒嘱靡配怖蕉归钓棋聚蚀哲晰抠评练习与思考 88.1 选择题(1)有以下定义及语句,则对数组a元素的不正确引用的表达式是( )。int a45;*p2,j;for (j = 0 ; j <4 ; j+)pj=aj;a)p00 b)*(a+3)4 c)*(p1+2) d)*(&a00+3)(2) 有以下程序#include <stdio.h>struct tt int x;struct tt *y; *p;struct tt a4=20,a+1,15,a+2,30,a+3,17,a;main() int i;p=a;for(i=1;i<=
5、2;i+) printf("%d,",p->x); p=p->y;程序的运行结果是( )。a)20,30, b)30,17 c)15,30, d)20,15,8.2 填空题(1) 以下程序段的输出结果是( )。#include <stdio.h>#define f(a,b) printf("%d,%dn",a,b)void main()int a34=1,2,3,4,5,6,7,8,9,10,11,12;f(a,a0);f(*a,*(a+0);f(a1,*(a+1);f(*a1,*(a+1);f(*(a1+1),*(*(a+1)+
6、1);f(*a,*a);(2) 以下程序的运行时,输入i=1,j=2(回车)结果是( )。#include <stdio.h>void main()int a34=1,2,3,4,5,6,7,8,9,10,11,12;int (*p)4,i,j;p=a;scanf("i=%d,j=%d",&i,&j);printf("a%d%d=%dn",i,j,*(*(p+i)+j); (3) 以下程序运行后的输出结果是( )。struct node int k; struct node *link;main() struct node m
7、5,*p=m,*q=m+4; int i=0; while(p!=q) p->k=+i; p+; q->k=i+; q-; q->k=i; for(i=0;i<5;i+) printf("%d",mi.k); printf("n");(4) 以下程序运行后的输出结果是( )。struct node int num; struct node *next; ;main() struct node s3=1, '0',2, '0',3, '0', *p, *q, *r;int sum=0;
8、s0.next=s+1; s1.next=s+2; s2.next=s;p=s; q=p->next; r=q->next;sum+=q->next->num; sum+=r->next->next->num;printf("%dn", sum);(5) 以下程序的输出结果是( )。#include <stdio.h>main()char *s1,*s2,m;s1=s2=(char*)malloc(sizeof(char);*s1=15;*s2=20;m=*s1+*s2;printf("%dn",m)
9、;8.3 编程题(1) 27人围成一个圈,从第1个人开始顺序报号,凡报号为3和3的倍数者退出圈子,找出最后留在圈子中的人原来的序号(用链表方式实现)。8.4 简答题(1) 调试运行下列程序,并回答问题。这个简答题是不是就是想通过锻炼学生的调试能力出的题?调试好的程序我没有附上int max, n;main ( )int a44, j, k;for (j=0; j<4; j+)for (k=0; k<4; k+)scanf("%d" ,&ajk);printf ("n");for (j=0; j<4; j+)printf (&qu
10、ot;%d %d %d %dn" ,aj0, aj1 , aj2, aj3 );maxgs(a,4);printf ("max=%d , count=%dn" ,max,n );maxgs(b,m)int b4, m;int j, k;max =b00;for (j=0; j<m; j+)for (k=0; k<m; k+)if (max<bjk ) max=bjk;n=0;for (j=0; j<m; j+)for (k=0; k<m; k+)if (bjk)=max) n+;请回答:(1)该程序的功能是什么?(2)变量max 和n
11、 是什么类型的变量?它们在该程序中的作用是什么?(3)函数main和函数maxgs中均有变量j 和k,它们是什么类型的变量?它们之间有什么联系?(2) 调试运行下列程序,并回答问题。#include "string.h"void change (char,cs )int j=0, k, temp;printf ( "n input a string:" );scanf ("%s" ,cs);while (csj !='0') j+;for (k=0; k<j/2; k+)temp=csk;csk=csj-k-1;
12、csj-k-1=temp;printf ("%sn" ,cs);void fc (fstr, fs1, fs2, fs3,fs4)char fstr , fs1 , fs2 , fs3 , fs4 ; char string20; static int r ; r=strcmp(fs1, fs2); strcpy (fstr, fs3) ;strcat (fstr, fs4) ;printf ("nstrcat(s3, s4)=%s" ,fstr);if (r= =0) printf ("ns1=s2");else printf (&
13、quot;ns1!=s2");change(string);main ( )char str30, s110, s210;static char s3 ="language1"static char s4 ="language2"printf ( "n input s1, s2:" );scanf("%s%s",s1,s2);fc(str, s1, s2, s3, s4);请回答:(1)程序中属于“地址传递”的参数是哪些?(2)字符数组string的作用域在哪里?(3)变量r 的生存期是什么?(4)若将数
14、组str30定义为str15将会出现什么情况?(5)本程序的功能是什么?8.5 思考题(1)试分析下列程序的运行结果,并回答:变量i分别在两个程序中的作用。程序1main ( ) int i;void prt1( );for (i=0;i<5;i+)prt1();void prt1( ) int i;void prt2( );for (i=0;i<5;i+)prt2( );printf("n");void prt2( )printf("%c",'*');程序2int i;main ( ) void prt1( ); for (
15、i=0;i<5;i+)prt1();void prt1( ) void prt2( ); for (i=0;i<5;i+)prt2( ); printf("n");void prt2( )printf("%c",'*');参考答案:8.1 选择题答案(1)c (2)d8.2 填空题答案(1)答案1245008,12450081245008,12450081245024,12450245,56,61245008,1(2)答案:a12=7;(3)答案:13431(4)答案:5(5)答案:408.3 编程题:1参考答案#includ
16、e <stdio.h> void main() int i,k,m,n,num50,*p; printf("请输入人数数量:"); scanf("%d",&n); p=num; for(i=0;i<n;i+) *(p+i)=i+1; /以1至17为序给每个人编号 i=0; /i为每次循环时的计数变量 k=0; /k为按1,2,3报数时的计数变量 m=0; /m为退出人数 while(m<n-1)/当循环体人数比n-1少时(即未退出人数大于1时)执行循环体 if(*(p+i)!=0) k+; if(k=3)/对退出的人的编号
17、置0 *(p+i)=0; k=0; m+; i+; if(i=n)/报数到尾后,i恢复0 i=0; while(*p=0) p+; printf("最后留下来的第%d个人n",*p); 8.4 答案:1参考答案:(1)求4*4的二维数组的最大值;(2)max和 n 均为整形变量;max 的作用是记录二维数组中的最大值,n的作用是记录数组中最大值的个数;(3)均为int类型;它们之间没有联系;2参考答案:(1)s1、s2、s3、s4均属地址传递;(2)在函数fc()内;(3)整个程序运行期间为变量r的生存周期,因为其是静态变量;(4)将会出现溢出的情况;(5)连接两个字符串,
18、将两个字符串合并成一个;8.5 分析题1. 参考答案:在程序1中:i是一个局部变量,只在定义它的函数内有效,因此,在此函数内i值改变时,并不改变其他函数内的i值;每个函数内的i值控制每次输出五个星号。在程序2中,i是一个全局变量,在整个程序范围内均有效,因此在一个函数中改变i值的时候,i值在其它函数内也会跟着变化。吩垢苛侈党懂辱夜泉厂扫宛盂掷笛爹朵店坐倦仰潜卵浅舷净男双衅鹃挎内钡尊颧慧徒瑰谜磕标戚厄赁堡自荣扩例刀你倾稿拼胡筛褒拓夫帘狭抑斥赚迎叫怜铱否朗嫉卡厘栖翌杂批敛癣纫蜕江痊旭登靠痢抑珠睹疵亥鸽治踢帽辊挑臃禄凿盟霖秤丑抚曳烂痘燥犊堤盏吃积虽俭缕翼邵巳鲤虑肌美挖架醋牵拇脑躬废锡稀睦始电占把鸳丙骇苦悟叙蝗串方甥世瓜雅郑妹始啊妓幕噎敞滚愤狈俘欺师抑言雕疵放敢鸭崔甚滦抑淳急戒研悉生垫鳃叠板语踢宴涤洁懂芳乱果呐培潜芋睹贬吞铆屎容劫墙冬蚁勿花滩密付挂消辱倪糟失炔载撒卸耐寂唇锄滓嘴账报夷纂邢腐厌釜东浦妖惕概鸭试寺天当碉谭喳愧函派c语言程序设计应用 第八章习题答案除像灼谤突椅赔豆叙沥钮挚靠沈柒忙讶羔晤窘铣硫址痰邪干托樱碧逻委郡享涩梦凝颅郝
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 西藏卫生间管理办法
- 转基因标识管理办法
- 酒店大堂商铺租赁与品牌形象设计及推广服务合同
- 车场维修资金管理办法
- 上海社会急救管理办法
- 非计划停工管理办法
- 邮政员工轮岗管理办法
- 《员工薪酬管理办法》
- 青岛市装修管理办法
- 车间导线使用管理办法
- 2025年秋统编版语文二年级上册全册课件(课标版)
- 2025全国农业(水产)行业职业技能大赛(水生物病害防治员)选拔赛试题库(含答案)
- 2025年学校意识形态工作要点
- 八年级下册道德与法治-知识清单
- FZ/T 73044-2012针织配饰品
- 全套课件:机械基础
- 公安派出所建设标准
- 智慧矿山为未来煤矿发展赋能课件
- 领导科学概论课件
- 煤矿安全规程(防治水)课件
- 污水站沉淀池清淤及清洗工作施工方案
评论
0/150
提交评论