C、char c1[]={'1','2','3','4','5'}; D、char c2[]={'\\x10','\\xa','\\x8'}; 21、调用函数时,若实参是一个数组名,则向函数对应的形参传送的是( ) A、数组的长度
B、数组的首地址
C、数组第一个元素的值 D、整个数组元素的值 22、下面程序段的运行结果是( )
char s[6]; s=‖abcd‖; printf(―\\‖%s\\‖\\n‖,s);
A、―abcd‖
B、‖abcd ―
C、\\‖abcd\\‖\\n
D、编译出错
23、(多项选择)以下不能对二维数组a进行正确初始化的语句是( ) A、int a[2][]={{1,0,1},{5,2,3}}; C、int a[2][4]={{1,2,3},{4,5},{6}};
B、.int a[][3]={{1,2,3},{4,5,6}};
D、int a[][3]={{1,0,1},{},{1,1}};
24、(多项选择)若有说明:int a[3][4];则对a数组元素不能正确引用是( ) A.a[2][4]
B、a[1,3]
C、a[1+1][0] D、a(2)(1)
25、(多项选择)若有说明“static int a[3][4]={0};”则下面正确的叙述是( ) A、只有元素:a[0][0]可得到初值0
B、此说明语句不正确
C、数组a中各元素都可得到初值,但其值不一定为0 D、数组a中每个元素均可得到初值0 26、 以下对一维整型数组的正确说明是( ) A、int a(1);
B、int n=10,a[n];
C、int n;scanf(―%d‖,&n);int a[n]; D、#define SIZE 10 int a[SIZE]; 27、有以下程序,其输出结果是( )
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; } main( )
{ int a[2]={3,5},b[2]={3,5}; swap1(a); swap2(b[0],b[1]);
printf(―%d %d %d %d\\n‖,a[0],a[1],b[0],b[1]); }
A、5 3 5 3
B、5 3 3 5
C、3 5 3 5
D、3 5 5 3
5
28、以下程序执行后的输出结果是( )
int f(int b[][4]) { int i,j,s=0; for(j=0;j<4;j++) { i=j;
if(i>2) i=3-j; s+=b[i][j]; } return s; } main( )
{int [4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}}; printf(―%d\\n‖,f(a));}}
A、12
B、11
C、18
D、16
29、执行下列程序后输出的结果是( )
int a[3][3]={{1},{2},{3}}; int b[3][3]={1,2,3}; main()
{printf(″﹪d \\ n″,a[1][0] + b[0][0]);}
A、0
B、1
C、2
D、3
30、以下程序运行后,输出结果是( )
main()
{ int y=18,i=O,j,a[8]; do { a[i]=y%2;i++; y=y/2; } while(y>=1); for(j=i-1;j>=0;j--) printf(―%d‖,a[j]); printf(―\n‖); }
A、1000
B、10010
C、00110
D、10100
二、填空题
1、设数组a中的元素均为正整数,以下程序是求a中偶数的个数和偶数的平均值。请填空。(填空时数组元素请用数组表示方法) main()
{int a[10]={1,2,3,4,5,6,7,8,9,10}; int k,s,i; float ave; for(k=s=i=0;i<10;i++)
6
{if(a[i]%2!=0) 《1》; s+=《2》; k++; }
if(k!=0) { ave=s/k; printf(\ }
2、下面程序的运行结果是( ) main()
{int num_list[]={6,7,8,9}; int k,j,b,u=0,m=4,w; w=m-1; while(u<=w) {j=num_list[u]; k=2;b=1;
while(k<=j/2&&b) b=j%++k; if(b) printf(\
else {num_list[u]=num_list[w]; num_list[w--]=j; }
} }
3、下面程序的功能是将字符数组a[6]={'a','b','c','d','e','f'}变为a[6]={'f','a','b','c','d','e'}。请填空。(注:填空时数组元素请用数组表示方法) main()
{char t,a[6]={'a','b','c','d','e','f'}; int i; 《1》;
for(《2》;i>0;i--) a[i]=a[i-1]; a[0]=t;
for(i=0;i<=5;i++) printf(\ }
4、下面程序的运行结果是( ) main() {int i;
char a[]=\ for(i=0;a[i]!='\\0'&&b[i]!='\\0';i++) if(a[i]==b[i])
7
if(a[i]>='a'&&a[i]<='z') printf(\ else printf(\ else printf(\
}
5、下面程序的运行结果是( ) main()
{int i=1;n=3,j,k=3; int a[5]={1,4,5}; while(i<=n&&k>a[i]) i++; for(j=n-1;j>=i;j--) a[j+1]=a[j]; a[i]=k;
for(i=0;i<=n;i++) printf(\ }
6、当从键盘输入18并回车后,下面程序的运行结果是( ) main()
{int x,y,i,a[8],j,u,v; scanf(\ y=x;i=0; do
{u=y/2; a[i]=y%2; i++;y=u; }while(y>=1);
for(j=i-1;j>=0;j--) printf(\ }
7、下面程序的运行结果是( ) main()
{int a[10]={1,2,3,4,5,6,7,8,9,10}; int k,s,i; float ave;
for(k=s=i=0;i<10;i++) {if(a[i]%2==0)continue; s+=a[i]; k++;}
if(k! =0) {ave=s/k; printf(\ }
8、若有以下输入(
8
相关推荐: