C语言题库数组(共28页)

上传人:6**** 文档编号:51675901 上传时间:2022-01-28 格式:DOC 页数:28 大小:100.50KB
返回 下载 相关 举报
C语言题库数组(共28页)_第1页
第1页 / 共28页
C语言题库数组(共28页)_第2页
第2页 / 共28页
C语言题库数组(共28页)_第3页
第3页 / 共28页
点击查看更多>>
资源描述
精选优质文档-倾情为你奉上数组一、 选择题1、假定int 类型变量占用两个字节,其有定义:int x10=0,2,4;,则数组X在内存中所占字节数是(B)。A 3B 6C 10D 20 2、执行下面的程序段后,变量k 中的值为(A)。int k=3, s2;s0=k; k=s1*10;A 不定值B 33C 30D 103、设有数组定义: char array =China; 则数组array 所占的空间为(C)。A 4 个字节B 5 个字节C 6 个字节 有0/的结束标志D 7 个字节4、下列描述中不正确的是 CA 字符型数组中可以存放字符串B 可以对字符型数组进行整体输入、输出C 可以对整型数组进行整体输入、输出D 不能在赋值语句中通过赋值运算符=对字符型数组进行整体赋值5、给出以下定义char x =abcdefg;char y =a,b,c,d,e,f,g;则正确的叙述为 CA 数组X 和数组Y 等价B 数组x 和数组Y 的长度相同C 数组X 的长度大于数组Y 的长度D 数组X 的长度小于数组Y 的长度6、下述对C 语言字符数组的描术中错误的是 CA 字符数组可以存放字符串B 字符数组中的字符串可以整体输入、输出C 可以在赋值语句中通过赋值运算符=对字符数组整体赋值D 不可以用关系运算符对字符数组中的字符串进行比较7、定义如下变量和数组int i;int x33=1,2,3,4,5,6,7,8,9;则下面语句的输出结果是 Cfor(i=0;i3;i+) printf(%d,xi2-i);A 1 5 9B 1 4 7C 3 5 7D 3 6 98、以下一维数组a 的正确定义是(D)A int a(10);B float n10,an;C int n;scanf(%d,&n);float an;D #define size 10; long asize;9、合法的数组定义是 DA int a=string;B int a5=0,1,2,3,4,5;C vhst s=string;D char a=0,1,2,3,4,5;10、以下关于数组的描述正确的是CA 数组的大小是固定的,但可以有不同的类型的数组元素;B 数组的大小是可变的,但所有数组元素的类型必须相同;C 数组的大小是固定的,但所有数组元素的类型必须相同;D 数组的大小是可变的,但可以有不同的类型的数组元素;11、在定义int a10;之后,对a 的引用正确的是 AA a9B a6.3C a(6)D a1012、以下对一维数组a 进行不正确初始化的是 AA int a10(0,0,0,0);B int a10;C int a0;D int a1010*2;13、以下对二维数组a 进行正确初始化的是 BA int a231,2,3,4,5,6;B int a31,2,3,4,5,6;C int a21,2,3,4,5,6;D int a21,2,3,4;14、以下对字符数组进行不正确初始化的是 AA static char wordcool0;B static char wordc,o,o,l;C static char word“cool0”;D static char word”cool0”;15、在定义int a54;之后,对数组元素的引用正确的是 CA a24B a50C a00D a0,016、下列选项中,能正确定义数组的语句是 D A int num0.2008;B int num;C int N=2008;int numN;D #define N 2008int numN;17、有以下程序#include main()int b 33=O,1,2,0,1,2,O,1,2,i,j,t=1;for(i=0;i3;i+)for(j=i;j=1;j+) t+=bibji;printf(%d ,t);程序运行后的输出结果是 CA 1B 3C 2D 918、在C 语言中,能实现字符串连接的函数是( A )A strcat()B strcmp()C strcpy()D strlen()19、在C 语言中,定义数组int a7=3,4,5,6,7,8,9,则a5的值为( D )。A 9B 6C 7D 820、在C 语言中,定义int a12=1,2,3,4,5,6,7,8,9,10,11,12,i=5,则下列选项中不能正确引用数组元素的是(A )。A a2*i-12B a2*i-2C a12-iD a2*i21、在C 语言中,有以下定义:char b10=h,n,s,p,k,s;,则语句printf(%cn,b1); 的结果为(B )。A hB nC sD p22、在C 语言中,定义char a=a,b,l,l,o,已知字符b的ASCII 码为98,则printf(%dn,a0); 的值为(A )。A 97B aC 98D b23、在C 语言中,定义数组int a12=1,2,3,4,5,6,7,8,9,10,11,12,则a3的值为(B)A 3B 4C 5D 624. (分值:2.1 分)在C 语言中,有以下程序main()int p8=11,12,13,14,15,16,17,18,i=0,j=0;while(i5) if(pi%2) j+=pi; i+;printf(%dn,j);程序运行后的输出结果是( A)A 39B 45C 56D 6025、在C 语言中,若有定义:int y=3,x7=1,2,3,4,5,6,7,则表达式y+=x2的值为( A )。A 6B 5C 8D 926、在C 语言中,若有定义:int y=5,x7=1,2,3,4,5,6,7,则表达式y+=x6的值为(D )。A 9B 10C 11D 1227、在执行int a31,2,3,4,5,6;语句后,a10的值是 CA 1B 2C 4D 528、在执行char str10”china0”;strlen(str)的结果是 B A 5B 6C 7D 929、在C 语言中,引用数组元素时,其数组下标的数据类型允许是 BA 整型常量B 整型表达式或整型常量C 实型常量D 任何类型的表达式30、若二维数组a 有m 列,则在aij前的元素个数是()A j*m+iB i*m+jC i*m+j1D i*m+j+131、以下程序给数组所有的元素输入数据,空处应填入()main() int a10,i0;while(i10) scanf(“%d”,_C_); A&aiBai+C&ai+D&a+i32、有字符数组a80,b80,则正确的输出语句是 DA puts(a,b);B printf(“%s,%s”,a,b);C putchar(a,b);D puts(a);puts(b);33、以下能正确定义字符串的语句是 DA char str=064;B char str=x43;C char str=;D char str=0;34、以下数组定义中正确的是 DA int x3=0;B int x23=1,2,3,4,5,6;C nt x3=1,2,3,4,5,6;D int x23=1,2,3,4,5,6;35、要说明一个有10 个int 元素的数组,应当选择语句 AA int a10B int a2,5C int a D int *a1036、已知:int a10;则对a 数组元素引用正确的是 DA a10B a3.5C a(5)D a10-1037、对二维数组的正确说明是 CA int a=1,2,3,4,5,6;B int a2=1,2,3,4,5,6;C int a3=1,2,3,4,5,6;D int a2,3=1,2,3,4,5,6;38、已有定义:char a=xyz,b=x,y,z;,以下叙述中正确的是( C)。A 数组a 和b 的长度相同B a 数组长度小于b 数组长度C a 数组长度大于b 数组长度D 上述说法都不对39、以下能正确定义一维数组的选项是 BA int a5=0,1,2,3,4,5;B char a=0,1,2,3,4,5;C char a=A,B,C;D int a5=0123;40、若有以下说明: int a12=1,2,3,4,5,6,7,8,9,10,11,12; char c=a,d,g; 则数值为4的表达式是 D Aag-c Ba4 Cad-c Dad-c41、合法的数组定义是 BA int a=string; Bint a5=0,1,2,3,4,5; Cchar s=string; Dchar a=0,1,2,3,4,5;42、以下能对二维数组c进行正确的初始化的语句是BAint c3=3,3,4; Bint c3=3,3,4; Cint c32=3,3,4,5; Dint c3=3,3; 43、阅读下列程序段,则程序段实现的功能是 C#include stdio.hmain() int k10; int j; for(j=0;j=0;j-)printf(%d,kj); A输入10个数据的顺序输入并输出B输入10个数据的逆序存放C输入10个数据的逆序输出D以上叙述均错误44、以下对一维数组a的定义中正确的是( C)A.chara(10);B.inta0.100;C.inta5;D.intk=10;intak;45、阅读如下程序段,则程序在先后输入love和china后,输出结果是()(来源二级C)#include #include main() char a30,b30; int k; gets(a); gets(b); k=strcmp(a,b); if(k0)puts(a); else if(ks2 )(B) if( strcmp(s1,s2)(C) if(strcmp(s2,s1)0)(D) if(strcmp(s1,s2)0)55、有语句char str110,str210=china;则能将字符串china赋给数组str1的正确语句是_D_。(注:来源二级C)A str1=china; B strcpy(str1,str2); C str1=str2; D strcpy(str2,str1);56、合法的数组定义 CA int a=“string”; B int a5=0,1,2,3,4,5; C char a= “string”; D char a5=0,1,2,3,4,5;57. 若二维数组 a 有 m 列,则计算任一元素 aij在数组中位置的公式为()(假设 a00位于数组的第一个位置上 D。(A) i*m+j(B) j*m+i(C) i*m+j-1(D) i*m+j+158. 有两个字符数组 a、b,则以下正确的输入语句是( B )。(A) gets(a,b);(B) scanf(“%s%s”,a,b);(C) scanf(“%s%s”,&a,&b);(D) gets(“a”),gets(“b”);59. 以下对二维数组 a 进行正确初始化的语句是( B)。(A) inta2 =1,0,1,5,2,3;(B) inta 3=1,2,3,4,5,6;(C) inta24=1,2,3,4,5,6;(D) inta 3=1,0,1, ,1,1;60. 若有说明:intx34; 则对 a 数组元素的正确引用是(C )。(A) x24(B) x1,3(C) x4-20(D) x04二、 填空题1、以下程序运行后的输出结果是 24 。main() int p7=11,13,14,15,16,17,18;int i=0,j=0;while(i7 & pi%2=1) j+=pi+;printf(%dn,j);2、以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。请填空。main() int i,a20,sun,count; sun=count=0;for(i=0;i20;i+) scanf(%d,&ai );fro(i=0;i0) count+;sum+= _ai_;printf(sum=%d,count=%dn,sum,count);3、 以下程序运行后的输出结果是 13715 main() int i,n=0,0,0,0,0;for(i=1;i=4;i+) ni=ni-1*2+1;printf(%d ,ni);4、以下程序的输出结果是 abc 。main() char s=abcdef;s3= 0;printf(%sn,s);5、若有定义语句:char s100,d100; int j=0, i=0;,且s 中已赋字符串,请填 si+空以实现字符串拷贝。(注:不得使用逗号表达式)while(si) dj=;j+;dj=0;6、下列程序段的输出结果是 Hellomain() char b=”Hello,you”;b5=0;printf(“%s n”, b );7、下面程序的输出是 12main() int arr10,i,k=0;for( i=0; i10; i+)arri=i;for( i=1; i4; i+)k+=arri=i;printf( %dn, k);8、设数组a 包括10 个整型元素。下面程序的功能是求出a 中各相邻两个元素的和,并将这些和存在数组b 中,按每行3 个元素的形式输出。请填空。main() int a10, b10,i;for(i=0;i10;i+ +)scan(” %d”,&ai);for(i=1;i10;i+ +) bi=ai+ai-; ;for(i=1;i10;i+ +) printf(” %3d”,bi);if(i%3=0)printf(”n”);9、下面程序段将输出computer,请填空。char c=” its a computer”;for(i=0;i=7;i+) J=i+7;printf(” %c”,cj);10、若想通过以下输入语句,使a中存放字符串1234,b 中存放字符5,则输入数据 a=1234b=5的形式应该是char a 10,b;scanf(a=%sb=%c,a,&b);11.下面程序以每行 4 个数据的形式输出 a 数组,请填空。#define N 20main( )int aN,i;for(i=0;iN;i+) scanf(“%d”,ai);for(i=0;iN;i+)if(i % 4 = 0) printf(n);); printf(“%3d”,ai);printf(“n”);12以下程序运行后的输出结果是 3 #include main() int n2 , i, j; for(i=0;i2;i+) ni=0; for(i=0;i2;i+) for(j=0;j2;j+) nj=ni+1; printf(%dn,n1);13. 以下程序运行后输出结果是 14 #include main() int i,n=0,0,0,0,0; for(i=1;i=2;i+) ni=ni-1*3+1; printf(%d ,ni); printf(n);14. (2011年9月)有以下程序 #include main()int c3=0, k ,i;while(k=getchar()!=n)ck-A+; for(i=0;i3;i+) printf(%d,ci); printf(n);若程序运行时从键盘输入ABCACC,则输出结果为 213 15.己知a所指的数组中有N个元素。函数fun的功能是,将下标k(k0)开始的后续元素全部向前移动一个位置。请填空。void fun(int aN,int k) int i;for(i=k;iN-1;i+)_ ak=ak+1_; 16.设有定义语句:int a3=0,1,2;,则数组元素a12的值为_0_。17. 有以下程序,程序运行后的输出结果是 1 6 5 7 #include “stdio.h”main()int a44=1,4,3,2,8,6,5,7, 3,7,2,5,4,8,6,1,i,j,k,t;for(i=0;i4;i+)for(j=0;j3;j+)for(k=j+1;kaki) t=aji,aji=aki,aki=t;for(i=0;i4;i+)printf(“%d”,aii);18. 下列程序的输出结果是 30 main( ) int a33=1,2,9,3,4,8,5,6,7,i,s=0;for(i=0;i3;i+ +) s+ =aii+ai3-i-1;printf(%dn,s);19. 以下程序的主函数中调用了在其前面定义的fun函数#include main() double a15, k;k=fun(a); 则以下选项中错误的fun函数的首部是_ double fun( double a)_。三、编程题1、计算一维数组中的最大值和最大值所在下标。2、计算一维数组中最小值和最小值所在下标。3、从键盘输入一个整数,把转换后得到的二进制序列为存放在数组中,并逆序输出。4、把Fibonacci数列的前30项保存在数组中,并输出所有的项。5、从键盘输入一个45的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。6、求一个3 x 3的整型矩阵对角线元素之和。7、用冒泡排序法对10个整数排序。8从键盘输入一个字符串,统计字符串的长度。(不容许使用strlen函数)。附录:答案:一、 选择题12345678910DACCCCCDDC11121314151617181920AABACDCADA21222324252627282930BABAADCABB31323334353637383940CDDDADCCBA41424344454647484950DBCCAABDBB51525354555657585960DBADDCDBBC二、 填空题1234524&ai ai1 3 7 15abcsi+ ;678910Hello12bi=ai+ai-1i=7 j=i+7a=1234 b=5 或 a=1234b=51112131415【1】ai【2】i % 4 = 0【3】printf(n);31 42 1 3ak=ak+1161718192001,6,5,7 30double fun( double a)三、编程题(略)专心-专注-专业
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!