C语言数组练习及答案_第1页
C语言数组练习及答案_第2页
C语言数组练习及答案_第3页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、第四部分数组4. 1选择题1. 以下关于数组的描述正确的是(c )。A. 数组的大小是固定的,但可以有不同的类型的数组元素B. 数组的大小是可变的,但所有数组元素的类型必须相同C. 数组的大小是固定的,所有数组元素的类型必须相同D. 数组的大小是可变的,可以有不同的类型的数组元素2. 以下对一维整型数组a的正确说明是(d )。A. i nt a(10);B. i nt n=10,a n;C.i nt n;D. #defi ne SIZE 10sca nf("%d",&n);int aSIZE;int an;3. 在C语言中,引用数组元素时,其数组下标的数据类型允许是

2、(c )。A. 整型常量B. 整型表达式C. 整型常量或整型表达式D. 任何类型的表达式4. 以下对一维数组m进行正确初始化的是(c )。A. int m10=(0,0,0,0) ;B. int m10=;C. i nt m =0;D. i nt m10=10*2;5. 若有定义:int bb 8;。则以下表达式中不能代表数组元bb1的地址的是(c )。A. & bb0+1B. & bb1C. & bbO+D. bb+16. 假定int类型变量占用两个字节,其有定义:int x10=0,2,4;,则数组x在内存中所占字节数是(d )。A. 3B. 6C. 10D. 20

3、7. 若有以下说明:int a12=1,2,3,4,5,6,7,8,9,10,11,12;char c='a',d,g;则数值为4的表达式是(d )A. ag-c B. a4 C. a'd'-'c' D. a'd'-c8. 以下程序段给数组所有的元素输入数据,请选择正确答案填入(a )。#in clude<stdio.h>main ()int a10,i=0;while(i<10) scanf("%d",);A. a+(i+)B. & ai+1C. a+iD. & a+i9.

4、执行下面的程序段后,变量k中的值为(a )。int k=3, s2;sO=k; k=s1*10;A.不定值 B. 33C. 30D. 1010. 以下程序的输出结果是(c )main ()int i, a10;for(i=9;i>=0;i-) ai=10-i;prin tf("%d%d%d",a2,a5,a8);D. 369A.258B. 741C. 85211. 以下程序运行后,输出结果是(d )。main ()int n 5=0,0,0,i,k=2;for(i=0;i<k;i+) ni=n i+1;prin tf("%dn", nk);A

