C语言程序设计项目化教程(周雅静第3版) 训练及综合练习答案 项目6 训练与作业参考答案.docx
《C语言程序设计项目化教程(周雅静第3版) 训练及综合练习答案 项目6 训练与作业参考答案.docx》由会员分享,可在线阅读,更多相关《C语言程序设计项目化教程(周雅静第3版) 训练及综合练习答案 项目6 训练与作业参考答案.docx(24页珍藏版)》请在第一文库网上搜索。
1、项目6用指针优化学生成绩排名任务1了解指针实践训练初级训练1 .若有说明:inta=2,*p=&a,*q=p;则以下非法的赋值语句是(D)解释:a是整型数Int*p,*q定义了指针,p,q是指向整型的指针P取得a的地址,而q取得P的地址,p,q是指针(也就是一个地址),而*p,*q是这个指针指向的整型数值(存放在这个地址的值)。A)把q的地址给p,则P和q完全一样了,都指向一个数2。B)把q中的数据给p。C)把q中的数据给a。D)a中数据是2,不能给一个地址,除非*q=a.答案:D2 .若定义:inta=511,*b=&a;则Printfr%dn*b);输出结果为:(D)解释:inta=511
2、,*b=&a;表示a是整型变量,b是整型指针变量,指向a。Prindr%dn”,*b);就是输出指针变量b所指向变量的值输出结果51U答案:D3 .已有定义inta=2,*p1=&a,*p2=&a;下面不能正确执行的赋值语句是(B)。解释:a是整型变量,p1是指针变量,故B错。答案:B4 .已知在程序中定义了如下的语句:int*p1,*p2;intk;p1=&k;p2=k;则下列语句中不能正确执行的是(B)解释:p1,p2是指针,k是整型变量,变量不可以赋值给指针。A)其实是执行了k=k+k(p1,p2都指向k,所以*p1,*p2其实都是k)C)是赋值语句D)其实执行了k=k*k答案:B5 .
3、若有说明语句:ima,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量a,b,C的语句是(A)解释:intc,*d=&c;表示C是整型变量,d是指针,它指向变量c(即d=&c,*是指针类型的说明符),所以,C的值可以用SCanfr%d”,&c);也可以用SCanfe%d”,d);答案:A6 .若已定义inta=5;下面对(1)、(2)两个语句的正确解释是(D)(1) int*p=&a;(2)*p=a;解释:A:(I)中的*p定义P为int类型指针,(2)中的*表示P指向的变量a。B:(1)把变量a的地址赋给指针变量p,(2)是把变量a的值赋值给P所指的变量。C:前半句正确,后半句错
4、误,(2)是把变量a的值赋值给P所指向的变量。答案:D7 .若有语句int*p,a=10;P=&a;下面均代表地址的一个选择项是(D)解释:int*p是定义一个指针,p=&a,P指向a的地址,*p=a,是指向该指针所指地址中的内容,&a为a的地址,&*P=&a,P中放的是a的地址。答案:D.若需要建立健全如图所示的存储结构,且己有说明doub1e*p,x=0.2345;,则正确的赋A:明显是错误的,因为一个是指针变量,一个是整型变量。B:是将X的地址赋给指针变量p,所以是正确的。C:只定义了指针变量p,而没有给指针变量赋初值,给*p赋值就是给一个没有开辟的地址赋值了,这样会导致程序运行是出现错
5、误。D:明显是错误的,因为&x是地址,正确的应该为P=&x。答案:B8 .若有说明:int*p,a=1,b;以下正确的程序段是(D)解释:A:P是b的地址,所以输入语句应该是:SCanfr%d”,p)。B:没有给指针变量赋初值,给*p赋值就是给一个没有开辟的地址赋值了,所以是错误的。C:同A一样,P是b的地址,所以输入语句应该是:SCanf(%d,p)D:是正确的。答案:D9 .以下程序的输出结果是(B)深入训练1 .输入小王、小张、小李的工资,用指针的方法输出他们的工资单。程序运行结果如图6-12所示,将程序补充完整.EKF个人C语言DebugCpp1.exe届入小壬K臊、小李的工资,以逗号
6、分隔:2345,4567,4322输出小王、小张、小李的工资:234545674322PressanykeytoContinuea图672程序运行结果方法1#inc1udestdio.hmain()(inta,b,c;Printf(输入小王、小张、小李的工资,以逗号分隔:n);scanf(%d,%d,%d,&a,&b,&c);Printf(输出小王、小张、小李的工资:n*);printf(%9d%9d%9dn,*&a,*&b,*&c);要求用指针的方法)方法2ttinc1udestdio.hmain()(inta,b,c;int*aa,*bb,*cc;Printf(输入小王、小张、小李的工资,
7、以逗号分隔:n);scanf(,%d,%d,%d,&a,&b,&c);aa=&a;bb=&b;CC=Ac;Printf(输出小王、小张、小李的工资:r);printf(%9d%9d%9dn”,*aa,*bb,*cc);)2.输入小王、小张、小李的工资,用指针的方法输出他们的工资单,要求按从大到小排序。程序运行结果如图6T3所示,补充完整程序。BwD:个人C语言DebgCpp1exew4566,4322,5433排序后三位员工的工资单:543345664322Pressanykeytocontinue图6T3程序运行结果方法1ttinc1ude*stdio.hmain()inta,b,c,t;i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计项目化教程周雅静第3版 训练及综合练习答案 项目6 训练与作业参考答案 语言程序设计 项目 教程 雅静 训练 综合 练习 答案 作业 参考答案