ImageVerifierCode 换一换
格式:DOC , 页数:19 ,大小:55.54KB ,
资源ID:9797484      下载积分:8 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/9797484.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(第4章数组c习题答案解析.doc)为本站上传会员【快乐****生活】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

第4章数组c习题答案解析.doc

1、习题 4 一、单项选择题 1. 若有说明 int a[3][4];则a数组元素的非法引用是【 】 A. a[0][2*1] B. a[1][3] C. a[4-2][0] D. a[0][4] 【答案】 D 【解析】数组下标从0开始,a[0][4]的列下标越界。 2. 在C++语言中,引用数组元素时,其数组下标的数据类型允许是【 】 A. 整型常量 B. 整型表达式 C. 整型常量或整型表达式 D. 任何类型的表达式 【答案】 C 3. 以下不正确的定义语句是【 】 A. double x[5]={2.0,4.0,6.0

2、8.0,10.0}; B. int y[5]={0,1,3,5,7,9}; C. char c1[]={′1′,′2′,′3′,′4′,′5′}; D. char c2[]={′\x10′,′\xa′,′\x8′}; 【答案】 B 【解析】初始值的个数大于数组的大小,系统会出现编译错误。 4. 对以下说明语句的正确理解是【 】 int a[10]={6,7,8,9,10}; A. 将5个初值依次赋给a[1]至a[5] B. 将5个初值依次赋给a[0]至a[4] C. 将5个初值依次赋给a[6]至a[10] D. 因为数组长度与初值的个数不相同,所以此

3、语句不正确 【答案】 B 5. 若有说明:int a[ ][4]={0,0};则下面不正确的叙述是【 】 A. 数组a的每个元素都可得到初值0 B. 二维数组a的第一维大小为1 C. 当初值的个数能被第二维的常量表达式的值除尽时,所得商数就是第一维的大小 D. 只有元素a[0][0]与a[0][1]可得到初值,其余元素均得不到确定的初值 【答案】 D 【解析】二维数组初始化时,行大小可以省略,被省略的大小根据初值的个数系统来确定,本题中,有2个初值说明是1行4列,所以第一维为1。元素a[0][0]与a[0][1]赋初值为0 ,其余元素初值系统默认为0。 6. 以下

4、能对二维数组c进行正确的初始化的语句是【 】 A. int c[3][]={{3},{3},{4}}; B. int c[][3]={{3},{3},{4}}; C. int c[3][2]={{3},{3},{4},{5}}; D. int c[][3]={{3},{},{3}}; 【答案】 B 【解析】二维数组初始化时,行大小可以省略,列大小不可以省略,所以A答案错误。C答案中初始值行数多于数组大小中的行大小,也是错误的。另外初始化时,初值之间不能有空位置,故D错误。 7. 以下不能对二维数组a进行正确初始化的语句是【 】 A. int a[2][3]

5、{0}; B. int a[][3]={{1,2},{0}}; C. int a[2][3]={{1,2},{3,4},{5,6}}; D. int a[][3]={1,2,3,4,5,6}; 【答案】 C 8. 阅读下面程序,则程序段的功能是【 】 #include using namespace std; int main() int c[]={23,1,56,234,7,0,34},i,j,t; for(i=1;i<7;i++) t=c[i];j=i-1; while(j>=0 && t>c[j])

6、{c[j+1]=c[j];j--;} c[j+1]=t; for(i=0;i<7;i++) cout<

7、小顺序,如图4-2所示。 图4-2 第二次排序 以此类推,外层6次循环后,将无序的数组实现大到小的降序排列。 9. 下列选项中错误的说明语句是【 】 A. char a[]={′t′,′o′,′y′,′o′,′u′,′\0′}; B. char a[]={"toyou\0"}; C. char a[]="toyou\0"; D. char a[]=′toyou\0′; 【答案】 D 10. 下述对C++语言字符数组的描述中错误的是【 】 A. 字符数组的下标从0开始 B. 字符数组中的字符串可以进行整体输入/输出 C. 可以在赋值语句中通过赋值运算

8、符“=”对字符数组整体赋值 D. 字符数组可以存放字符串 【答案】 C 11. 以下二维数组c的定义形式正确的是【 】 A. int c[3][] B. float c[3,4] C. double c[3][4] D. float c(3)(4) 【答案】 C 12. 已知:int c[3][4];则对数组元素引用正确的是【 】 A. c[1][4] B. c[1.5][0] C. c[1+0][0] D. 以上表达都错误 【答案】 C 13. 若有以下语句,则正确的描述是【 】 char a[]="toyou";

9、 char b[]={′t′,′o′,′y′,′o′,′u′}; A. a数组与b数组的长度相同 B. a数组长度小于b数组长度 C. a数组长度大于b数组长度 D. a数组等价于b数组 【答案】 C 【解析】 a数组中存放的是字符串,数组大小为6个字节空间,分别存放′t′,′o′,′y′,′o′,′u′与′\0′,b数组的长度为5个字节空间,只存放′t′,′o′,′y′,′o′,′u′,5个字符。 二、填空题 1. 若有说明:int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是________。 【答案】 3 2. 设有数组定义: c

