若有以下程序段,其中0<=i<4,0<=j<3,则不能正确访问a数组元素的是() int i,j,(*p)[3]; int a[][3]={1,2,3,4,5,6,7,8,9,10,11,12}; p=a;
第1题:
以下函数返回a所指数组中最小的值所在的下标值
fun(int *a, int n)
{ int i,j=0,p;
p=j;
for(i=j;i<n;i++)
if(a[i]<a[p]); ________;
return(p);}
在横线处应填入的是
A.i=p
B.a[p]=a[i]
C.p=j
D.p=i
第2题:
有以下程序: #include <iostream> using namespace std; int main() { int num[2][3],*p; int t,i,j,k=10; p=num[0]; for(i=0;i<2;i++) { for(j=0;j<3;j++) { k++; *p=k; for(t=2;t<*p;t++) { if(!(*p%t)) { j--; *p--; break; } *p++; } } cout<<*(p-1)<<end1; return 0; } 程序运行后的输出结果是( )。
A.19
B.11
C.29
D.23
第3题:
下列程序用来判断数组中特定元素的位置所在,则输出结果为( )。 #include<conio.h> #include<iostream.h> int fun(int*p,int n,int*j) {int i; *j=0; for(i=0;i<n;i++) if(p[*j]<p[i])*j=i; return p[*j];} void main() {int a[10]={1,3,9,0,8,7,6,5,4,2)j;int j; fun(a,10,&j); cout<<j<<','<<a[j];}
A.2,9
B.3
C.9
D.3,9
第4题:
若在以下定义和赋值语句,则才s数组的第i行第j列(假设i,j已正确说明并赋值)元素地址的合法引用为 int s[2][3]={0},( *p)[3]; p=s;
A.*(*(p+i)+j)
B.*(p[i]+j)
C.(p+i)+j
D.(*(p+i))[j]
第5题:
若有定义:int a[4][10];,则以下选项中对数组元素a[i][j]引用错误的是_______。 (0<=i<4,0<=j<10)
A.*(&a[0][0]+10*i+j)
B.*(a+i)+j
C.*(*(a+i)+j)
D.*(a[i]+j)
第6题:
若有定义:int a[4][10];,则以下选项中对数组元素a[i][j]引用错误的是______。 (o<=i<4,0<=j<=10
A.*(&a[0][0]+10*i+j)
B.*(a+i)+j
C.*(*(a+i)+j)
D.*(a[i]+j)
第7题:
A.*(*(a+i)+j)
B.p[i][j]
C.(*(p+i))[j]
D.p[i]+j
第8题:
以下程序输出正确的是______。 amovep(int *pint(*a) [3]int n) { int i,j; for(i=0;i<n;i++) for(j=0;j<n;j++){ *p=a[i][j];p++;} } main() {int *p,a[3][3]={{1,3,5},{2,4,6}}; p=(int*)malloc (100); amovep(p,a,3); printf("%d%d\n",p[2]p[5];free(p); }
A.56
B.25
C.34
D.程序错误
第9题:
n-1;i++)fo
有以下程序: struct S{int n;int a[20];}; void f(struct S*P) { int i,j,t; for(i=0;i<P->n-1;i++) for(j=j+1;j<P->n-1;j++) if(p->a[i]>p->a[j]) {t=P->a[i];p->a[i]=P->a[j];p->a[j]=t} } main() {int i;struct S s{10,{2,3,1,6,8,7,5,4,10,9}}; f(&s); for(i=0;i<s.n;i++)printf("%d",s.a[i]);} 程序运行后的输出结果是( )。
A.3
B.4
C.5
D.6
第10题:
以下函数返回a所指数组中最大值所在的下标值: fun(int *a,int n) { int i,j=0,p; p=j; for(i=j;i<n;i++) if(a[i]>a[p])______; return(p); } 在下划线处应填入的内容是( )。
A.i=p
B.a[p]=a[i]
C.p=j
D.p=i
第11题:
若有定义“inta[3][4],*p;”,则对数组元素a[i][j](0<=i<3,0<=j<4)正确的引用是()。
第12题:
#include <stdio.h>
void swap(int *p, int *q)
{
int *t;
*t = *p;
*p = *q;
*q = *t;
}
main()
{
int i=10, j=20,*a=&i,*b=&j;
swap(a,b);
printf(i=%d j=%d,i,j);
}
#include <stdio.h>
void swap(int *p, int *q)
{
int t;
t = *p;
*p = *q;
*q = t;
}
main()
{
int i=10,j=20,*a=&i,*b=&j;
swap(a,b);
printf(i=%d j=%d,i,j);
}
#include <stdio.h>
#include <stdlib.h>
void swap(int *p, int *q)
{
int *t;
t = (int *)malloc(sizeof(int));
*t = *p;
*p = *q;
*q = *t;
free(t);
}
main()
{
int i=10,j=20;
swap(&i,&j);
printf(i=%d j=%d,i,j);
}
#include <stdio.h>
void swap( int *p, int *q)
{
int t;
t = *p;
*p = *q;
*q = t;
}
main()
{
int i=10,j=20,*x=&i,*y=&j;
swap(x,y);
printf(i=%d j=%d,i,j);
}
第13题:
以下程序段是函数返回a所指数组中最小的值所在的下标值,请在下划线处填空。
fun(int *a,int n)
{
int i,j=0,p;
p=j;
for(i=j;i<n;i++)
if(a[i]<a[p]) 【 】;
return(p);
}
第14题:
有以下程序: #include <stdio.h> main( ) char * p[ ] = {"3697" ,"2548" }; int i,j; long num =0; for(i =0;i<2;i ++ ) { j =0; while(p[i][j]! ='\0') { if((p[i][j]-'0')%2) num=10*num+p[i][j]-'0'; j+ =2; } printf( "%d \n" ,num);}程序执行后的输出结果是( )。
A.35
B.37
C.39
D.3975
第15题:
有以下程序fun(int *a,int n) { int i,j=0,p; p=j; for(i=j;i<n;i++) if(a[i]<a[p]) ____; return(p);}在下画线处应填入的是A.i=p B.a[p]=a[i] C.p=j D.p=i
第16题:
有以下程序: #include<string.h> void f(char p[][10],int n) {char t[10];int i,j; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(strcmp(p[i],p[j])>0) {strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy(p[j],t);} } main() {char p[5][10]={"abc","aabdfg","abbd","dedbe","cd"}; f(p,5); printf("%d\n",strlen(p[0]));} 程序运行后的输出结果是( )。
A.2
B.4
C.6
D.3
第17题:
以下程序输出正确的是_______ amovep(int *p,int (*a)[3],int n) { int i,j; for(i=0;i<n;i++) for(j=0;j<n;j++){ *p=a[i][j];p++;} } main() {int *p,a[3][3]={{1,3,5}, {2,4,6}}; p=(int*)mallox(100) amovep)p,a,3); printf("%d%d\n",p[2],p[5]);free(p) }
A.56
B.25
C.34
D.程序错误
第18题:
以下函数返回a所指数组中最大值所在的下标值fun(int *a,int n){ int i,j=0,p; p=j; for(i=j;i<n;i++) if(a[i]>a[p])_________; return(p);}在下画线处应填入的内容是A.i=p B.a[p]=a[i] C.p=i D.p=j
第19题:
以下函数返回a所指数组中最小的值所在的下标值: fun(int*a,int n) { int i,j=0,P; p=j; for(i=j;i<n;i++) if(a[i]<a[j])____return(p); } 在下划线处应填入的是( )。
A.i=P
B.a[p]=a[i]
C.p=j
D.p=i
第20题:
若有定义:"int a[2][3];"则对a数组的第i行第j列无素的正确引用为( )。
A.*(*(a+i)+j)
B.(a+i) [j]
C.*(a+i+j)
D.*(a+i)+j
第21题:
以下函数返回a所指数组中最小的值所在的下标值 fun(int *a,int n) { int i,j=0,p; p=j; for(i=j;i<n;i++) if(a[i]<a[p])______; return(p);} 在下划线处应填入的是
A.i=p
B.a[p]=a[i]
C.p=j
D.p=i
第22题:
若有定义:int a[4][10];,则以下选项中对数组元素a[i][i]引用错误的是______。(0<=i<4,0=i<10)
A.*(&a[0][0]十10*i+j)
B.*(a+i)+j
C.*(a+i)+j)
D.*(a[i]+j)
第23题:
*(*(a+i)+j)
p[i][j]
(*(p+i))[j]
p[i]+j