《最新C语言复习题数组.doc》由会员分享,可在线阅读,更多相关《最新C语言复习题数组.doc(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品资料C语言复习题数组.C语言复习题_数组一、填空1、若定义char a = 3Love3; 则strlen(a)的值为 6 , sizeof(a)的值为 7 。2、若定义char a = Hello!n; 则strlen(a)的值为 7 , sizeof(a)的值为 8 。二、选择1、设有数组定义:char array =China; 则数组 array所占的空间为(C)。A、4个字节 B、5个字节 C、6个字节D、7个字节2、为了判断两个字符串s1和s2是否相等,应当使用(D)。A、 if (s1= =s2) B、 if (s1=s2)C、 if(strcpy(s1,s2) D、 if
2、(strcmp(sl,s2)=0)3、下列描述中,合法的数组定义是 (D)。A、int a String; B、int a50,1,2,3,4,5; C、char aString; D、char a 0,1,2,3,4,5;4、若有定义int a10; ,则对数组a的引用正确的是(D)。A、a10 B、a6、3 C、a(6) D、a10-105、以下对一维数组a的定义中正确的是(C)。A、char a(10); B、int a0、100; C、int a5; D、int k=10; int ak; 6、以下对一维数组的定义中不正确的是(B)。A、 double x5=2、0,4、0,6、0,8
3、、0,10、0; B、 int y5=0,1,3,5,7,9;C、 char ch1 =1, 2, 3, 4, 5; D、 char ch2 =x10, xa, x8;7、假定一个int型变量占用四个字节,若有定义:int x10=0,2,4; 则数组x在内存中所占字节数是(D)。A、 3 B、 6 C、 10 D、 408、若定义一个名为s且初值为123的字符数组,则下列定义错误的是(C)。A、char s =1,2,3,0 ; B、char s =123;C、char s =123n; D、char s4=1,2,3;三、判断1、int a3定义了一个整型数组, 它的3个元素是a0, a1
4、和a2。T2、int a3定义了一个整型数组, 它的3个元素是a1, a2和a3。F3、在用字符数组来处理字符串时,应始终保证数组的长度大于字符串的实际长度。T 4、可以在定义数组时只给一部分数组元素赋值。T5、对数组元素赋予的初值可以依次放在一对圆括号内。F四、写出以下程序的运行结果1、#include int main() char s9=12134211; int v4=0,0,0,0,k,i;for(k=0;k9;k+) switch(sk) case 1:i=0;break;case 2:i=1;break;case 3:i=2;break;case 4:i=3;break;vi+;
5、for(k=0;k4;k+) printf(%d ,vk);return 0;答:5 2 1 12、#include int main() int i, j,n=1,a12;for (i=0;i12;i+) ai=n;n+;n=0;for (i=0;i3;i+) for (j=1;j=4;j+) printf(%-4d, an);n+;printf(n);return 0;答:3、#include int main() int i,j,k,n3;for(i=0;i3;i+) ni=0;k=2;for(i=0;ik;i+)for(j=0;jk;j+)nj=ni+1;printf(%dn,n1);
6、 return 0;答:3五、程序填空1、下列程序的功能是输入N个实数,然后依次输出前l个实数和、前2个实数和、前N个实数和。填写程序中缺少的语句。#define N 10int main() float fN,sum=0.0; int i; for(i=0;iN;i+) scanf(%f,&fi); for(i=1;i=N;i+) ; printf(sum of NO %2d-%fn,i,x); return 0;答:处应填写:sumsumfi-1;六、程序设计1、编写程序,从一整型数组a的第一个元素开始,每三个元素求和并将和值存入到另一数组中(最后一组可以不足3个元素),最后输出所求的所有
7、和值且每行输出5个值。参考代码:#include #define N 20#define M N/3+1int main() int aN,i,j=0,bM=0;for(i=0;iN;i+) scanf(%d,&ai);for(i=0;iN;i+) bj=bj+ai;if(i+1)%3=0) j+;if(N%3=0) j-;for(i=0;i=j;i+) printf(%d ,bi);if(i+1)%5=0) printf(n);return 0;2、输入10个整型数存入一维数组,输出值和下标都为奇数的元素个数。参考代码:#include int main() int a10,i,num=0;
8、printf(enter array a:n);for(i=0;i10;i+)scanf(%d,&ai);for(i=0;i10;i+)if(i%2=1&ai%2=1) num+;printf(num=%dn,num);return 0;3、已知两个升序序列,将它们合并成一个升序序列并输出。参考代码:#include int main() int a4=1,3,5,7;int b5=2,4,6,8,10;int c20,i=0,j=0,k=0;while(i4&j5)if(aibj) ck+=ai+;else ck+=bj+;while(i4) ck+=ai+;while(j5) ck+=bj+;for(i=0;ik;i+)printf(%5d,ci);printf(n);return 0;