电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

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

14页
  • 卖家[上传人]:飞****9
  • 文档编号:132054228
  • 上传时间:2020-05-12
  • 文档格式:DOC
  • 文档大小:167.50KB
  • / 14 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、第5章 习题解答一、选择题1以下叙述中错误的是 。A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出B)数组名代表的是数组所占存储区的首地址,其值不可改变C)在程序执行中,当数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息D)可以通过赋初值的方式确定数组元素的个数解析:对于double类型数组,不能直接用数组名对数组进行整体输入或输出。所以选项A的说法是正确的。数组名代表数组所占内存区的首地址,是一个固定指针,其值不可改变,因此选项B也是正确的。在C语言一维数组定义时可以不指定数组长度,由赋初值的初值个数决定数组的长度。因此选项D也是正确的。C语言程序在执行时,不检查数组元素的下标是否越界,如果出现越界,可能会引起系统死机,因此选项C不正确。答案:C2有以下程序:/* 文件路径名:ex5_1_2main.c */#include /* 标准输入/出头文件 */int main(void)/* 主函数main() */char s = abcde;/* 定义字符数组 */s += 2;/* s自加2 */printf(%dn, s0);/* 输

      2、出s0 */return 0; /* 返回值0, 返回操作系统 */执行后的结果是 。A)输出字符a的ASCII码B)输出字符c的ASCII码C)输出字符c D)程序出错解析:数组s的首地址值s是不可改变的,故该程序编译时会出错。答案:D3有以下程序:/* 文件路径名:ex5_1_3main.c */#include /* 标准输入/出头文件 */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

      3、.c */#include /* 标准输入/出头文件 */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中的元素

      4、按照从大到小的顺序排列。但主函数调用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 /* 标准输入/出头文件 */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);/* 输出元素值 */

      5、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 /* 标准输入/出头文件 */int mai

      6、n(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;i9;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的指针,只有

      7、选项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 /* 标准输入/输出头文件 */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分享,可在线阅读,更多相关《C语言程序设计教程 陈明主编 第5章答案》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.