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

下载本文档

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

文档简介

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

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

3、 207. 若有以下说明:int a12=lf2,3,4,5,6t7,8,9,10,11,12);char c=,a,,dfg;则数值为4的表达式是(d )A. ag-cB s4C. a1 d1-1 c* D. sl'd'-c& 以下程序段给数组所有的元素输入数据,请选择正确答案填入(a )o#include<stdio. h>main()int a10,i=0;wh订e(i<10) scanf (,T%dnt );A.9.a+(i+)B. &ai + lC. a+i执行下面的程序段后变量k中的值为Q )。 int k二3. s2;s0=k;k

4、=sl*10;不定值B. 33D. &a+iA.10.以下程序的输出结果是(c ) main()c.30D. 10int i. a10:for (i=9;i>=0;i) ai = 10-i; printf(M%d%d%dMfa2,a5,a8);A. 258B. 74111以下程序运行后,输出结果是(d main()oC.852D. 369int n5=0.0.0,i.k二2; for (i=0;i<k;i+)ni=ni+l;printf(n%dnn t nk);A.不确定的值 B. 212.以下程序运行后,输出结果是(b main()oC.D. 0inty二 1&

5、i=0, j,a8;doai=y%2; i+;y=y/2; while(y>=l);for(j=i-l; j>-0; j) printf (*%dajl); printf ('*nH):A. 10000B. 10010C. 00110D. 1010013. 以下程序运行后,输出结果是(a )omain()int a10, al 1 = 11,3,6.9,10, a2 = 2t4,7,& 15, i二0. j二0, k; for (k=0;k<4;k+)if(ali<a2jj)ak=ali+;else3k=32j+;C. 2413D. 4321for(k=

6、0;k<4;k+)printf(w%dw,ak);A. 1234B. 132414. 以下程序运行后,输出结果是(b)。 main()int itk,a10tp3;k=5;for (i二0;i<10;i+)ai=i;for (i=0:i<3;i+) pi=ai*(i+l);for (i=0;i<3;i+)k+=pi*2;printf (n%dnk);A. 20B. 21C. 22D. 2315. 以下程序运行后输出结果是(d )omain()int n3, i jk;for(i=0;i<3;i+)ni=0;k=2;for (i=0;i<k;i+)for (j

7、=0;j<k;j+)nj=ni+l;printf(H%dnH tnl):A. 2B. 1C. 0D. 316. 下列程序的主要功能是输入10个整数存入数组细再输入一个整数x,在数组3中查找x。 找到则输出x在10个整数中的序号(从1开始);找不到则输出0。程序缺少的是(b )0 main()int ita10flag=0;for(i=0;i<10;i+)scanf (n%d,f ,&ai):scanf(M%d",&x);for (i=0;i<10;i+) ifflag=i + l: break;printf(M%dnnt flag);A. x!=ai

8、B. ! (xail)C. x-aiD. !x-ai17. 若说明:int a23;则对3数组元素的正确引用是(c )。A. a仃.2)B. a1.3C. al>2!lD. a2 018. 若有定义:int b3 4 = 0);则下述正确的是(b ) oA. 此定义语句不正确B. 没有元素可得初值0C. 数组b中各元素均为0D. 数组b中各元素可得初值但值不一定为019. 若有以下数组定义,其中不正确的是(d) oA.inta 3;Bintb3 = 0,lt2t3;C.intc100100 = 0;D.intd3 = l,2Jl,2,3tl,2,3t4;20. 若有以下的定义:int t

9、54;能正确引用t数组的表达式是(c)。A. t2 4 B. t5 0C. t0 0D. t0.021. 在定义 int m 3 = 1, 2, 3, 4, 5, 6;后,ml0的值是(3)。A. 4B.1C. 2D.522. 在定义int n5 6后第10个元素是(c )。A. n2 5B.n24C. nl3D.nl423. 若二维数组c有m列,则计算任一元素cij在数组中的位置的公式为(d )。 (假设c0 0位于数组的第一个位置)A. i*m+jB. j*m+iC. i*m+j-lD. i*m+j+l24. 若有以下定义语句,则表达式“xll栋”的值是(a )o float x3 3 =

10、 1. 0,2. 0,3. 0 t 4. 0,5. 0,6. 0;A. 0.0B. 4.0C. 5.0D. 6.025. 以下程序运行后,输出结果是(a)。main()int a44 = lf3,5,2,4f6,3t5t7;printf (w%d%d%d%dna0 3 tal 2 ,a2 1 ta3 0);A. 0650B. 1470C. 5430D.输出值不定26. 以下程序运行后,输出结果是(b )omain()int aa4 4 = 1,2.3,46,7,8 J3,9.10.2, 4,2.9.6;int i,s=0;for(i=0;i<4;i+) s+=aai 1; printf(

11、 "%dn” .s);A. 11B. 19C. 1327. 有以下程序 main()int a33 = L2 j3,4,5t6,i,j,s=0; for (i=l;i<3;i+)for(j=0;j<=i;j+) s+=aij;printf (M%dn's);该程序的输出结果是(a )。A. 18B. 19C. 2028. 若定义如下变量和数组:int i;int x33=1.23,4.567,&9; 则下面语句的输出结果是(C )ofor(i=0; i<3; i+) printf (H%drt,xi 2-i);A. 1 5 9B. 1 4 7C. 3

12、 5 7D. 20D. 21D. 3 6 929. 下述对C语言字符数组的描述中错误的是(c )°A. 字符数组可以存放字符串B. 字符数组中的字符串可以整体输入.输出C. 可以在賦值语句过賦值运算符对字符数组整体赋值D. 不可以用关系运算符对字符数组中的字符串进行比较30. 下述对C语言字符数组的描述中正确的是(a)。A. 任何一维数组的名称都是该数组存储单元的开始地址,且其每个元素按照顺序连续占存储 空间B. 一维数组的元素在引用时其下标大小没有限制C. 任何一个一维数组的元素,可以根据存的情况按照其先后顺序以连续或非连续的方式占用 存储空间D. 一维数组的第一个元素是其下标为1

13、的元素31. 不能把字符串:Hello!赋给数组b的语句是(b)。A. char str 10=' 1', ' 17 ' o', ° ! ';B. char str 10 ; str=,Hel lo!C. char str10:strcpy(str,Hello!;D. char str10="Hello! *;B. int a5 = 0,l,2,3f4,5);D. char a = 0,1,2,3,4,5;B. static char a2 = T. * 2'D. static char a2 = 1 T);32. 合

14、法的数组定义是(d)。A. int a = ,fstring,T;C. int s=,Tstring*;33. 下列语句中,不正确的是(c )oA. static char a2=lf2:C. static char a2 = rr, '2f 9 * 3*;34. 若给出以下定义:char x ="abcdefg";char y = 'Vd,U ' f';B.数组x和数组y的长度相同D.数组x的长度小于数组y的长度 则数组array所占的空间为(c )。D. 7个字节则正确的叙述为(c )oA.数组x和数组y等价C.数组x的长度大于数组y的长

15、度35. 若有数组定义:char array =rfChinaH;A. 4个字节B. 5个字节C. 6个字节36. 若有定义和语句:char s10;s="abcd";printf("%srT,s);则结果是(以下j代表空格)(d )。A.输出abed B.输出aC.输出abed uj lj lj uj D.编译不通过37. 下面程序运行后,输出结果是(c)。main()char ch7= M65ab21";int i,s=0;for(i=0;chi>= ,0,&&chi<= r9r;i+=2) s=10*s+chi- 

16、9;O';printf (H%dn's);A. 12ba56B. 6521C. 6D. 6238. 运行下面的程序,如果从键盘上输入:123空格456空格789回车输出结果是(d )。A. 123,456.789C. 1.23.456,789main()char s100: int c. i;scanf &c) ; scanf (,%d,r,&i); printf (M%c,%dt%sn,T,cf i t s);39.运行下面的程序,如果从键盘上输入:甜回车c <回车def回车则输出结果为(c )。A. aB 3C. abB. 1,456,789D. 1,

17、23.456scanf;D. abcdefbbcccd#include<stdio. h>define N=6 main()char cN:int i=0;for(;i<N;ci=getchar(),i+);for( i=0;i<N;i+)putchar(cil):printf("n");ABC时,输出的结果是(a )。40. 运行下面的程序,如果从键盘.二输入: iiinclude<string h> main()char ss10="12345"; strcat(ss, "6789° ); ge

18、ts(ss) ; printf (H%sn'ss);C 123456ABCD. ABC456789正确的表达方式是(c )。B while(sl=s2)D. while(strcmp(si.s2) =0)oA. ABCB. ABC941. 判断两个字符串是否相等,A. while(sl=s2)C. wh i 1 e (strcmp (s 1, s2) =0)42. 以下程序的输出结果是(a main()char str12 = d , 1 r r: i f Q; printf (M%dn,r. strlen(str);)A. 6B. 7C. 1143. 若有以下程序片段:char str = ,abn012" :printf (,%drf, strlen(str); 上面程序片段的输出结果是(C )oA. 3B. 4C 644. 若有以下程序段,输出结果是(a )ochar s ="141141abctM; printf (,%dnrf, strlen(s);A. 9B 12C. 1345. 设有 sta

温馨提示

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

评论

0/150

提交评论