第四章单元测试
在int a[ ][3] = { {1,4}, {3,2}, {4,5,6}, {0} };中,a[2][1]的值是( )。
以下数组定义中错误的是( )。
以下能正确定义二维数组的是( )。
有如下程序
#include <stdio.h>
int main()
{
int n[5]={0,0,0},i,k=2;
for(i=0;i<k;i++)
n[i]=n[i]+1;
printf("%d",n[k]);
return 0;
}
该程序的输出结果是( )。
对一个含有100个元素的有序数组,用二分法查找某指定元素,最多需要比较( )次?
以下程序中函数Fun的功能是对b所指数组中的第m至第n个数据取累加和,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。
#include <stdio.h>
int Fun( ______ ,int m,int n)
{
int i,s=0;
for( ______;i<n;i++)
s=s+b[i];
return _______;
}
int main()
{
int x,a[]={1,2,3,4,5,6,7,8,9};
x=Fun(a,3,7);
printf("%d",x);
return 0;
}
以下程序中函数Sort的功能是对a所指数组中的数据进行由大到小的排序,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。
#include <stdio.h>
void Sort(int a[],int n)
{
int i,j,t;
for(i=0;_________;i++)
for(________;j<n;j++)
if(a[i]<a[j])
{
t=a[i];
__________;
a[j]=t;
}
}
int main()
{
int aa[10]={1,2,30,4,5,6,7,8,9,10},i;
__________;
for(i=0;i<10;i++)
printf("%d,",aa[i]);
printf("");
return 0;
}
以下程序中函数Reverse的功能是对数组a中的前一半元素逆序、后一半元素逆序,再将逆序后的前、后两部分数据位置交换。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。
例如:主程序中数组b中的元素为{16,22,13,41,50,62,27,18,9,10},调用函数Reverse后,数组b中元素变为
{10,9,18,27,62,50,41,13,22,16}。
#include <stdio.h>
void Reverse(int a[],int n)
{
int i,t;
for(i=0;________;i++)
{
t=a[i];
__________;
a[n-i]=t;
}
}
int main()
{
int b[10]={16,22,13,41,50,62,27,18,9,10};
int i,s=0;
__________;
for(i=0;i<10;i++)
{
printf("%4d",b[i]);
}
return 0;
}
假定double类型变量占用8个字节,且数组定义如下,则数组length在内存中所占字节数是( )。
double length [10];
以下程序的输出结果是( )。
#include<stdio.h>
void swap1(int c[])
{
int t;
t=c[0];
c[0]=c[1];
c[1]=t;
}
void swap2(int c0,int c1)
{
int t;
t=c0;
c0=c1;
c1=t;
}
int main( )
{
int a[2]={3,5},b[2]={3,5};
swap1(a);
swap2(b[0],b[1]);
printf("%d %d %d %d",a[0],a[1],b[0],b[1]);
return 0;
}
A:2 B:0 C:6 D:5
答案:5
A:int x[2][3]={1,2,3,4,5,6}; B:int x[2][3]={{1,2},{3,4},{5,6)}; C:int x[2][3]={0}; D:int x[][3]={{1,2,3},{4,5,6}};
A:int a[][3]={2*3}; B:int a[2][3]={{1},{2},{3,4}} C:int a[3][]={}; D:int a[][3];
A:1 B:0 C:不确定的值 D:2
A:7 B:6 C:8 D:5
A:第2行: int b
第5行: i=0
第7行: s
第5行: i=n-1
第7行: b[i]
第5行: i=1
第7行: i
第5行: i=m-1
第7行: s
A:第5行: i<n
第6行: j=i+1
第10行: a[j]=a[i]
第18行: Sort(aa,10)
j第6行: =i
第10行: a[i]=a[j]
第18行: Sort(10,aa)
第6行: j=i+1
第10行: a[i]=a[j]
第18行: Sort(aa,10)
第6行: j=i
第10行: a[i]=a[j]
第18行: Sort(aa[],10)
A:第5行: i<=n/2
第8行: a[i]=a[n-i]
第17行: Reverse(b,9)
第8行: a[i]=a[n]
第17行: Reverse(b,9)
第8行: a[n]=a[i]
第17行: Reverse(9,b)
第8行: a[n-i]=a[i]
第17行: Reverse(b,9)
A:160 B:80 C:0 D:10
A:5 3 5 3 B:3 5 3 5 C:3 5 5 3 D:5 3 3 5