5、.不确定的值B. 2C. 1D. 012. 以下程序运行后,输出结果是(b )。main ()int y=18,i=0,j,a8;do ai=y%2; i+;y=y/2; while(y>=1);for(j=i-1;j>=0;j-) pri ntf("%d",aj);prin tf("n");A. 10000 B.10010 C.00110D.1010013. 以下程序运行后,输出结果是(a )。main ()int a10, a1 =1,3,6,9,10, a2 =2,4,7,8,15,i=0,j=0,k; for(k=0;k<4;k

6、+)if(a1i<a2j)ak=a1i+;elseak=a2j+;for(k=0;k<4;k+) prin tf("%d",ak);A. 1234B.1324C.2413D.432114. 以下程序运行后,输出结果是(b )。main ()int i ,k,a10 ,p3;k=5;for (i=0;i<10;i+) ai=i;for (i=0;i<3;i+) pi=ai*(i+1);for (i=0;i<3;i+) k+=pi*2;prin tf("%dn ”,k);A. 20B. 21C. 22D. 2315. 以下程序运行后输出结

7、果是(d )。mai n()int n3,i,j,k;for(i=0;i<3;i+)ni=0;k=2;for (i=0;i<k;i+)for (j=0;j<k;j+)nj=ni+1;prin tf("%dn", n1);A. 2B. 1C. 0D. 3a中查找x。(b )。16. 下列程序的主要功能是输入 10个整数存入数组a,再输入一个整数x,在数组 找到则输出x在10个整数中的序号(从 1开始);找不到则输出0。程序缺少的是 main () int i,a10,x,flag=0;for(i=0;i<10;i+) scan f("%d&q

8、uot;, &ai); sca nf("%d", &x);for(i=0;i<10;i+) if flag=i+1; break; printf("%dn", flag);A. x!=ai B. !(x-ai) C. x-aiD. !x-ai17. 若说明:int a23;则对a数组元素的正确引用是(c)A. a(1,2) B. a1,3 C. a1>2!1 D. a2018. 若有定义:int b34=0;则下述正确的是(b )。A. 此定义语句不正确B. 没有元素可得初值0C. 数组b中各元素均为0D. 数组b中各元素可得

9、初值但值不一定为019. 若有以下数组定义,其中不正确的是(d )。A. i nt a23;B int b3=0,1,2,3;C. int c100100=0;D. i nt d3=1,2,1,2,3,1,2,3,4;20. 若有以下的定义:int t54;能正确引用t数组的表达式是(c)。A. t24 B. t50C. t00D. t0,021. 在定义 int m 3=1,2,3,4,5,6;后,m10的值是(a )。A. 4 B. 1C. 2D. 522. 在定义int n56 后第10个元素是(c )。A. n25 B. n 24 C. n13 D. n1423. 若二维数组c有m列,

10、则计算任一元素cij在数组中的位置的公式为(d )。(假设c00位于数组的第一个位置)A. i*m+j B. j*m+iC. i*m+j-1 D. i*m+j+124. 若有以下定义语句,则表达式“x11*x22”的值是(a )。float x33=1.0,2.0,3.0,4.0,5.0,6.0;A. 0.0 B. 4.0C. 5.0D. 6.025. 以下程序运行后,输出结果是(a )。main ()int a44=1,3,5,2,4,6,3,5,7;prin tf("%d%d%d%dn",a03,a12,a21,a30);A. 0650 B. 1470C. 5430 D

11、.输出值不定26. 以下程序运行后,输出结果是(b )。main ()int aa44=1,2,3,4,5,6,7,8,3,9,10,2,4,2,9,6;int i,s=0;for(i=0;i<4;i+) s+=aai1;printf( “ dn” ,s);A. 11B. 19C. 13D.2027. 有以下程序mai n()int a33=1,2,3,4,5,6,i,j,s=0;for(i=1;i<3;i+)for(j=0;j<=i;j+) s+=aij;prin tf("%dn",s);该程序的输出结果是(a )。A. 18 B. 19C. 20D.

12、2128. 若定义如下变量和数组:int i;int x33=1,2,3,4,5,6,7,8,9;则下面语句的输出结果是(c )。for(i=0;i<3;i+) pri ntf("%d",xi2-i);A. 1 5 9 B. 1 4 7 C. 3 5 7D. 3 6 929. 下述对C语言字符数组的描述中错误的是(c )。A. 字符数组可以存放字符串B. 字符数组中的字符串可以整体输入、输出C. 可以在赋值语句中通过赋值运算符"="对字符数组整体赋值D. 不可以用关系运算符对字符数组中的字符串进行比较30. 下述对C语言字符数组的描述中正确的是(a

13、 )。A. 任何一维数组的名称都是该数组存储单元的开始地址,且其每个元素按照顺序连续占存储空间B. 一维数组的元素在引用时其下标大小没有限制C. 任何一个一维数组的元素,可以根据内存的情况按照其先后顺序以连续或非连续的方式占 用存储空间D. 一维数组的第一个元素是其下标为1的元素31. 不能把字符串:Hello!赋给数组b的语句是(b )。A. char str1O= 'H', 'e', T, T, 'o', '! 'B. char str10;str="Hello!"C. char str10;strcpy(

14、str,"Hello!");D. char str10="Hello!"32. 合法的数组定义是(d )B. i nt a5=0,1,2,3,4,5;A. i nt a="stri ng"C. int s="stri ng"D. char a=0,1,2,3,4,5;33. 下列语句中,不正确的是(c )。A. static char a2=1,2;B. static char a2= '1', '2'C. static char a2= '1', '2

15、9;, '3' D. static char a2= '1'34. 若给出以下定义:char x ="abcdefg"char y ='a','b','c','d','e','f,'g'则正确的叙述为(c )。A.数组x和数组y等价B.C.数组x的长度大于数组y的长度35. 若有数组定义:char array ="China"A. 4 个字节 B. 5 个字节 C. 636. 若有定义和语句:char s10;s=&qu

16、ot;abcd"pri ntf("%sn",s);则结果是(以下代表空格)(d )。A.输出abcd B. 输出a C.数组x和数组y的长度相同D.数组x的长度小于数组y的长度则数组array 所占的空间为(c )。个字节 D. 7个字节输出abcdLJLJLJLJ D.编译不通过37. 下面程序运行后,输出结果是(c ) main ()char ch7= "65ab21"int i,s=0;for(i=0;chi>= 'O'&&chi<= '9'i+=2) s=1O*s+chi- &

17、#39;O'prin tf("%dn",s);A. 12ba56 B. 6521C. 6D. 6238. 运行下面的程序,如果从键盘上输入:123<空格>456<空格>789<回车 >,输出结果是(d )A. 123,456,789B. 1,456,789C. 1,23,456,789D. 1,23,456main ()char s100; i nt c, i;scanf("%c",&c); scanf("%d",&i); scanf("%s",s);pr

18、in tf("%c,%d,%sn",c,i,s);39. 运行下面的程序,如果从键盘上输入:ab< 回车>c < 回车>def< 回车> 则输出结果为(c )。A. a B. aC. abD. abcdefbbcccdddef#in clude<stdio.h>#define N=6main ()char cN;int i=0;for( ;i<N;ci=getchar(),i+);for( i=0;i<N;i+) putchar(ci);prin tf("n ”);40. 运行下面的程序,如果从键盘上输入

19、:ABC时,输出的结果是(a )。#in clude<stri ng.h>main ()char ss10="12345" strcat(ss, "6789"); gets(ss);pri ntf("%sn",ss);A. ABC B. ABC9 C. 123456ABCD. ABC45678941. 判断两个字符串是否相等,正确的表达方式是(c )。A. while(s1=s2)B. while(s1=s2)C. while(strcmp(s1,s2)=0) D. while(strcmp(s1,s2)=0)42. 以下

20、程序的输出结果是(a )。main ()char str12='s','t','r','i ','n','g'prin tf("%dn ”,strle n(str);A. 6B. 743.若有以下程序片段: char str ="abn012""prin tf("%d",strle n(str);上面程序片段的输出结果是A. 3B. 4 C. 6C. 11D. 12(c )。D. 1244. 若有以下程序段,输出结果是(a )。char s ="141141abct"prin tf ("%dn",strle n(s);A. 9B. 12 C. 13D. 1445. 设有 static char str ="Beijing"则执行 prin tf("%dn", strle n(strcpy(str,&q

温馨提示

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

最新文档

评论

0/150

提交评论