C++作业3-数组与字符串.doc_第1页
C++作业3-数组与字符串.doc_第2页
C++作业3-数组与字符串.doc_第3页
C++作业3-数组与字符串.doc_第4页
C++作业3-数组与字符串.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、判断题(每小题2分,共20分)1. C+中允许对数组的大小作动态定义,即可用变量定义数组的大小。答案:F。2. 字符数组不要求它的最后一个字符为0,甚至可以不包含0。答案:T3. 在对全部数组元素赋初值时,可以不指定数组长度。答案:F4. 数组定义 int a10; 表示数组名为a,此数组有10个元素。答案:T5. char c=a book; 与char c=a book;等价。答案:T6. 设已有说明: char c110,c210; 下面程序片段是合法的。c1=book; c2=c1;答案:F7. 字符数组初始化如:char aStr=12345; 不可省略花括弧,简单地写为char aStr=12345;答案:F8. 对数组元素赋初值称为数组的初始化,例如: int a10; a=1,3,5,6,7;答案:F9. 如果数组的元素类型是字符型(char),则此数组就是字符数组。字符数组的每个元素只能存放一个字符(存放字符的ASCII代码)。答案:T10. C+中数组的起始下标为0,最大下标值比常量表达式小一。答案:T二、选择题 (每题3分,共45分)1. 以下对一维数组a的正确定义是( )。A.char a(10);B.int a ;C.int k=5, ak;D.char a =a, b, c;答案:D2. 下面关于C+字符数组的叙述中,错误的是( )。A.字符数组可以存放字符串B.字符数组的字符可以整体输入、输出C.可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值D.可以用关系运算符对字符数组中的字符比较大小答案:C3. 下面程序段的运行结果是( )。char x5=a, b, 0, c, 0;coutx;A.abB.abC.ab cD.abc答案:B4. 下面关于数组的叙述中,正确的说法是( )。A.在定义一个数组时必须指定数组长度B.必须用常量表达式来定义一个数组的长度C.对数组进行初始化时大括号中的数据个数必须和数组的长度相同D.定义一个一维数组时必须对数组进行初始化答案:B5. 在数组中,数组名表示( )。 A. 数组第 1 个元素的首地址 B.数组第 2 个元素的首地址 C. 数组所有元素的首地址 D.数组最后 1 个元素的首地址答案:A6. 若有以下说明,则数值为 4 的表达式是( )。 int a12 =1,2,3,4,5,6,7,8,9,10,11,12; char c=a, d, g ; A.ag-c B.a4 C. ad-c D. ad-c 答案:D7. 下列语句中,正确的是 ( )。A. char a3 =abc, 1; B. char a 3 =abc, 1; C. char a3 =a, 1; D. char a 3 = a, 1; 答案:D8. 字符串的长度是( )A.串中不同字符的个数B.串中不同字母的个数C.串中所含字符的个数且字符个数大于零D.串中所含字符的个数答案:D9. 下面关于数组的初绐化正确的是( )A.char str=a,b,c;B.char str2=a,b,c;C.char str23=a,b,c,d,e, f;D.char str()=a,b,c;答案:A10. 设有数组定义:char array=China;,则数组array所占的空间为( )A.4个字节 B.5个字节 C.6个字节 D.7个字节答案:C11. 若二维数组a有m列,则计算任一元素aij在数组中相对位置的公式为(假设a00位于数组的第一个位置上)( )A.i*m+j B.j*m+i C.i*m+j-1 D.i*m+j+1答案:A12. 以下程序段的输出结果是( )void main() char x=0x41;coutxendl;A.41 B.65 C.A D.B答案:C13. 对以下说明语句的正确理解是( )int a10=6,7,8,9,10;A.将5个初值依次赋给a1至a5B.将5个初值依次赋给a0至a4C.将5个初值依次赋给a6至a10D.因为数组长度与初值的个数不相同,所以此语句不正确。答案:B14. 下面哪一项是不正确的字符串赋值或赋初值的方式( )。 A. char *str; str=string; B. char str7=s,t,r,i,n,g; C. char str110;str1=string; D. char str1=string,str2=12345678;答案:C15. 设有定义:char s12=string;则coutstrlen(s)endl; 的输出是( )A. 6 B. 7 C. 11 D. 12 答案:A三、程序填空题 (本大题35分)1. 本题分值:每空3分,共6分。题目描述:设有一矩阵a要求这一矩阵的主对角线之和,请将未完成的部分填入,使之完整。代码: #includeusing namespace std;int main()int a33=1,3,5,7,9,11,13,15,17,sum=0,i,j;for(i=0;i3;i+)for(j=0;j3;j+)if ( _(1)_)sum=sum+_(2)_;coutsumendl; return 0;答案:(1) i=j(2) aij2. 本题分值:每空2分,共10分。题目描述:从键盘输入5个整数,找出最大数和最小数所在的位置,并把二者对调,然后输出调整后的5个数。请将未完成的部分填入,使之完整。代码: #includeusing namespace std;int main()int a5,max,min,i,j,k;for(i=0;iai;min=a0;k=0;for(i=1;i5;i+)/寻找最小数及其位置if (aimin)min=ai;_(1)_;/记住其最小数所在位置kmax=a0;j=0;for (i=1;imax)max=ai;_(2)_;ak= _(3)_;_(4)_;coutkendl; /输出最小数所在位置;cout_(5)_endl; /输出最大数所在位置for(i=0;i5;i+) coutai ;coutendl;return 0;答案:(1) k=i(2) j=i(3) max(4) aj=min(5) j3本题分值:每空3分,共9分。题目描述:将数组的各个元素倒过来存储。例如,a的10个元素分别为:1、12、-32、64、15、26、3、8、9、4,作逆序处理后其值为:4、9、8、3、26、15、64、-32、12、1。代码: #includeusing namespace std;int main() int i,t,a10; for(i=0;iai; for(i=0;i5;i+) _(1)_; _(2)_; _(3)_; for(i=0;i10;i+) coutai ; coutendl;return 0; 参考答案:(1) t=ai(2) ai=a9-i(3) a9-i=t4.本题分值:每空2分,共4分。题目描述:从键盘输入一个英文句子,统计其中含有多少个单词,单词之间用空格分隔的程序。请将未完成的部分填入,使之完整。代码:#includeusing namespace std;int main( ) char s81,c1,c2; int i,num; i=0; num=0; c1= ; cin.getline(s,80); / 输入英文句子 while(si) c2=si; if (i0) c1=_(1)_; if (c1= & c2!= ) num+; _(2)_; coutnumendl; return 0; 答案:(1)si-1(2)i+5. 本题分值:每空2分,共6分。题目描述:下面是去掉字符串中的所有空格的程序,请将未完成的部分填入,使之完整。代码: #include using name

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论