内容发布更新时间 : 2025/11/4 23:28:44星期一 下面是文章的全部内容请认真阅读。
.
}
作业07 数组
一.选择题
1.设有数组定义:char array[ ]=”China”;,则数组array所占的空间为( A)4个字节 B)5个字节 C)6个字节 D)7个字节 )。
2.下列程序执行后的输出结果是(    )。 #include
{ char arr[2][4];
strcpy(arr,“you”); strcpy(arr[1],“me”); arr[0][3]=‘&’;
printf(“%s\\n”,arr); }
A)you&me     B)you      C)me      D)err 3.有如下程序的输出结果是(  )。 #include
{  int n[5]={0,0,0},i,k=2; for(i=0;i printf(“%d\\n”,n[k]);  }  A)不定值      B)2      C)1       D)0 4.如下程序的输出结果是(  )。 #include {  int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0; for(i=1;i<3;i++) for(j=0;j printf(“%d\\n”,s);  }  A)14      B)19      C)20      D)21  5.当执行下面的程序时,如果输入ABC,则输出结果是(  #include {  char ss[10]=”1,2,3,4,5”;  gets(ss);strcat(ss,”6789”);printf(“%s\\n”,ss);  }  .  )。 .  A)ABC6789      B)ABC67      C)12345ABC6      D)ABC456789 6.以下程序的输出结果是(  )。 #include f(int b[ ],int m,int n) {  int i,s=0;  for(i=m;i {  int x,a[ ]={1,2,3,4,5,6,7,8,9}; x=f(a,3,7);  printf(“%d\\n”,x);  }  A)10      B)18      C)8      D)15  7.以下程序中函数sort()的功能是对数组a中的数据进行由大到小的排序。 #include void sort(int a[ ],int n) {  int i,j,t;  for(i=0;i {t=a[i];a[i]=a[j];a[j]=t;}  }  void main()  {  int aa[10]={1,2,3,4,5,6,7,8,9,10},i; sort(&aa[3],5); for(i=0;i<10;i++)  printf(“%d,”,aa[i]); printf(“\\n”);   }  程序运行后的输出结果是(  )。  A)1,2,3,4,5,6,7,8,9,10   B)10,9,8,7,6,5,4,3,2,1 C)1,2,3,8,7,6,5,4,9,10,   D)1,2,10,9,8,7,6,5,4,3 8.有以下程序:  #include {  char a[ ]={‘a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’\\0’}; int i,j;  i=sizeof(a);j=strlen(a); printf(“%d,%d\\n”,i,j);  }  .  .  程序运行后的输出结果是(  )。  A)9,9     B)8,9      C)1,8     D)9,8  9.以下程序中函数reverse()的功能是将a所指数组中的内容进行逆置。 #include void reverse(int a[ ],int n) {  int i,t;  for(i=0;i  {t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;} }  void main()  {  int b[10]={1,2,3,4,5,6,7,8,9,10}; int i,s=0; reverse(b,8);  for(i=6;i<10;i++)  s+=b[i];  printf(“%d\\n”,s);  }  程序运行后的输出结果是(  )。  A)22      B)10      C)34      D)30 10.以下程序的输出结果是( )。 #include {  char str[12]={‘s’,’t’,’r’,’i’,’n’,’g’}; printf(“%d\\n”,strlen(str));  }  A)6      B)7      C)11     D)12  11.在C语言中,一维数组的定义方式为:类型说明符 数组名(  )。  A)[常量表达式]     B)[整型表达式]    C)[整型常量或整型表达式]    D)[整型常量]  12.若有说明:int a[3][4];则对a数组元素的非法引用是(   )。 A)a[0][2*1]     B)a[1][3]     C)a[4-2][0]     D)a[0][4] 13.若有说明:int a[ ][4]={0,0};,则下面不正确的叙述是(    )。 A)数组a的每个元素都可得到初值0  B)二维数组a的第一维大小为1   C)因为二维数组a中初值的个数不能被第二维大小的值整除,则第一维的大小等于所得商数再加1,故数组a的行数为1  D)只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0 14.下面程序中的错误的行是(  )。 (1)main()  .  .  (2){  (3)int a[3]={1}; (4)int i;  (5)scanf(“%d”,&a);  (6)for(i=1;i<3;i++) a[0]=a[0]+a[i]; (7)printf(“%f\\n”,a[0]); (8)}  A)3     B)6     C)7     D)5  15.若有说明:int a[ ][3]={1,2,3,4,5,6,7};,则a数组第一维的大小是( A)2      B)3     C)4      D)无确定值 16.对两个数组a和b进行如下初始化: char a[ ]=”ABCDEF”;  char b[ ]={‘A’,’B’,’C’,’D’,’E’,’F’}; 则以下叙述正确的是(  )。  A)数组a与数组b完全相同   B)数组a与数组b长度相同 C)数组a与数组b中都存放字符串     D)数组a比数组b长度长 17.有下面的程序段:  char a[3],b[ ]=”china”; a=b;  printf(“%s”,a); 则(  )。  A)运行后将输出china   B)运行后将输出ch C)运行后将输出chi   D)编译出错  18.判断字符串s1是否大于字符串s2,应使用(  )。 A)if(s1>s2)        B)if(strcmp(s1,s2)) C)if(strcmp(s2,s1)>0      D)if(strcmp(s1,s2)>0) 19.下面程序的运行结果是( )。 #include {  char ch[7]={“12ab56”}; int i,s=0;  for(i=0;ch[i]>=’0’&&ch[i]<=’9’;i+=2) s=10*s+ch[i]-‘0’; printf(“%d\\n”,s);  }  A)1       B)1256 C)12ab56      D)1            2               5  .  。   )