电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOC文档下载
分享到微信 分享到微博 分享到QQ空间

C语言程序设计教程 陈明主编 第5章答案

  • 资源ID:132054228       资源大小:167.50KB        全文页数:14页
  • 资源格式: DOC        下载积分:0金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要0金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

C语言程序设计教程 陈明主编 第5章答案

第5章 习题解答一、选择题1以下叙述中错误的是 。A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出B)数组名代表的是数组所占存储区的首地址,其值不可改变C)在程序执行中,当数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息D)可以通过赋初值的方式确定数组元素的个数解析:对于double类型数组,不能直接用数组名对数组进行整体输入或输出。所以选项A的说法是正确的。数组名代表数组所占内存区的首地址,是一个固定指针,其值不可改变,因此选项B也是正确的。在C语言一维数组定义时可以不指定数组长度,由赋初值的初值个数决定数组的长度。因此选项D也是正确的。C语言程序在执行时,不检查数组元素的下标是否越界,如果出现越界,可能会引起系统死机,因此选项C不正确。答案:C2有以下程序:/* 文件路径名:ex5_1_2main.c */#include <stdio.h>/* 标准输入/出头文件 */int main(void)/* 主函数main() */char s = "abcde"/* 定义字符数组 */s += 2;/* s自加2 */printf("%dn", s0);/* 输出s0 */return 0; /* 返回值0, 返回操作系统 */执行后的结果是 。A)输出字符a的ASCII码B)输出字符c的ASCII码C)输出字符c D)程序出错解析:数组s的首地址值s是不可改变的,故该程序编译时会出错。答案:D3有以下程序:/* 文件路径名:ex5_1_3main.c */#include <stdio.h>/* 标准输入/出头文件 */int main(void)/* 主函数main() */int a10 = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, *p = &a3, *q = p + 2; /* 定义数组及变量 */printf("%dn", *p + *q);/* 输出*p + *q之值 */return 0; /* 返回值0, 返回操作系统 */程序运行后的输出结果是 。A)16 B)10 C)8 D)6解析:数组a各元素a0-a9的值依次为110,语句“*p=&a3”把指针变量p初始化为&a3,即*p的值为4,指针变量q初始化为“*q=p+2”,所以*q的值为6,从而*p+*q=l0。答案:B4有以下程序:/* 文件路径名:ex5_1_4main.c */#include <stdio.h>/* 标准输入/出头文件 */void Sort(int a, int n)/* 将a中元素从大到小进行排序 */int i, j, t;/* 定义变量 */for (i = 0; i < n - 1; i+)for (j = i + 1; j < n; j+)if (ai < aj) t = ai; ai = aj; aj = t; int main(void)/* 主函数main() */int a10 = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, i; /* 定义数组及变量 */Sort(a + 2, 5);for (i = 0; i < 10; i+)printf("%d,", ai);/* 输出ai */printf("n");/* 换行 */return 0; /* 返回值0, 返回操作系统 */程序运行后的输出结果是 。A)1,2,3,4,5,6,7,8,9,10 B)1,2,7,6,3,4,5,8,9, 10,C)1,2,7,6,5,4,3,8,9,10 D)1,2,9,8,7,6,5,4,3, 10,解析:函数Sort()的功能是将数组a中的元素按照从大到小的顺序排列。但主函数调用Sort()时,实参是a+2和5,即是将数组a中a2-a6共5个元素进行从大到小的排序。所以得到的输出结果应该是1,2,7,6,5,4,3,8,9,10。答案:C5以下数组定义中错误的是 。A)int x3 = 0;B)int x23 = 1, 2, 3, 4, 5, 6;C)int x3 = 1, 2, 3, 4, 5, 6;D)int x23 = 1, 2, 3, 4, 5, 6;解析:二维数组赋初值时,第一个维数,即行数可以省略,但是列数不能省略。因此选项A, C正确。选项D是按数据在二维数组中的顺序初始化。在选项B中,行维数的初始化格式跟定义的维数不一致,为错误选项。答案:B6有以下程序:/* 文件路径名:ex5_1_6main.c */#include <stdio.h>/* 标准输入/出头文件 */int main(void)/* 主函数main() */int i, t3 = 9, 8, 7, 6, 5, 4, 3, 2, 1;/* 定义变量及数组 */for (i = 0; i < 3; i+)printf("%d", t2 - ii);/* 输出元素值 */printf("n");/* 换行 */return 0; /* 返回值0, 返回操作系统 */程序的执行后的输出结果是 。A)753 B)357 C)369 D)751解析:定义二维数组时第一维的长度可以不指定,该程序中t3通过赋初值等价于t33,并且其数组按行进行赋值,通过for循环输出的分别是t20、t11和t02。答案:B7若有语句“char *line5;”,以下叙述中正确的是 。A)定义line是一个数组,每个数组元素是一个基类型为char的指针变量B)定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组C)定义line是一个指针数组,语句中的*号称为取址运算符D)定义line是一个指向字符型函数的指针解析:在语句“char *line5;”中,遵照运算符的优先级,的优先级高于*号,因此line先与结合,构成一个数组,数组的基类型为“char *”,所以line为指针数组,它的每个元素都是基类型为char的指针。所以选项A叙述正确。答案:A8有以下程序:/* 文件路径名:ex5_1_8main.c */#include <stdio.h>/* 标准输入/出头文件 */int main(void)/* 主函数main() */int a33, *p, i;/* 定义数组及变量 */p = &a00;/* p指向数组a的首元素 */for (i = 0; i < 9; i+)pi = i;/* 为pi赋值 */for (i = 0; i < 3; i+)printf("%d ", a1i);/* 输出a1i */printf("n");/* 换行 */return 0; /* 返回值0, 返回操作系统 */程序运行后的输出结果是 。A)0 1 2 B)1 2 3 C)2 3 4 D)3 4 5解析: p指向二维数组a的首元素,而二维数组是按行存放的。因此“for(i=0;i<9;i+) pi=i;”的结果是等价于a33=0,1,2,3,4,5,6,7,8,也就是a33=10,1,2,3,4,5,16.7,8。因此a1i(i=0,1,2)的结果是3, 4, 5。答案:D9若有定义语句“int a23, *p3;”,则以下语句中正确的是 。A)p0=a; B)p0=a; C)p0=&a12; D)p1=&a解析:因为*p3定义成指针数组,指针数组中的任何元素都是基类型为int的指针,只有选项B是正确的。答案:B10设已有定义“float x;”,则以下对指针变量p进行定义且赋初值的语句中正确的是 。A)float *p=1024; B)int *p=(float)x; C)float p=&x; D)float *p=&x;解析:指针的值是变量的地址而不能是数值常量,所以选项A错;选项B同样是将float类型的值赋给指针而不是地址,所以选项B也错。定义指针变量前面必须有星号(*),所以选项C不正确。答案:D11若有定义“short int a=10,20,30, *p=&a;”,当执行“p+;”后,下列说法错误的是 。A)p向高地址移了一个字节B)p向高地址移了一个存储单元C)p向高地址移了两个字节D)p与a+l等价解析:“*p=&a”将数组a的首地址赋给指针p,通过对指针变量加上一个整数可以移动指针,移动的单位为存储单元,short int型变量在存储器中占两个字节。答案:A12有以下程序:/* 文件路径名:e5_1_12main.c */#include <stdio.h>/* 标准输入/输出头文件 */int main(void)/* 主函数main() */int a = 1, b = 3, c = 5;/* 定义变量 */int *p1 = &a, *p2 = &b, *p = &c;/* 为指针变量赋值 */*p = *p1 * (*p2);/* 修改p2指向的变量的值 */printf("%dn", c);/* 输出c */return 0; /* 返回值0, 返回操作系统 */执行后的输出结果是 。A)1 B)2 C)3 D)4解析:指针p1指向变量a,指针p2指向变量b,指针p指向变量c,“*p = *p1 * (*p2);”等价于“c=a*b”,故正确选项为C。答案:C13己定义以下函数:int f(int *p) return *p; f()函数返回值是 。A)不确定的值B)一个整数C)形参p中存放的值D)形参p的地址值解析:p中存放的是地址值,*p间接引用了p指向的整数值。因此返回一个整数。答案:B14己有定义“char a = "xyz", b =

注意事项

本文(C语言程序设计教程 陈明主编 第5章答案)为本站会员(飞****9)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

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

分享当前资源【C语言程序设计教程 陈明主编 第5章答案】到朋友圈,您即可以免费下载此资源!
微信扫一扫分享到朋友圈
二维码
操作提示:任选上面一个二维码,打开微信,点击“发现”使用“扫一扫”,即可将选择的网页分享到朋友圈
您可能感兴趣的------------------------------------------------------------------------------------------------------



关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.