C语言程序设计:数组单元测试与答案_第1页
C语言程序设计:数组单元测试与答案_第2页
C语言程序设计:数组单元测试与答案_第3页
C语言程序设计:数组单元测试与答案_第4页
C语言程序设计:数组单元测试与答案_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、一、单项选择题1、以下数组定义中不正确的选项是:A. double score 3 4;B.define N 20char pricesN;int student10*3;int k=8;float distancek;正确答案:D解析:在数组定义中,不能以整型变量k来说明数组长度。2、以下程序的输出结果是:ttinclude int main()(int a5 = 1, 2, 3);printf ( %d , a3);)430D.不确定值正确答案:C244812正确答案:B解析:int型占用4个字节,所以共占用4*2*3=24个字节19、要求定义包含8个int类型元素的一维数组,以下错误的定

2、义语 句是:A. int al+7 = 0;B.ttdefine N 3int a2*N+2;int a = 0, 1, 2, 3, 4, 5, 6, 7);int N=8; int aN;正确答案:D解析:不能用整型变量做为数组的长度20、实现字符串长度测量的函数是:A. strcpyB.strcmpstrlenstrcat正确答案:c解析:B、字符串比拟函数C、字符串长度测量函数D、字符串 连接函数解析:此例采用了局部初始化,没有初始化的数组元素取值为0,注 意数组元素下标从0开始,所以a3的值为0。3、C语言中引用数组元素时,下标表达式的类型为:A.双精度型B.整型C.单精度型D.指针型

3、正确答案:B解析:定义数组时,数组才度只能使用用整型常量4、假设有定义:int a口定二1,2, 3, 4, 5, 6, 7, 8, 9;,那么数组 a 第一维的大小是:4132正确答案:C解析:第二维长度为3,共初始化了 9个元素,所以有9/3=3行,故第一维大小为3。5、假设有定义:int a =3,4, 5, 6, 7,8,9, 10);,那么值为 5 的表达式是:aa3_aa4aa5a5正确答案:A解析:由题可知a4的值为5而a3的值为4,所以可以将4用a3 替换,所以aa3的值为56、假设二维数组a有m列,那么在前的元素个数为:i*m+j+lj*m+ii*m+j-li*m+j正确答案

4、:D解析:因为数组的行,列标均从0开始,所以元素所在行的 前i行(即。,1, 2, i-1)共有i*m个元素,在第i行还有j个元素(即第0, 1, jT列),所以前总共有i*m+j个 元素7、下面是对数组s的初始化,其中不正确的选项是:char s5 = ,a , b , c ;char s5 = “abc ;char s5= abcdef” ;char s5=;正确答案:c解析:字符串abcdef需要占用7个字节的内存空间,包括最后的字符串结束标记,数组S的空间不够存放。8、判断字符串si是否等于字符串s2,应当使用:if (sis2)if(sl=s2)if (strcpy (si, s2)

5、if (strcmp(si, s2) 0)正确答案:D解析:对于字符串的比拟只能采用strcmp函数,函数返回0表示两个字符串相同,不能使用关系运算符二9、定义了二维数组 以1武33:1,2,3,4,5,6,7;那么数组元素a2的值是:4756正确答案:B解析:数组a的9个值分别为 TOC o 1-5 h z 第0行:120第1行:340第2行:567所以a22为710、定义了一维数组int能够正确从键盘输入10个整数赋给数组元素的程序是:for(i=0;i10;i+)for(i=l;i=10;i+)for(i=0;i10;i+)for(i=l;i=10;i+)正确答案:C给数组元素的程序是:

6、for(i=0;i10;i+)for(i=l;i=10;i+)for(i=0;i10;i+)for(i=l;i=10;i+)正确答案:Cscanf( %d , ai);scanf( %d” , &ai)scanf( %d” , &ai);scanf( %d , ai);解析:A、scanf函数的输入列表应为&ai B、循环下标错误,应该从0到9 C、这是正确答案,下标从0开始,到9结束,scanf函数的输入列表为第i个元素ai的地址&ai D、下标错误,应从。到9,输入列表应为地址&ai11、以下程序的输出结果是: int main()int a3 3 = 1, 2, 3, 4, 5, 6,

7、7, 8, 9;int sum=0, i, j ;for (i=0;i3;i+)for(j=0;j3;j+)if(i=j) sum=sum+ai j;printf(,sum);A.没有正确答案。B.sum=18C.sum=15D.sum=12正确答案:c解析:数组相当于存储了如下的矩阵: TOC o 1-5 h z 123456789程序的功能是求主对角线上3个元素的和,即1+5+9=1512、以下程序的输出结果是:#include ttinclude int main()(char s 20 = Apple , Banana , Pear ;char str20;if(strcmp (s0,

8、sl)0)strcpy(str, s0);elsestrcpy(str,sl);if(strcmp(s2, str)0)strcpy(str,s2);puts(str);A. AppleB.没有正确答案BananaPear正确答案:D解析:根据比拟规那么,B的ASCII码大于A的ASCII码,P的ASCII码大于B的ASCH码,所以最大的字符串为“Pear”13、假设有定义:double a3 4;数组a在内存中占用()个字节96482428正确答案:A解析:double类型占用8个字节,数组a包含3*4=12个元素,所以总共占用8*12=96个字节14、假设有定义:int a3 4;那么对数

9、组a元素的非法引用是:a0 3*1B.a0 4C. al+lOD.a2 3正确答案:B解析:引用数组a的元素时,列标只能取0, 1, 2, 3,不能取415、假设有定义:char a=Hello” ;数组a在内存中占用() 个字节。A.不确定657正确答案:B解析: Hello的长度为5,在内存中占用6个字节,因为结束标志 0占用一个字节.16、定义有一维字符数组char str 80;那么与语句gets (str);功能完全相同的语句是:scanf ( %s,str);gets(&str);scanf (,&str);gets(&str0)正确答案:D解析:A、这条语句对于输入包含空格、TAB键的无法正确处理,会提前结束。D、数组名是数组的首地址,即str0的地址,所以 str可以用&str 0替换。17、以下程序的输出结果是:#include ttinclude int main()char si 20= abc”,s220= abd” ;int k;k二strc

温馨提示

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

评论

0/150

提交评论