资源描述
第三部分 江苏省二级统考近五年试题汇编
【说明】基础题部分全部略去。
2001年春季笔试题及上机题
一、 选择题
21.以下所列语句中,合法的语句是: 。
A. a=1,b=2 B.++a; C.a=a+1=5; D.y=int(a);
22.以下所列字符常量中,不合法的是: 。
A.’\0xff’ B.’\65’ C.’$’ D.’\x1a’
23.如有以下定义:“int y[4][4]={1,2,3,4,5,6,7,8,9,10},*py1=y[1],(*py2)[4]=y;”,则不能正确引用值为7的数组元素的表达式是: 。
A.*(y[1]+2) B.*(y+1)+2 C.py1[2] D.py2[1][2]
24.以下不致造成死循环的语句是: 。
A. for(y=0,x=1;x>++y;x=i ++)i =x;
B. for(; ;x+=i );
C. while(x=8)x--;
D. for(i =10,sum=0;sum<=i ;)sum= --i ;
25.以下说法中正确的是: 。
A. 一个结构只能包含一种数据类型
B. 不同结构中的成员不能有相同的成员名
C. 两个结构变量不可以进行比较
D. 关键字typedef用于定义新的数据类型
26.设有定义:”float y=3.45678;int x;”,则以下表达式中能实现将y中数值保留小数点后2位,第3位四舍五入的表达式是: 。
A.y=(y*100+0.5)/100.0 B. x=y*100+0.5,y=x/100.0
C. y=y*100+0.5/100.0 D.y=(y/100+0.5)*100.0
27. 以下程序段输出结果是: 。
int a=10,b=11,c=12,s;
s=a++<=10&&b--<=2&&c++;printf(“%d,%d,%d,%d”,s,a,b,c);
A. 0,11,10,13 B. 1,11,10,13 C. 0,11,10,12 D.1,11,10,12
28.下列程序段执行后变量j的值是: 。
int j;char *s=”x\045\” ”;for(j=0;*s++;j++);
A. 7 B. 3 C. 4 D. 5
29.设有以下说明,则值为210的表达式是: 。
struct s
{ int a;int *b;};
int x0[]={110,120},x1[]={210,220};
struct s x[]={{100},{200}},*p=x;
x[0].b=x0;x[1].b=x1;
A. *p->b B. (++p)->a C. *(p++)->b D.*(++p)->b
30.设有“char s[]=”Program”,*p=s;”,则以下叙述中正确的是: 。
A. 数组s的内容与指针变量p中内容相同
B. 数组s的长度与strlen(p)的值相等
C. p[5]的值等于s[5]的值
D. sizeof(s)等于sizeof(*p)
二、填空题
1.若有定义语句“static char str[4][20]={“thank”,”you”,”very”,”much!”};”
则str数组中存储’\0’的数组元素有: 个。
2.设有语句“int a=2,b=3,c=2;a+=b*=(++b-c++); “,变量b的值是 。
3.以下程序输出结果是: 。
#define T(x,y,z) x*y*z/4
main()
{ int a=1,b=3,c=5;
printf("%d",T(b+a,a*++b,a+b+c)); }
4.以下程序输出结果是: 。
main()
{printf("%d",fun(5));}
fun(int n)
{if(n= =1)return 1;
return n-fun(n-1); }
5.以下程序输出结果是: 。
main()
{ enum color{RED=5,BLUE,WHITE=0,BLACK};
char *colorname[]={"red","blue","white","black"};
printf("%s",colorname[BLACK]); }
6.【程序】
main()
{ int j,k,s,m;
for(k=1;k<10;k++)
{ s=1;m=k+2;
for(j=k;j<m;j++,k++)s+=j;
}
printf("s=%d,k=%d",s,k); }
程序输出结果s= ,k= 。
7.【程序】
func(int a,int b)
{ return a+b;}
main()
{int x=6,y=7,z;
z=func(func(x++,y++),func(--x,--y));
printf("%d",z); }
以上程序输出结果是 (所用编译系统传递函数参数的顺序为自右向左)。
8.【程序】
main()
{ int i,p[9]={1,2,3,4,5,6,7,8,9},*p1[3],**p2;
for(i=0;i<3;i++)p1[i]=&p[6-3*i];
p2=p1+2;
for(i=1;i<3;i++)
printf("%d,%d\n",*(++p1[i]+2)+1,*(*p2--+1)+2); }
程序运行时输出的第一行是 ,第二行是 。
9.【程序】
fun(int *s,int n1,int n2)
{ int t;
while(n1<n2)
{ t=*(s+n1);
*(s+n1)=*(s+n2);
*(s+n2)=t;
n1++;n2--;
}
}
main()
{ int a[10]={1,2,3,4,5,6,7,8,9,0}, i ,*p=a;
fun(p,0,3); fun(p+3,1,6);
for(i=0;i<10;i++)
{ if(i%5= =0)printf("\n");
printf("%d",a[i]);
}
}
程序输出的第一行是 ,第二行是 。
10.【程序】
#include<stdio.h>
main()
{ struct st{
int x,y;
}st1[5]={10,11,20,21,30,31,40,41,50,51},st2[5];
FILE *fp;int i ;
fp=fopen("stud.dat","wb+");
fwrite(st1,sizeof(struct st),5,fp); rewind(fp);
for(i=0;i<3;i++)
{fread(&st2[i],sizeof(struct st),1,fp);
fseek(fp, sizeof(struct st),SEEK_CUR);
/*本函数使用说明见试卷尾部注释*/
}
fseek(fp,-4L*sizeof(struct st),SEEK_END);
for(i=3;i<5;i++)
{fread(&st2[i], sizeof(struct st),1,fp);
fseek(fp, sizeof(struct st),SEEK_CUR);
}
for(i=0;i<5;i+=2)
printf("%d,%d\n",st2[i].x,st2[i].y);
fclose(fp); }
以上程序输出结果的第一行是 ,第二行是 , 第三行是_____。
(1)rewind(文件类型指针):将文件的读写指针移动到文件的首部。
(2)fseek(文件类型指针,偏移量,起始位置):将文件的读写指针移动到文件的指定位置。
起始位置:分别用如下三个符号常量表示三种选择:SEEK_SET文件首,SEEK_END文件尾,SEEK_CUR文件当前位置。
偏移量:指针移动的目的地位置相对于起始位置的字节数,要求为长整型,数值为正数时表示从起始位置向后(文件尾)移动,反之向前(文件首)移动。
(3)fread(buffer,size,count,fp)/ fwrite(buffer,size,count,fp):fread函数用来依次读入一组数据,fwrite函数用来一次向文件中写一组数据,其中buffer指明起始地址,size表示要读写的字节数,count为要进行读写多少个size字节的数据项,fp为文件指针。
11.以下程序打印所有符合下列条件的3位正整数:是某一个数的平方数,其中有两位数字相同。如:100、121等。
main()
{int a,b,c,n,k;
for(k=10; ;k++)
{n= (1) ;
if(n>999) (2) ;
a=n/100;
b= (3) ;
c=n%10;
if(!((a-b)*(b-c)*(c-a)))printf("\n%d,%d",n,k);
}
}
12.以下程序实现将a数组中后8个元素从大到小排序的功能。
void sort(int *x,int n);
main()
{int a[12]={5,3,7,4,2,9,8,32,54,21,6,43},k;
sort( (1) ,8);
for(k=0;k<12;k++)printf("%d",a[k]);
}
void sort(int *x,int n)
{ int j,t;
if(n= =1)return;
for(j=1;j<n;j++)
if( (2) )
{t=x[0];x[0]=x[j];x[j]=t;}
sort(x+1, (3) );
}
13.函数insertstr功能是:在字符串str中所有出现子串str1的后面插入子串str2。
【程序】
char *insertstr(char *str,char *str1,char *str2)
{ char *p, *p1,*q1,*t1;int i ,len2;
if(*str= ='\0'||*str1= ='\0'||*str2= ='\0')return str;
len2=strlen(str2);
p=str;
t1=str2;
while(*p!='\0')
{p1=p; q1=str1;
while(*p1= =*q1&& (1) )
{p1++;q1++;}
if(p!=p1&&*q1= ='\0')
{p= (2) ;
while(*p1++!='\0');
for(; p1>=p;p1--)
*( (3) )=*p1;
for(i=0;*(t1+i)!='\0';i++)
*p++= (4) ;
}
(5) ;
}
return str;
}
14.以下程序中函数padd的功能是:调整pa指向的链表中各结点的位置,使得所有x值为偶数的结点出现在链表的前半部,所有x值为奇数的结点出现在链表的后半部。#include<stdlib.h>
typedef struct p{
int x;
struct p *next;} PNODE;
PNODE *padd(PNODE *pa)
{PNODE *p1, *p2,*p;
p1=p2=pa;
while(p1)
{if(p1->x%2= =0&& (1) )
{p=p1;
p1=p1->next;
(2) =p1;
p->next=pa;
(3) ;
}
else {p2=p1;p1=p1->next;}
}
return pa;
}
main()
{PNODE a[10]={{1},{2},{3},{4},{5},{6},{7},{8},{9},{10}},*ha=a,*p;
int i ;
for(i=0;i<9;i++)a[i].next=&a[i+1];
a[9].next= (4) ;
ha=padd(ha);
p=ha;
printf("\n");
while(p)
{printf("%d->",p->x);p=p->next;}
}
2001年(春)C语言上机试卷
一、改错题
【题目】
本程序计算并输出二维数组a的每一列最小元素的值及其行号、列号,整个数组a中最小元素的值及其行号、列号。含有错误的源程序为:
#include"stdio.h"
#define n 4 #define m 3
int a[n][m],s[m];
p(int j)
{int k,i,x;
x=a[0][j];i=0;
for(k=1;k<n;k++)
if(a[k][j]<x)
{i=k;s[j]=x=a[k][j];}
return i;
}
main()
{int index[m],i,j,k;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
scanf("%d",a[i][j]);
for(j=0,j<m;j++)
{index[j]=p[j];
printf("a[%d,%d]=%d\n",index[j],j,s[j]);
}
i=s[1];k=0;
for(j=1;j<m;j++)
if(s[j]<i)
{i=s[j];k=j;}
printf("min=a[%d,%d]=%d",index[k],k,i);
}
注:调试程序时,可以随意输入测试数据,最后运行本程序时,必须从键盘输入下列数据:
6 4 16 9 7 13 8 18 15 5 12 19
【要求】:
1.将上述程序录入到文件 myf1.c中,然后根据题目的要求以及程序中语句之间的逻辑关系对程序中的错误进行修改。
2.改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理语句,但不能增加其他语句,也不能删去整条语句。
3.将改正后的源程序(文件名myf1.c)放在考试盘的根目录下,供阅卷用。
二、编程题
【题目】建立数组a[3][8],其中前两行元素产生方法是:
用初值x1=26及公式xi+1=(25*xi+357)%1024,产生一个数列:x1,x2,…,x16。其中x1~x8作为a的第一行元素;x9~x16作为a的第二行元素;第三行的元素值取前两行同列元素的最大公约数。最后把数组a的元素写到文件myf2.out中,每写完a的一行元素要换行。
【要求】
1.将源程序取名为myf2.c 输出结果文件取名为myf2.out。
2.数据文件的打开、使用、关闭均按TURBO C文件操作实现。
3.源程序文件和运行结果文件均需放在考试盘的根目录下,供阅卷用。
4.不要将myf2.obj和myf2.exe保存到考试盘上。
2001年秋季笔试题及上机题
一、选择题
21、均为非法常量的是 (21) 。
A. –0x18,01177,0xf B. ‘\\’,’\01’,12,456
C. ‘as’,-0fff,’\0xa’ D. 0xabc,’\0’,”a”
22、以下程序的运行结果是 (22) 。
#include”stdio.h”
#define PI 3.14
#define F(y) ((y)*(y))
#define P(a) printf(“%d”,a)
main( )
{ int x=PI;P(F(1+2)*x);}
A.10 B.25 C.15 D.27
23、int s[2]={0,1},*p=s;错误的是 (23) 。
A. s++; B. p++; C.*p++; D.(*p)++;
24、下列正确的声明说明语句是 (24) 。
A. float m=15,n=4,q=m%n;
B. static int y[16/2];
C. char p[2][]={“DOS”,”WINDOWS”};
D. char *p[]={“DOS”,”WINDOWS”,”UNIX”};
25、a,b是不等的整数,(a/b)*b+a%b的值为 (25) 。
A. a B. b C. a被b除的余数 D. a被b除商的整数部分
26、int i,j; 执行: j=(i=1,i+9)>9? i++||++i:++i;后,i,j的值为 (26) 。
A.10,10 B。2,2 C。2,3 D。2,1
27、填空处应填 (27) 。
A.search(c[3][4],12,8) B. search(&c[0][0],12,8)
C. search(&c,12,8) D. search(**c,12,8)
int sarch(int x[ ],int n,int k)
{ int j;
for(j=0;j<n;j++)if(x[j]= =k)return j;
return –1;
}
main( )
{ int k,c[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
if( ___!=-1)printf(“found”);
else printf(“not found”);
}
28、struct{ int x,y;}c[3]={ {1,2},{2,3}};正确的语句是 (28) 。
A. C[2]={3,4};
B. C[2]=C[1];
C. C[2]=C[1]-C[0];
D. if(c[1]>c[0])c[2]=c[1];else c[2]=c[0];
29、表达式值为3的是 (29) 。
struct s
{ int d;
struct s *next;};
static struct s a[3]={1,&a[1],2,&a[2],3,&a[0]}, *ptr=&a[0];
A.ptr->d B.(ptr->next)->d C.(ptr+1)->next->d D.(ptr+2)->next->d
30、以下程序的输出是 (30) 。
main( )
{ static char c[][6]={“QUICK”,”FOX”,”JEMP”,”DAZY”};
static char *cp[]={c[0],c[1],c[2],c[3]}, **cpp=cp;
printf(“%c”, **++cpp);
}
A. F B. O C. A D.E
二、填空题
l 基本概念(共5分)
1、 函数值通过 (1) 语句返回 (2) 类型的函数没有返回值,故不能作为表达式分量。
2、 执行int b[3]={0,1,2};b[2]=b[(b[0]=2)+b[1]-1]-2;后,b[0]、b[1]、b[2]的各元素值为: ( 3) 。
3、 执行下列程序后,s中的字符串为: (4) 。
#include”stdio.h”
main( )
{ FILE *fp;float x=-1.2;char s[11]={0};
fp=fopen(“a.dat”,”w+”);
fprintf(fp,”%6.3f”,x);
rewind(fp);
fgets(s,10,fp);
puts(s);
fclose(fp);}
4、 变量b的初值为: (5) 。
int a[][4]={1,2,3,4,5,6,7,8,9}, *p=&a[1][0],b= *(p-2)+ *(p+2)- *(p+5);
l 阅读程序题(共7分)
5、 以下程序的输出为: (6) 。
main( )
{ int i=0,j=10,k=2,s=0;
for(;i<=j;){i+=k++;s=s+i;}printf(“%d\n”,s);
}
6、 以下程序的输出为: (7) 。
void trans(int m,int n)
{ int q;
if(m/n) trans(m/n,n);
if((q=m%n)<10)printf(“%c”,q+’0’);
else printf(“%c”,q-10+’a’);
}
main( )
{ printf(“\n”);trans(35,12);}
7、 以下程序的输出为: (8) 。
int func(int m)
{ static int k=1;
while(m)k*=m--;
return k;
}
main( )
{ int i,j;
i=func(3);
j=func(5);
printf(“%d %d\n”,i,j);
}
8、 以下程序的输出第一行为: (9) 第二行为: (10)
void rev(int *p,int n)
{ int t;
if(n>1)
{ t=p[0];p[0]=p[n-1];p[n-1]=t;
rev(p+1,n-2);}
}
main( )
{ int j,a[5]={1,2,3,4,5};
rev(a+1,4);
for(j=0;j<5;j++)printf(“%d”,a[j]);
printf(“\n”);
rev(a,3);
for(j=0;j<5;j++)printf(“%d”,a[j]);
}
9、 以下程序的输出第一行为: (11) 第三行为: (12) 。
main( )
{ int a[4][4]=
{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},j,k;
for(j=1;j<4;j++)
{ for(k=0;k<4;k++)
{ if(j>k+1)continue;
if(j<k)break;
printf(“%d,”,a[j][k]);
}
printf(“\n”);
}
}
l 完善程序(共18分)
10、 用递推法计算一级数的近似值,直到:| x(2n+1)/n! |<1e-6为止。级数:
x-x3/(3*1!)+x5/(5*2!)-x7/(7*3!)+….+x(2n+1)/((2n+1)*n!)+…..
#include<stdio.h>
#include<math.h>
float g(float x)
{ float t=x,sum=t,s=1;int n=0;
while( (13) >1e-6)
{ n++;
s=-s;
t=t* (14) ;
sum=sum+s*t/ (15) ;
}
return sum;
}
main( )
{ float x;
scanf(“%f”,&x);printf(“s=%f”,g(x));
}
11、 下列程序中函数mfgets实现了库函数fgets的功能,既从指定的文件中读一行字符(遇到回车符或文件结束符时,在该字符前出现的全部字符既为一行字符),保存到参数line指定的地址开始的内存单元中,函数返回值为保存已经读入的字符串的首地址。
#include<stdio.h>
char *mfgets(char *line, (16) )
{ char ch, *str=line;
while((ch=fgetc(fp))!=EOF&&ch!=’\n’)
(17) =ch;
*str=’\0’;
return ((str= =line)?NULL: (18) );
}
main( )
{ FILE *fp;
char s[11];
fp=fopen(“a.dat”,”r”);
printf(“%s”,mfgets(s,fp));fclose(fp);
}
12、 将1~20的自然数围成一圈,使其相邻的两数之和均为素数,程序中数组a存放1~20中的奇数,数组b存放1~20中的偶数,数组c存放最后结果(既满足上述性质的圈)。程序首先将1(奇数)放入c,从b中选一偶数放入c中,使相邻两数之和为素数;然后再从a中选一奇数放入c,使相邻两数之和为素数,重复此过程直到c中放满为止。
int pr(int n) /*判断n是否为素数*/
{ int i,flg=1;
for(i=2;j<=n/2;i++)if(n%i= =0) (19) ;
return flg;
}
int s(int x[],int m,int i) /*在x[1]至x[i]中找到一个数与m之和为素数*/
{ int f=1,n=0;
while( (20) )
if(x[i]= =0)
i--;
else
{ n=x[i];
if( (21) )
{x[i]=0;f=0;}
else i--;}
if(i>0)return n;else return 0;
}
main( )
{int a[11],b[11],c[21],i,j,k,m,n;
for(i=1;i<=10;i++){a[i]=2*i-1;b[i]=2*i;}
c[1]=a[1];m=c[1];a[1]=0;j=2;
whike(j<=20)
{ if(m%2)n=s(b,m,10);else n=s(a,m,10);
if(n>0){c[l]=n;k++; (22) ;}
else { printf(“fail!\n”);exit(0);}
}
if(pr(c[1]+n))
{ printf(“\n success!”);
for(j=1;j<=20;j++)printf(“%d “,c[j]);
}
else printf(“fail!\n”);
}
13、 以下程序从文件in.dat中读入一组整数,其中每个整数代表一个字符串(例如,10代表字符串”for”),用查表方法将所有读入的整数转换成对应的字符串,按顺序存放在数组text中并输出。
struct{
int code;char str[10];}tab[10]=
{ 10,”for”,11,”while”,12,”do”,13,”if”,14,”else”,15,”switch”,16,”break”,17,”goto”,18,”case”,19,”continue”};
main( )
{ FILE *fp;
int n,loc,j; char text[80], *pt= (23) ;
fp=fopen(“in.dat”,”r”);
if(fp= =NULL)exit(1);
while(!feof(fp))
{ fscanf(fp,”%d”,&n);loc=find(n);
if(loc>=0)
{strcat(pt,tab[loc].str);
pt+= (24) ;
}
}
*pt=’\0’;puts(text);
}
int find(int n) /*折半查找法*/
{ int low=0,high=9,mid;
while(low<=high)
{ mid=(low+high)/2;
if(n= =tab[mid].code)
return mid;
else
if(n>tab[mid].code)low= (25) ;
else high=mid-1;
}
(26) ;
}
14、 设链表上的结点的数据结构定义如下:
struct node
{ int x;
struct node *next;};
假设已经建立了一个链表,h为链首指针。函数deladd的功能是:若链表上能找到结点的x值为value,则从链表上删除该结点(假定链表上的各个结点的值是不同的);否则构造一个新结点,其值为value,并将新结点插入链尾。该函数要求返回新链表的首指针。struct node *deladd(struct node *h,int value)
{ struct node *p1, *p2;
int flag=0;
p1=p2=h;
while(p1&&flag= =0)
{if(p1->x= =value)
{ flag=1;
if(p1= =h)
{ h= (27) ;free(p1);}
else
{ p2->next= (28) ; free(p1);}
else
{ p2=p1;p1= (29) ;}
}
if(flag= =0)
{ p1=(struct node *)malloc(sizeof(struct node));
p1->x=value;p1->next=0;
if(h= =0)
h=p1;
else (30) ;
}
return h;
}
2001年秋上机试卷
一、改错题
【题目】
下面的程序判断一个正整数是否为降序数,再打印组成该整数的每个字符。
设正整数m=d0d1d2d3…d k-1,若满足d i >=d i+1,i=0,1,…,k-2,则m就是一个降序数,如21、433是两个降序数。
含有错误的源程序如下:
void main()
{int num,k,di,n,isdec;
long m;
char digit[10];
scanf("num=%d",num);
for(;num>0;num--)
{n=0;isdec=1;k=0;
scanf("%ld",&m);
while(m!=0)
{di=m%10;
digit[n++]=m%10;
m=m/10;
if(k<=di)k=di;
else isdec=0;
}
for(;n>=0;n--)
{putchar(digit[n]); putchar(' ');}
if(isdec)printf(" is decrea order number\n");
else printf("is not decrea order number\n");
}
}
【要求】
1.将上述程序录入到文件myf1.c中,然后根据题目的要求以及程序中语句之间的逻辑关系对程序中的错误进行修改。
2.改错时,可以修改语句中的一部分内容,调整语句的次序,增加少量的变量说明或编译预处理命令,但不能增加其他语句,也不能删去整条语句。
3.改正后的源程序myf1.c保存在考试盘的根目录下,供阅卷用,否则不予评分。
二、编程题
【题目】
程序功能:将一字符串做压缩处理。
编程要求:
1.编写一个函数int compress (char s[ ]),将s中连续出现的多个相同字符压缩成一个字符,统计被删除的字符个数,并返回被删除的字符个数。
2.编写主函数main。从键盘上读入一行字符数据放入一个字符型数组中,调用compress函数对该字符数组中的字符做压缩处理,将压缩后的字符串写入结果文件myf2.out中。
3.用以下数据测试程序:
@@@@@@ I wwillll successful &&&&&& and you too !!!!!! ##########
【要求】
1.将源程序文件取名为myf2.c,输出结果文件取名为myf2.out。
2.数据文件的打开、使用和关闭均用C语言标准库中缓冲文件系统的文件操作函数实现。
3.源程序文件和运行结果文件均需保存在考试盘的根目录下,供阅卷用。
4.不要复制扩展名为OBJ和EXE的文件到考试盘上。
2002年春季笔试题及上机题
一、 选择题
21、以下标识符中, (21) 不能作用户标识符。
A、scanf B、for C、_sum D、F2
22、已有声明语句“”,与表达式char ch=’B’的值不相同的表达式是 (22) 。(字符A的ASCII码以十进制表示为65)
A、ch=0x42 B. Ch=0102 C. ch=’\102’ D. ch=066
23、若要对a进行++运算,则a应具有以下说明 (23) 。
A. int a[3][2] B. Char *a[ ]={“12”,”ab”};
C. int b[10], *a=b; D. Char (a)(char)
24、以下对于break语句使用的正确陈述是 (24) 。
A、任何位置 B、循环或switch结构中
C、只在switch结构中 D、只在循环结构中
25、若有声明“int a=5,b=4,c=3,*p=&a;”,则下列 (25) 表达式语句是正确的。
A. ( *p)++=c; B. *(*p)++;
C. printf(a%4= =0?”%3d\n”:”%3d”,*p);
D.a>20?return *p-20:return *p-1;
26、设“int x=2,y=3,z=(++x<=y--)?((--y= =1)?y--:--y):y--;”,则x,y,z的值为 (26) 。
A. 3,0,1 B. 2,0,0 C. 3,1,1 D. 2,2,1
27、下列程序的运行结果 (27) 。
A. 45 B. 33 C. 17 D. 27
main( )
{ static int a[3][3]={1,3,5,7,9,11,13,15,17},y,x,*p=&a[2][2];
for(x=0;x<3;x++)y+=*(p-4*x);
printf(“\n%d”,y); }
28、设有函数f的定义如下:
Void f(int x,int *y)
{ y=x*x*x;}
main( )
{ int j,c[4]={1,2,3,4},s[4]={0};
for(j=0;j
展开阅读全文