10、har array[]="China"; 则数组 array所占的空间为________个字节。 【答案】 6 3. 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是________。 【答案】 20 4. 下面程序的功能是输出数组s中最大元素的下标,请填空。 #include using namespace std; int main() { int k, p,s[]={1, -9, 7, 2, -10, 3}; for(p =0, k =p; p< 6; p++) if

11、s[p]>s[k]) ________ cout<< k< using namespace std; int main() { char s[80]; int i,j; gets(s); for(i=j=0;s[i]!=′\0′;i++) if(s[i]!=′H′) {________} s[j]=′\0′; puts(s); return 0;} 【答案】 s

12、[j++] =s[i]; 【解析】 此处相当于补充了2条语句,等价于s[j] =s[i]; j++;。 6. 已知:char a[20]= "abc",b[20]= "defghi";则执行cout<

13、数组的第一个位置上) ________。 【答案】 i*m+j+1 9. 定义如下变量与数组: int k; int a[3][3]={9,8,7,6,5,4,3,2,1}; 则语句for(k=0;k<3;k++) cout<

14、句是________。 【答案】 strcpy(a,b); 三、读程序写结果 1. 程序代码如下 #include using namespace std; int main() char arr[2][4]; strcpy(arr[0],"you"); strcpy(arr[1],"me"); arr[0][3]='&'; cout< using namespace std; int mai

15、n() char a[]={'a', 'b', 'c', 'd', 'e', 'f', 'g','h','\0'}; int i,j; i=sizeof(a); j=strlen(a); cout<< i <<","< using namespace std; int main() int i; int a[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++) cout<

16、 return 0; 【答案】 753 【解析】 程序功能是实现一个方阵次对角线上元素的输出。 4. 程序代码如下: #include using namespace std; int main() char a[30]="nice to meet you!"; strcpy(a+strlen(a)/2,"you"); cout< using namespace std; int main()

17、 int k[30]={12,324,45,6,768,98,21,34,453,456}; int count=0,i=0; while(k[i]) if(k[i]%2==0||k[i]%5==0) count++; i++; cout<< count <<","< using namespace std; int main() char a[30],b[30]; int k; gets(a); gets(b);

18、 k=strcmp(a,b); if(k>0) puts(a); else if(k<0) puts(b); return 0; 输入loveå Chinaå 输出结果是? 【答案】love 【解析】 strcmp(a,b)函数功能是比较a与b字符串的大小,比较是逐个字符的比较,比较方法是ASCII码值做减法,k='l'-'C'>,所以结果输出字符串a。 四、编程题 1.编程实现功能:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。 例如,若一维数组中的数据是: 2 2 2 3 4 4 5

19、6 6 6 6 7 7 8 9 9 10 10 10 删除后,数组中的内容应该是: 2 3 4 5 6 7 8 9 10。 思路:fun函数的2个形式参数,分别接收数组名,即数组的首地址,与数组中存放的原始数据的个数,fun函数对原始数组按题目处理后,在主函数中输出的数组a就是处理后的数组,这里函数之间参数传递属于地址传递。 程序代码如下: #include using namespace std; const N=80; int fun(int a[], int n) { int i,j=1; for(i=1;i

20、a[j-1]!=a[i]) a[j++]=a[i]; return j; int main() { int a[N]={ 2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10}, i, n=19; cout<<"原始数组中的数据是:"<

21、ut< using namespace std; int main( ) { const N=800; float x[N],sum=0,ave,a; int n=0,

22、i; cout<<"输入学生成绩:"<>a; while (a>=0 && n>a; cout<<"输入的"<

23、 using namespace s

24、td; #include "string.h" int main( ) { char str1[80], str2[80],c; int i=0,s; gets (str1); gets (str2); while ((str1[i]==str2[i]) && (str1[i]!= '\0')) i++; s= str1[i]-str2[i]; cout<

25、用两个并列的for循环实现求累加与。 1 2 3 4 2 3 4 5 3 4 5 6 4 5 6 7 程序代码如下: #include using namespace std; #include "string.h" const M=4; const N=4; int main( ) { int a[M][N],i,j,sum=0; for (i=0; i>a[i][j]; for (i=0; i

26、) /*求第1行与第4行元素与*/ { sum+=a[0][i]; sum+= a[M-1][i]; for (i=1; i

27、am> using namespace std; int main() { int arr[3][3]={0,2,2,3,4,4,5,6,6},a=0,b=0,i,j; for(i=0;i<3;i++) for(j=0;j<3;j++) /*求主对角线上元素与*/ if(i==j) a=a+arr[i][j]; for(i=0;i<3;i++) /*求次对角线上元素与*/ for(j=2;j>=0;j--) if(i+j==2 ) b=b+ arr[i][j];

28、 cout<<"主对角线元素与为:"<2) fn= 程序代码如下: #include #include using namespace std; int main( ) { int i; long f[10]={1,1}; for (i=2; i<30; i++) f[i]=f[i-2]+f[i-1]; for (i=0; i<10; i++) { if(i%3==0) cout<<"\n"; cout<

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服