版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章数组一、选择题1、下列关于数组的描述正确是:()A)数组的长度是固定的,而其中元素的数据类型可以不同B)数组的长度是固定的,而其中元素的数据类型必须相同C)数组的长度是可变的,而其中元素的数据类型可以不同D)数组的长度是可变的,而其中元素的数据类型必须相同2、在C++语言中引用数组元素时,下面关于数组下标数据类型的说法错误的是:()A)整型常量B)整型表达式C)整型常量或整型表达式D)任何类型的表达式3、要定义数组A,使得其中每个元素的数据分别依次为:3、9、4、8、0、0、0,错误的定义语句是:()A)intA[]={3,9,4,8,0,0,0};B)intA[9]={3,9,4,8,0,0,0};C)intA[]={3,9,4,8};D)intA[8]={3,9,4,8};4、有如下数组声明:intvalue[30];,下标值引用错误的是:()A)value[30]B)value[0]C)value[10]D)value[20]5、以下叙述中错误的是:()A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出B)数组名代表的是数组所占存储区的首地址,其值不可改变C)当程序执行中,数组元素的下标超出所定义的下标范围时,系统自动扩展数组长度D)可以通过赋初值的方式确定数组元素的个数6、在C++语言中,一维数组的定义方法为:()。类型说明符数组名A)[常量表达式]B)[整型常量]C)[整型变量]D)[整型常量]或[整型表达式]7、对以下说明语句的正确理解是()。inta[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)因为数组长度与初值的个数不相同,所以此语句不正确8、假定short类型变量占用两个字节,其有定义:shortx[10]={0,2,4};,则数组x在内存中所占字节数是()。A)3B)6C)10D)209、以下正确的二维数组定义是:()A)inta[][]={1,2,3,4,5,6};B)inta[2][]={1,2,3,4,5,6};C)inta[][3]={1,2,3,4,5,6};D)inta[2,3]={1,2,3,4,5,6};10、以下对二维数组a进行初始化正确的是:()A)inta[2][]={{1,0,1},{5,2,3}};B)inta[][3]={{1,2,3},{4,5,6}};C)inta[2][4]={{1,2,3},{4,5},{6}};D)inta[2][3]={{1,0,1},{},{1,1}};11、若有定义:inta[3][4];则正确引用数组a元素的是:()A.a[2][4]B.a[3][3]C.a[0][0]D.a[3][4]12、若有定义:inta[][4]={0,0};以下叙述中错误的是:()A)数组a的每个元素都可得到初值0B)二维数组a的第一维大小为1C)因为初值个数除以a中第二维大小的值的商为0,故数组a的行数为1D)只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值013、下面选项中等价的是:(B)A)inta[2][3]={1,0,2,2,4,5}与inta[2][]={1,0,2,2,4,5};B)inta[][3]={1,0,2,2,4,5}与inta[2][3]={1,0,2,2,4,5};C)inta[2][3]={3,4,5}与inta[][3]={3,4,5};D)inta[2][3]={0,1}与inta[2][3]={{0},{1}};14、以下不能对二维数组a进行正确初始化的语句是()。A)inta[2][3]={0};B)inta[][3]={{1,2},{0}};C)inta[2][3]={{1,2},{3,4},{5,6}};D)inta[][3]={1,2,3,4,5,6};15、有如下定义语句:intaa[][3]={12,23,34,4,5,6,78,89,45};,则45在数组aa中的行列坐标各为()。A)3,2B)3,1C)2,2D)2,116、若二维数组a有m列,则计算任一元素a[i][j]在数组中相对位置的公式为(假设a[0][0]位于数组的第一个位置上)()。A)i*m+jB)j*m+IC)i*m+j-1D)i*m+j+117、定义如下变量和数组:intk;inta[3][3]={9,8,7,6,5,4,3,2,1};则下面语句的输出结果是()。for(k=0;k<3;k++)cout<<a[k][k];A)753B)951C)963D)74118、若有说明:inta[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是()。A)2B)3C)4D)无确定值19、下面程序输出的结果是()。voidmain(){inti;inta[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)cout<<a[2-i][i];}A)159B)753C)357D)59120、执行下面的程序段后,变量k中的值为()。intk=3,s[2];s[0]=k;k=s[1]*10;A)不定值B)33C)30D)10掌握数组作为函数参数的使用方法21、若用数组名作为函数调用的实参,传递给形参的是:()A)数组的首地址B)数组中第一个元素的值C)数组中的全部元素的值D)数组元素的个数22、对数组名作函数的参数,下面描述正确的是:()A)数组名作函数的参数,调用时将实参数组复制给形参数组B)数组名作函数的参数,主调函数和被调函数共用一段存储单元C)数组名作参数时,形参定义的数组长度不能省略D)数组名作参数,不能改变主调函数中的数据23、已知某函数的一个形式参数被说明为MAT[3][10],在下列说明中,与此等效的形参说明是:()A)intMAT[][10]B)intMAT[3][]C)intMAT[10][3]D)intMAT[][]24、设主调用函数为如下程序段,则函数f中对形参数组定义错误的是:()inta[3][4];f(a);A)f(intarray[3][4])B)f(intarray[][4])C)f(intarray[3][])D)f(intarray[4][3])25、下面程序执行后的输出结果是:()#include<iostream>usingnamespacestd;#defineN20voidfun(inta[],intn,intm){ inti; for(i=m;i>=n;i--)a[i+1]=a[i];}intmain(){
inti; inta[N]={1,2,3,4,5,6,7,8,9,10}; fun(a,2,9); for(i=0;i<5;i++)cout<<a[i]; return0;}A)10234B)12344C)12334D)12234解析:voidfun(inta[],intn,intm)函数功能是将数组m到n依次向后移动一位。调用函数fun(a,2,9)就是将元素a[9]……a[2]向后移动1位。26、下面程序执行后的输出结果是:()#include<iostream>usingnamespacestd;voidswap1(intc[]){ intt; t=c[0];c[0]=c[1];c[1]=t;}voidswap2(intc0,intc1){ intt; t=c0;c0=c1;c1=t;}intmain(){ inta[2]={3,5},b[2]={3,5}; swap1(a);swap2(b[0],b[1]); cout<<a[0]<<a[1]<<b[0]<<b[1]; return0;}A)5353B)5335C)3535D)3553解析:voidswap1(intc[]),形参是数组,形参改变,实参改变。voidswap2(intc0,intc1)形参是普通变量,形参改变,实参不改变。字符串:27、字符串的长度是:()A)串中不同字符的个数B)串中不同字母的个数C)串中所含字符的个数且字符个数大于0D)串中所含字符的个数28、下列说法正确的是:()A)字符型数组与整型数组可通用B)字符型数组与字符串其实没什么区别C)当字符串放在字符数组中,这时要求字符数组长度比字符串长1个单元,因为要放字符串终结符’\0’D)字符串的输出可以用它所存储的数组来输出,也可以字符串的形式整体输出,结果没区别29、下面有关字符数组的描述中错误的是:()A)字符数组可以存放字符串B)字符串可以整体输入、输出C)可以在赋值语句中通过赋值运算对字符数组整体赋值D)不可以用关系运算符对字符数组中的字符串进行比较30、给出下面定义:chara[]=”abcd”;charb[]={‘a’,’b’,’c’,’d’};则下列说法正确的是:()A)数组a与数组b等价B)数组a和数组b的长度相同C)数组a的长度大于数组b的长度D)数组a的长度小于数组b的长度31、下面程序输出结果为:()#include<iostream>usingnamespacestd;#include<string.h>intmain(){
charst[20]="hello\0\t\\";
cout<<strlen(st);
cout<<sizeof(st)<<endl;
cout<<st;
return0;}A)520helloB)1220hello\0\tC)520hello\tD)1120hello└┘└┘32、要使字符串变量str具有初值"Lucky",正确的定义语句是:()A)charstr[]={'L','u','c','k','y'};B)charstr[5]={'L','u','c','k','y'};C)charstr[]="Lucky";D)charstr[5]="Lucky";33、下列是为字符数组赋字符串的语句组,其中错误是:()A)chars[10];
s=”program”;B)chars[]=”program”;C)chars[10]=”Hello!”;D)chars[10];strcpy(s,”hello!”);34、字符数组s不能作为字符串使用的是:()A)chars[]="happy";B)chars[6]={'h','a','p','p','y','\0'};C)chars[]={"happy"};D)chars[5]={'h','a','p','p','y'};35、下面程序段执行后的输出结果是:()charc[5]={'a','b','\0','c','\0'};cout<<c;A)'a''b'B)abC)abcD)abc36、设有数组定义:chararray[]="China";则数组array所占的空间为()。A)4个字节B)5个字节C)6个字节D)7个字节37、阅读下列程序,则在执行后,程序的运行结果为()。#include<iostream>"#include<string>usingnamespacestd;intmain(){chara[30]="nicetomeetyou!";strcpy(a+strlen(a)/2,"you");cout<<a;return0;}A)nicetomeetyouyouB)nicetoC)meetyouyouD)nicetoyou38、若有以下语句,则正确的描述是()chara[]="toyou";charb[]={′t′,′o′,′y′,′o′,′u′};A)a数组和b数组的长度相同B)a数组长度小于b数组长度C)a数组长度大于b数组长度D)a数组等价于b数组39、已知:chara[15],b[15]={"Ilovechina"};则在程序中能将字符串Ilovechina赋给数组a的正确语句是(D)。A)a="Ilovechina";B)strcpy(b,a);C)a=b;D)strcpy(a,b);40、已知:chara[20]="abc",b[20]="defghi";则执行下列语句后的输出结果为()。cout<<strlen(strcpy(a,b));A)11B)6C)5D)以上答案都不正确41、执行如下语句,输出结果为()charstr[]=“Beijing”;cout<<strlen(strcpy(str,“China”));A)5B)7C)8D)1242、阅读如下程序段,则程序在先后输入love和china后,输出结果是()。voidmain(){chara[30],b[30];intk;gets(a);gets(b);k=strcmp(a,b);if(k>0)puts(a);elseif(k<0)puts(b);}A)loveB)chinaC)lovechinaD)没有输出结果43、以下程序段运行后的输出结果是()。voidmain(){charstr[][9]={“hello”,”student”,”computer”};cout<<str[1];}A)hB)helloC)studentD)computer44、现在有如下程序voidmain(){chars[80];inti,j;gets(s);for(i=j=0;s[i]!=′\0′;i++)if(s[i]!=′H′)______s[j]=′\0′;puts(s);}这个程序段的功能是删除输入的字符串中字符′H′,则空线上应当添入的是()。A)s[j++]=s[i];j++;B)s[j]=s[i++];j++;C)s[j++]=s[i];D)s[j]=s[i];二、填空题1、下面程序的功能是输出数组s中最大元素的下标,请填空。voidmain(){intk,p,s[]={1,-9,7,2,-10,3};for(p=0,k=p;p<6;p++)if(s[p]>s[k]);cout<<k;}2、以下程序段的输出结果是。voidmain(){chars[]=”abcdefg”;s[3]=’\0’;cout<<s;}3.当调用函数时,实参是一个数组名,则向函数传递的是()。4.数组的中的每一个元素必须具有相同的。5.执行下面语句后:chars1[20]=”hello”;chars2[10]=”world”;strcat(s1,s2);s1的值是。6.字符处理函数strcmp("hello","hello")的值是。7.字符处理函数strcpy(str1,str2)的功能是把.8.已知inta[]={1,2,3,4,5};则数组a默认的长度为。9.inta[3][4]={{1},{5},{9}};它的作用是将数组各行第一列的元素赋初值,其余元素值为。10.在横线处写出语句的功能,或者写出对应语句for(i=0;i<=9;i++) // a[i]=i;for(i=9;i>=0;i--) // cout<<a[i];for(i=0;i<10;i++) // cout<<a[i];for(i=0;i<10;i=i+2) // cout<<a[i];for(i=1;i<10;i=i+2) // cout<<a[i];//终端输入数据对数组a初始化.在横线处写出语句的功能,或者写出对应语句for(i=0;i<=9;i++) // {cin>>a[i];}11.求fibonacci数列前20项.在横线处写出语句的功能,或者写出对应语句intf[20]={1,1};
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- YC/T 617-2024卷烟质量市场反馈信息分析与处理规范
- 2025版借款垫资风险控制合作协议范本3篇
- 2025年度智能电网项目可研咨询服务协议正范文本3篇
- 学校化粪池维修工程协议
- 2025版文化旅游项目建议书编制及运营管理合同3篇
- 徒步班组施工合同
- 保险服务标准化管理办法
- 通信设备招投标法规解析
- 电子产品采购招投标改进策略
- 商业广场施工合作协议
- 猪场配怀工作安排方案设计
- GB/T 2-2016紧固件外螺纹零件末端
- GB/T 12467.5-2009金属材料熔焊质量要求第5部分:满足质量要求应依据的标准文件
- GB 17740-1999地震震级的规定
- 安全生产事故举报奖励制度
- 冠心病健康教育完整版课件
- 永久避难硐室安装施工组织措施
- 元旦节前安全教育培训-教学课件
- 国家开放大学《理工英语1》单元自测8试题答案
- 芯片工艺流程课件1
- 人教版八年级下册生物期末测试卷带答案
评论
0/150
提交评论