数组和函数

2026/4/24 11:01:11

{ char *item; }

211、下面程序的功能是比较两个字符(即字符数组)串是否相等,若相等则返回1,否则返回0,请填空。 main()

{ char a[6],b[7];

int i;

while(s[i]==t[i]&&s[i]!='\\0') i++; return((s[i]=='\\0'&&____________)?1:0) }

main()

{ char a[6],b[7]; int i;

scanf(\ i=f(a,b);

printf(\}

212、下面程序的运行结果是____________。 #include s(char *s)

{ char *p=s;

while(*p) p++; return(p-s); }

main()

{ char *a=\ int i;

i=s(a);

printf(\}

213、下面程序的运行结果是____________。 #include main()

{ char *strc(char *strl,char *str2); char

s1[80]=\

29

pt=strc(s1,s2);

printf(\}

char *strc(char *str1,char *str2) { char *p;

for(p=str1;*p!='\\0';p++)

do{ *p++=*str2++;} while(*str2!='\\0'); *p='\\0'; return(str1); }

214、下面程序的运行结果是____________。 #include

fun(char *p1,char *p2,int n) { int i;

for(i=0;i

p2[i]=(p1[i]-'A'-3+26)&+'A'; p2[n]='\\0'; } main()

{ char *s1,s2[5]; s1=\ fun(s1,s2,4); puts(s2); }

215、当运行以下程序时,从键盘输入 apple cat

(表示回车),则下面程序的运行结果是____________。 #include main()

{ char *s,c[80]; s=c; gets(s);

while((*(++s))!='\\0') if(*s=='a') break; else { s++;gts(s);} puts(s); }

216、下面的程序的运行结果是____________。

printf(\gets(item); delnum(item);

printf(\

#include

main()

{ char a[80],b[80],*p=\ int i=0;j=0; while(*p!='\\0')

{ if(*p>='a'&&*p<='z'){ a[i]=*p;i++;} else { b[j]=*p;j++;} p++; }

a[i]=b[j]='\\0'; puts(a); }

217、下面的程序的运行结果是____________。 #include

main()

{ char a[80],b[80],*p=\ int i=0;j=0; while(*p!='\\0')

{ if(*p>='a'&&*p<='z') {a[i]=*p;i++;} else {b[j]=*p;j++;} p++; }

a[i]=b[j]='\\0'; puts(a);puts(b); }

218、当运行以下程序时,从键盘输入6(表示回车),则下面程序的运行结果是____________。 #incude #include main()

{ char s[]=\ c=getshar(); fun(s,c); puts(s); }

fun(char *a,char b) { while(*(a++)!='\\0'); while(*(a-1)

30

}

219、下面程序的运行结果是____________。 #include main()

{ int i=0,n=0;char s[80],*p; p=s;

strcpy(p,\ for( ;*p!='\\0';P++) if(*p==' ') i=0; else if(i==0) { n++;i=1;} printf(\

}

220、当运行以下程序时,从键盘输入 ASDFGHJ

AFH

(表示回车),则下面程序的运行结果是____________。 #include void fun(char *s1,char *s2)

{ int j; char *s=s1; for( ;*s2!='\\0';s2++)

{ for(j=0,s1=s;*s1!='\\0';s1++)

if(*s1!=*s2) { s[j]=*s1;j++;} } }

void main()

{ char a1[80],a2[80]; gets(a1);gets(a2); fun(a1,a2); puts(a1);

}

221、当运行以下程序时,从键盘输入abcdef和ABCD,则下面程序的运行结果是____________。 #include #include fun(char *a,char *b) { int num=0,n=0;

while(*(a+num)!='\\o') num++;

while(b[n]){ *(a+num)==b[n];num++;n++;}

return mum;

}

main()

{ char s1[81],s2[81],*p1= s1,*p2=s2; gets(p1);gets(p2); printf(\}

222、以下程序的功能是按行输出字符串:____________。 main() {

char

228、若有定义:int a[2][3]={2,4,6,8,10,12};则a[1][0]的值是8,*(*(a+1)+0)的值是____________。

229、若有以下定义和语句: int *p[3],a[6],i;

for(i=0;i<3;i++) p[i]=&a[2*i];

则*p[0]引用的是a数组元素a[0];*(p[1]+1)引用的是a数组元素____________。 230

*str[]={\TH\YSICS\ char **q; int num;

q=str;

for(num=0;num<5;num++) printf(\}

223、若有以下定义和语句: int a[4]={0,1,2,3},*p; p=&a[1];

则++(*P)的值是____________。

224、若有定义:int a[2][3]={2,4,6,8,10,12};则*(&a[0][0]+2*2+1)的值是12,*(a[1]+2)的值是____________。

225、若有定义:int a[]={2,4,6,8,10,12},*p=a;则*(p+1)的值是4,*(a+5)的值是____________。

226、若有以下定义和语句: int a[4]={0,1,2,3},*p;

p=&a[2];

则*--P的值是____________。

227、若有以下定义和语句: int s[2][3]={0},(*p)[3];

p=s;

则____________表示数组元素s[1][0]的地址(用p的加法表达式来写)。

义:inta[]={2,4,6,8,10,12,14,16,18,20,22,24},*q[3],k;则下面程序段的输出是____________。

for(k=o;k<3;k++) q[k]=&a[k*4];

printf(\

231、请完成以下有关数组描述的填空。(1)C语言中,数组名是一个不可改变的地址常量,不能对它进行赋值运算。(2)如int a[10];数组在内存中占用一段连续的存储空间,它的首地址由____________表示。

232、若m数组的元素和它们的值如下所示: 数组元素:

m[0] m[1] m[2] m[3] m[4] m[5] m[6] m[7] m[8] m[9] 元素中的值:

9 4 12 8 2 10 7 5 1 3

则数组元素m[m[4]+m[8]]的值是8,*m+m[9]的值是12,m[*(m+4)]的值是____________。

233、若有以下定义和语句,则下面各个符号的正确含义分别是:(例如对于符号&a[2][1],应该写成:是数组元素a[2][1]的地址)。 int a[3][4],(*q)[4]; q=a;

*(q+2):是数组元素a[2][0]的地址,*(q+1)+2:是数组元素a[1][2]的地址,*q+2:是数组元素____________的地址

234、若有以下定义和语句,在程序中引用数

31

组元素m[i][j]的四种形式

for(i=0;i<2;i++){

for(j=0;j<3;j++)

printf(\ printf(\ } q=b;

for(i=0;i<3;i++)

{ for(j=0;j<2;j++)

printf(\ printf(\ } }

240、下面程序可通过行指针P输出数组a中任一行任一列元素的值。请填空。 main()

{ int a[2][3]={2,4,6,8,10,12); int(*p)[3],i,j; p=a;

scanf(\0<=1<2,0<=j<3 */

printf(\}

241、下面程序可求出以下方括号内的元素之积。请填空。 [7] 2 1 3 [4] 8 9 2 [6]

main()

{ int x[3][3]={7,2,1,3,4,8,9,2,6}; int s,*p; p=&x[0][0];

s=*p*____________; printf(\}

242、下面程序的运行结果是____________。 main()

{ int x[]={0,1,2,3,4,5,6,7,8,9}; int s,i,*p; s=0:

p=&x[0];

32

是:*(p+i),p[i],____________和x[i](假设i已正确说明并赋值)。

int x[10],*p;p=x;

235、若有定义:int m[10][6];在程序中引用数组元素m[i][j]的四种形式是:(*(m+i))[j],*(m[i]+j),____________和*(*(m+i)+j)。(假设i、j已正确说明并赋值)

236、若有以下定义和语句,在程序中可通过指针数组pt,用*(pt[i]+j)等四种形式引用数组元素s[i][j](假设i,j已正确说明并赋值);另三种形式分别是:pt[i][j],*(*(pt+i)+j)和____________。 int s[10][6],*pt[10];

for(i=0;i<10;i++) pt[i]=s[i];

237、若有以下定义和语句,在程序中可通过指针pt,用* (pt[i]+i)等四种形式,引用数组元素x[i][j](假设i、j已正确说明并赋值);另三种形式分别是:p[i][j],*(*(pt+i)+j)和____________。 int x[10][6],(*pt)[6]; pt=x;

238、下面程序的运行结果是____________。 main()

{ int a[4]={1,3,5,7}; int i,*p;

p=a;

printf(\

}

239、下面程序是求矩阵A的转置矩阵B,并按矩阵形式打印出两矩阵。请填空。 main()

{ int a[2][3]={1,2,3,4,5,6},b[3][2]; int(*p)[3],(*q)[2],i,j; p=a;q=b; for(i=0;i<2;i++) for(j=0;j<3;j++) *(*(q+j)+i)=*(*(p+i)+j); p=a;

/*


数组和函数.doc 将本文的Word文档下载到电脑
搜索更多关于: 数组和函数 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219