版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
8.1指针变量地址内容intx;x=3;printf(“%d”,x;)x20013px30002001直接访问:通过变量名直接访问地址间接访问:把变量的地址放到另一变量中,使用时先找到后者的地址,从中取出前者的地址指针变量地址另一变量的地址第1页/共88页第一页,共89页。变量地址内容x20013px30002001指针变量地址另一变量的地址指针变量:存放地址的变量某个变量的地址指向指向intx;x=3;printf(“%d”,x;)第2页/共88页第二页,共89页。8.1.1指针变量的定义指针变量所指向变量的类型int*px;px是整型指针,指向整型变量float*pf;pf是浮点型指针,指向浮点型变量char*pc;pc是字符型指针,指向字符型变量类型名*指针变量名;第3页/共88页第三页,共89页。类型名*指针变量名;int*p1,*p2;等价于int*p1;int*p2;int*px;注意:指针变量名是px,不是*px
第4页/共88页第四页,共89页。8.1.2指针的基本操作*p:p所指向的变量aa3&ap*p1、&和*&取地址运算符*指针运算符(间接访问运算符)int*p,a=3;p=&a;把a的地址赋给p,即p指向a第5页/共88页第五页,共89页。a3&ap*p输入57输出:3,35,57,710,10main(){inta=3,*p;p=&a;printf(“%d,%d\n”,a,*p);scanf(“%d”,&a);printf(“%d,%d\n”,a,*p);scanf(“%d”,p);printf(“%d,%d\n”,a,*p);*p=10;printf(“%d,%d\n”,a,*p);}例8.1指针运算第6页/共88页第六页,共89页。b10&bp2*p2输出:100,10100,10a100&ap1*p1main(){inta,b;int*p1,*p2;a=100;b=10;p1=&a;p2=&b;printf(“%d,%d\n”,a,b);printf(“%d,%d\n”,*p1,*p2);}例8.2指针运算第7页/共88页第七页,共89页。a3&ap*p指针运算注意事项(1)当p=&a后,*p与a相同。(2)int*p;定义*p=10;p所指向的变量(3)&*p与&a相同,是地址*&a与a相同,是变量第8页/共88页第八页,共89页。a3&ap*p当p=&a时(4)(*p)++等价于a++
将p所指向的变量值加1*p++等价于*(p++)
先取*p,然后p自加,此时p不再指向a第9页/共88页第九页,共89页。2、赋值=a3&ap1p2=p1;p2也指向a&ap2*p1
*p2int*p1,*p2,a=3;p1=&a;
把a的地址赋给p1,即p1指向a第10页/共88页第十页,共89页。输出:10,100例8.3指针赋值main(){inta,b;int*p1,*p2;a=100;b=10;p1=&a;p2=p1;p1=&b;printf(“%d,%d\n”,*p1,*p2);}b10p1a100p2第11页/共88页第十一页,共89页。8.1.3指针变量的初始化例8.4-1voidmain(){ inta=1,b=2;int*p1=&a,*p2=&b,*pt;
printf(“%d,%d\n”,*p1,*p2);pt=p1;p1=p2;p2=pt;printf(“%d,%d\n”,*p1,*p2);}b2&bp2a1&ap1b2&ap2a1&bp1第12页/共88页第十二页,共89页。8.1.3指针变量的初始化例8.4-2voidmain(){ inta=1,b=2;int*p1=&a,*p2=&b,t;
printf(“%d,%d\n”,*p1,*p2);t=*p1;*p1=*p2;*p2=t;printf(“%d,%d\n”,*p1,*p2);}b2&bp2a1&ap1b1&bp2a2&ap1第13页/共88页第十三页,共89页。8.1.4指针作为函数的参数swap1(intx,inty){intt; t=x;x=y;y=t;}输出:3,5a35bx35yx53y例8.5main(){inta=3,b=5;swap1(a,b);printf(“%d,%d\n”,a,b);}第14页/共88页第十四页,共89页。swap2(int*p1,int*p2){intt; t=*p1;*p1=*p2;*p2=t;}输出:5,335abp1p25335值传递,地址未变,但存放的变量的值改变了main(){inta=3,b=5;swap2(&a,&b);printf(“%d,%d\n”,a,b);}第15页/共88页第十五页,共89页。swap3(int*p1,int*p2){int*p; p=p1;p1=p2;p2=p;}35abp1p2值传递,形参指针的改变不会影响实参main(){inta=3,b=5;swap2(&a,&b);printf(“%d,%d\n”,a,b);}输出:3,5第16页/共88页第十六页,共89页。swap2(int*p1,int*p2){intt; t=*p1;*p1=*p2;*p2=t;}main(){inta=3,b=5;swap2(&a,&b);……}
要使某个变量的值通过函数调用发生改变(1)在主调函数中,把该变量的地址作为实参(2)在被调函数中,用形参(指针)接受地址(3)在被调函数中,改变形参(指针)所指向变量的值第17页/共88页第十七页,共89页。例8.6-1指针作为函数的参数voidp(int*a,intb){*a=*a-1;b++;}voidmain(){intx=3,y=5;p(&x,y);printf("%d,%d\n",x,y);}调用前main:x=3,y=5调用p:*ab3526调用后main:x=2,y=5将变量的地址作为实参,调用后,该变量的值可能改变第18页/共88页第十八页,共89页。例8.6-2voidp(int*a,intb){*a=*a-1;b++;}voidmain(){intx=3,y=4;p(&y,x);printf("%d,%d\n",x,y);}调用前main:x=3,y=4调用p:*ab4334调用后main:x=3,y=3第19页/共88页第十九页,共89页。例8.6-3voidp(int*a,intb){*a=*a-1;b++;}voidmain(){intx=3,y=5;p(&x,y);printf("%d,%d\n",x,y);p(&y,x);printf("%d,%d\n",x,y);}调用前main:x=3,y=5第1次调用p:*ab3526调用后main:x=2,y=5第2次调用p:*ab5243调用后main:x=2,y=4第20页/共88页第二十页,共89页。例7-9自定义函数dayofyear(year,month,day),返回该年的第几天。dayofyear(2000,3,1)返回61dayofyear(1981,3,1)返回60分析:月0123……1112非闰年03128313031闰年03129313031inttab[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31}{0,31,29,31,30,31,30,31,31,30,31,30,31}}第21页/共88页第二十一页,共89页。例7-9voiddayofyear(intyear,intmonth,intday){intk,leap;inttab[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31}{0,31,29,31,30,31,30,31,31,30,31,30,31}};leap=(year%4==0&&year%100!=0)||year%400==0;for(k=1;k<month;k++)day=day+tab[leap][k];returnday;}第22页/共88页第二十二页,共89页。例8-7输入年和天数,输出对应的月和日。例如:输入2000和61,输出3和1。自定义函数monthday(year,yearday,pmonth,pday)带回2个结果,用2个指针作为函数的参数。voidmain(){intday,month,year,yearday;voidmonth_day(intyear,intyearday,int*pmonth,int*pday);printf("inputyearandyearday\n");scanf("%d%d",&year,&yearday);month_day(year,yearday,&month,&day);printf("%d-%d\n",month,day);}第23页/共88页第二十三页,共89页。例8-7voidmonth_day(intyear,intyearday,int*pmonth,int*pday){intk,leap;inttab[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};leap=year%4==0&&year%100!=0||year%400==0;for(k=1;yearday>tab[leap][k];k++)yearday=yearday-tab[leap][k];*pmonth=k;*pday=yearday;}第24页/共88页第二十四页,共89页。8.2指针和数组8.2.1指针、数组、地址间的关系8.2.2数组名做为函数的参数第25页/共88页第二十五页,共89页。8.2.1指针、数组、地址间的关系指针和数组有密切的关系任何由数组下标来实现的操作都能用指针来完成。
inta[10];a[0]a[1]a[9]a[i]数组名是一个指针它的值是数组首元素的地址即它指向数组的首元素a第26页/共88页第二十六页,共89页。int*ap;ap=&a[0];ap指向数组a的首元素a[0]a[1]a[9]a[i]aa+1a+ia+9*(a+i)&a[i]或:
ap=a;ap,ap+i,*(ap+i)a[i]的地址&a[i]a+i、ap+ia[i]相当于*(a+i)*(ap+i)、ap[i]第27页/共88页第二十七页,共89页。a[0]a[1]a[9]a[i]aa+1a+ia+9*(a+i)&a[i]ap,for(i=0;i<10;i++)printf(”%d”,*(a+i))for(ap=a;ap<a+10;ap++)printf(”%d”,*ap)注意:数组名a是指针常量,不能a++for(i=0;i<10;i++)printf(”%d”,a[i])例:输出数组a所有元素第28页/共88页第二十八页,共89页。1、数组元素作为函数实参函数形参为变量(与变量作为函数实参相同,值传递)2、数组名作为函数参数由于数组名是指针常量,相当于指针作为函数的参数数组名做为实参形参是指针变量(数组)8.2.2数组名作为函数的参数第29页/共88页第二十九页,共89页。floataverage(float*array){inti;floataver,sum=0;for(i=0;i<10;i++)sum+=array[i];aver=sum/10;return(aver);}main(){floatscore[10],aver;inti;for(i=0;i<10;i++)scanf(“%f”,&score[i]);aver=average(score);printf("%f\n",aver);}(1)实参是数组名(2)形参是指针变量可以写成数组形式可以不指定长度floatarray[10]例8.8求平均分floatarray[]第30页/共88页第三十页,共89页。floataverage(float*array){inti;floataver,sum=0;for(i=0;i<10;i++)sum+=array[i];aver=sum/10;return(aver);}main(){floatscore[10],aver;inti;for(i=0;i<10;i++)scanf(“%f”,&score[i])aver=average(score);printf("%f\n",aver);}score
score[0]score[9]array*(array+i)第31页/共88页第三十一页,共89页。(3)若在函数中只处理部分数组元素,用参数指定个数floataverage(float*array,intn){inti;floataver,sum=0;for(i=0;i<n;i++)sum+=array[i];aver=sum/n;return(aver);}main(){floatscore[20],aver;inti;for(i=0;i<20;i++)scanf(“%f”,&score[i]);aver=average(score,20);printf("%f\n",aver);}第32页/共88页第三十二页,共89页。(4)数组名做为函数的参数,在函数调用时,将实参数组首元素的地址传给形参(指针变量),因此,形参也指向实参数组的首元素。如果改变形参所指向单元的值,就是改变实参数组首元素的值。或:形参数组和实参数组共用同一段存贮空间,如果形参数组中元素的值发生变化,实参数组中元素的值也同时发生变化。score
score[0]score[9]array第33页/共88页第三十三页,共89页。例8.9冒泡法排序98888854408955554504559444605444966066666908000009相邻两个数比较,小的调到前面第34页/共88页第三十四页,共89页。i=1i=2i=3i=4i=5a[j]>a[j+1]j=0to4j=0to3j=0to2j=0to6-1-i98888854408955554504559444605444966066666908000009第35页/共88页第三十五页,共89页。
985460i=1j=0:895460j=1:859460j=2:854960j=3:854690j=4:854609main(){inti,j,n,t,a[10];n=6;for(i=0;i<n;i++)scanf("%d",&a[i]);for(i=1;i<n;i++)for(j=0;j<n-i;j++) if(a[j]>a[j+1]){ t=a[j]; a[j]=a[j+1]; a[j+1]=t; }}第36页/共88页第三十六页,共89页。main(){inti,a[10];;for(i=0;i<10;i++)scanf("%d",&a[i]);sort(a,10);for(i=0;i<10;i++)printf("%d",a[i]);printf("\n");}voidsort(int*array,intn){inti,j,t;for(i=1;i<n;i++)for(j=0;j<n-i;j++) if(array[j]>array[j+1]){ t=array[j]; array[j]=array[j+1]; array[j+1]=t; }}第37页/共88页第三十七页,共89页。8.3指针和字符串8.3.1常用的字符串处理函数8.3.2字符串的指针表示8.3.3字符数组和字符指针第38页/共88页第三十八页,共89页。8.3.1常用的字符串处理函数1、使用printf函数和scanf函数输入输出字符串用%s格式,将字符串一次性输入输出staticcharstr[20]=“Hello”;⑴输出printf("%s","Hello");printf("%s",str);注意:遇到‘\0’,输出结束for(i=0;str[i]!=‘\0’;i++)putchar(str[i]);字符数组名输出:HelloHello第39页/共88页第三十九页,共89页。⑵输入scanf("%s",str);注意:①输入参数使用数组名,不加地址符。②遇到回车或空格,输入结束,并自动在末尾加‘\0’。How\0输入Howareyou?
str中:while((str[i]=getchar())!=‘’)i++;s[i]=‘\0’;第40页/共88页第四十页,共89页。③输入多个用空格分隔的字符串
chars1[20],s2[20],s3[20];scanf("%s%s%s",s1,s2,s3);s1:How\0are\0You?\0s2:s3:字符串可以一次性输入输出一般的字符数组只能逐个字符输入输出输入Howareyou?
第41页/共88页第四十一页,共89页。2、字符串输出函数putsstaticcharstr[20]=“hello”;puts(str);输出:Helloputs(“World!”);输出:World!第42页/共88页第四十二页,共89页。输出:HelloWorld!puts(str)与printf(“%s”,str)的区别:
puts(str);《====》printf("%s\n",str);自动将结束符‘\0’转换成'\n'puts(“Hello”);puts(“World!”);
输出:HelloWorld!
printf(“%s”,“Hello”);printf(“%s”,“World!”);第43页/共88页第四十三页,共89页。
staticcharstr[20];gets(str);
字符数组名3、字符串输入函数gets△输入遇空格不结束,只有遇回车才结束。
gets(str);
输入:hello!
str中:hello!\0第44页/共88页第四十四页,共89页。gets(str)与scanf(“%s”,str)的区别:遇到回车或空格,输入结束例:gets(str);
输入:Howareyou?Str:Howareyou?\0scanf(“%s”,str);
输入:Howareyou?Str:How\0遇回车,输入结束第45页/共88页第四十五页,共89页。strcpy(str1,str2);将字符串str2复制到str1中
staticcharstr1[20];staticcharstr2[20]=“happy”;4、字符串复制函数strcpyhappy\0\0strcpy(str1,str2);happy\0str1中strcpy(str1,“world”);str1中:world\0第46页/共88页第四十六页,共89页。#include“stdio.h”#include“string.h”main(){charstr1[20],str2[20];gets(str2);strcpy(str1,str2);puts(str1);}输入:1234输出:1234第47页/共88页第四十七页,共89页。strcat(str1,str2);
连接两个字符串str1和str2,并将结果放入str1中。5、字符串连接函数strcat
第48页/共88页第四十八页,共89页。#include“stdio.h”#include“string.h”main(){charstr1[80],str2[20];gets(str1);gets(str2);strcat(str1,str2);puts(str1);}输入:Letusgo.输出:Letusgo.str1中:
Letus\0str2中:go.\0str1中:
Letusgo.\0第49页/共88页第四十九页,共89页。strcmp(str1,str2)比较两个字符串str1和str2的大小。规则:按字典序(ASCII码序)如果str1和str2相等,函数值是0;如果str1大于str2,函数值是正整数;如果str1小于str2,函数值是负整数;6.字符串比较函数strcmp第50页/共88页第五十页,共89页。如果str1和str2相等,函数值是0;如果str1大于str2,函数值是正整数;如果str1小于str2,函数值是负整数;staticchars1[20]=“china”;strcmp(“China”,“China”)strcmp(s1,“china”)正整数负整数0strcmp(s1,“China”)第51页/共88页第五十一页,共89页。#include“stdio.h”#include“string.h”main(){intres;chars1[20],s2[20];gets(s1);gets(s2);res=strcmp(s1,s2);printf(“%d”,res);}输入:12345输出:-4第52页/共88页第五十二页,共89页。利用字符串比较函数比较字符串的大小
strcmp(str1,str2);为什么定义这样的函数?因为str1>str2str1<“hello”str1==str2是非法的。strcmp(str1,str2)>0strcmp(str1,“hello”)<0strcmp(str1,str2)==0第53页/共88页第五十三页,共89页。strlen(str)计算字符串的有效长度,不包括‘\0’。staticcharstr[20]=“Howareyou?”strlen(“hello”)的值是:strlen(str)的值是:7.字符串长度函数strlen512第54页/共88页第五十四页,共89页。函数功能头文件puts(str)输出字符串stdio.hgets(str)输入字符串(回车间隔)strcpy(s1,s2)s2==>s1strcat(s1,s2)s1+s2==>s1strcmp(s1,s2)若s1==s2,函数值为0
若s1>s2,函数值>0string.h
若s1<s2,函数值<0strlen(str)计算字符串的有效长度,不包括‘\0’字符串处理函数小结第55页/共88页第五十五页,共89页。8.3.2字符串的指针表示1、用字符数组表示字符串staticcharsa[]=“Thisisastring.”;printf(“%s”,sa);printf(“%s”,“Hello”);sa[0]sa[1]sa[i]sa2、用字符指针表示字符串字符串是一个指针常量它的值就是该字符串的首地址第56页/共88页第五十六页,共89页。由于字符串是一个指针常量定义一个字符指针,接收字符串指针常量char*sp="Thisisastring.";printf("%s",sp);8.3.2字符串的指针表示staticcharsa[]=“Thisisastring.”;printf(“%s”,sa);printf(“%s”,“Hello”);第57页/共88页第五十七页,共89页。1、使用字符指针进行字符串操作实现字符串复制函数strcpy(s1,s2)8.3.3字符数组和字符指针voidstrcpy(chars1[],chars2[]){inti;for(i=0;s2[i]!='\0';i++)s1[i]=s2[i];s1[i]='\0';}voidstrcpy(chars1[],chars2[]){inti=0;while(s1[i]=s2[i])i++;}第58页/共88页第五十八页,共89页。用字符指针实现字符串复制函数strcpy(s1,s2)voidstrcpy(chars1[],chars2[]){inti=0;while(s1[i]=s2[i])i++;}voidstrcpy(char*s1,char*s2){while(*s1=*s2){s1++;s2++;}}voidstrcpy(char*s1,char*s2){while(*s1++=*s2++);}数组:改变下标指针:直接改变指针第59页/共88页第五十九页,共89页。实现字符串长度函数strlen(str)intstrlen(charstr[]){inti=0;while(str[i]!='\0’)i++;returni;}intstrlen(char*str){char*t=str;while(*str!='\0’)str++;returnstr-t;}第60页/共88页第六十页,共89页。实现字符串比较函数strcmp(s1,s2)intstrcmp(chars1[],chars2[]){inti;for(i=0;s1[i]!='\0';i++)if(s1[i]!=s2[i])break;returns1[i]-s2[i];}strcmp(char*s1,char*s2){for(;*s1!='\0';++s1,++s2)if(*s1!=*s2)break;return(*s1-*s2);}第61页/共88页第六十一页,共89页。staticcharsa[]=“Thisisastring.”;字符数组sa由若干元素组成的,每个元素放一个字符,有确定的地址。char*sp=“Thisisastring.”;字符指针是一个接收字符串首地址的变量,不能将字符串放到字符指针变量中去。在对指针赋值前,它的值是不确定的。2、字符指针和字符数组的区别第62页/共88页第六十二页,共89页。staticcharsa[]=“Thisisastring.”;char*sp=“Thisisastring.”;staticcharsa[80];char*sp;数组,指针常量,有确定的地址指针,变量strcpy(sa,“Thisisastring.”)sa=“Thisisastring.”;sp=“Thisisastring.”;第63页/共88页第六十三页,共89页。#include"stdio.h"main(){staticcharsa[]=“string”;/*设sa的值2000*/char*sp;/*设sp的值1fff*/printf("\nsa=%x,sp=%x\n",sa,sp); sp=sa; printf("sa=%x,sp=%x\n",sa,sp); printf("%s,",sa); printf("%s\n",sp);}输出:2000,1fff2000,2000string,string例8.10第64页/共88页第六十四页,共89页。#include"stdio.h"main(){charsa[80];/*设sa的值2000*/ char*sp=“Thisisastring”;/*设sp的值1fff*/ printf("\nsa=%x,sp=%x\n",sa,sp); strcpy(sa,sp); printf("sa=%x,sp=%x\n",sa,sp); printf("%s",sp);printf("%s\n",sp);}输出:2000,1fff2000,1fffstring,string第65页/共88页第六十五页,共89页。指针变量必须先定义,后使用。例如:char*p;scanf("%s",p);可能出现难以预料的结果而char*s,str[20]; s=str; scanf("%s",s);是正确的.第66页/共88页第六十六页,共89页。8.4指针数组和二级指针8.4.1指针数组8.4.2二级指针8.4.3指针数组和字符串第67页/共88页第六十七页,共89页。inti;inta[10];a是一个数组,它有10个元素,每个元素的类型都是整型。int*p;int*pa[10];pa是一个数组,它有10个元素,每个元素的类型都是整型指针。8.4.1指针数组第68页/共88页第六十八页,共89页。inta[10];a[0]a[9]a[i]aint*pa[10];
pa[0]pa[9]pa[i]pa第69页/共88页第六十九页,共89页。inti,j,k,m;int*pa[4];pa[0]=&i;pa[1]=&j;pa[2]=&k;pa[3]=&m;pa[0]papa[1]pa[2]pa[3]ijkm*pa[0]*pa[1]*pa[2]*pa[3]第70页/共88页第七十页,共89页。inti=1,j=2,k=3,m=4;int*pa[4]={&i,&j,&k,&m};pa[0]papa[1]pa[2]pa[3]ijkm*pa[0]*pa[1]*pa[2]*pa[3]1234for(n=0;n<4;n++)printf(“%x”,pa[n]);for(n=0;n<4;n++)printf(“%d”,*pa[n]);第71页/共88页第七十一页,共89页。inti=1,j=2,k=3,m=4;int*pa[4]={&i,&j,&k,&m};for(pp=pa;pp<pa+4;pp++)printf(“%x”,*pp);pp,*pp**pppa[0]papa[1]pa[2]pa[3]ijkm*pa[0]*pa[1]*pa[2]*pa[3]1234for(pp=pa;pp<pa+4;pp++)printf(“%x”,**pp);第72页/共88页第七十二页,共89页。inti=1,j=2,k=3,m=4;int*pa[4]={&i,&j,&k,&m};如何定义pp*pp**pppp,pa[0]papa[1]pa[2]pa[3]ijkm*pa[0]*pa[1]*pa[2]*pa[3]1234int**pp;8.4.2二级指针(指向指针的指针)第73页/共88页第七十三页,共89页。main(){inta=10; int*p=&a,**pp=&p;printf("a=%d,*p=%d,**pp=%d\n",a,*p,**pp); *p=20; printf("a=%d,*p=%d,**pp=%d\n",a,*p,**pp); **pp=30;printf("a=%d,*p=%d,**pp=%d\n",a,*p,**pp);}&apa10&ppp*p*pp&&a**pp输出:a=10,*p=10,**pp=10a=20,*p=20,**pp=20a=30,*p=30,**pp=30第74页/共88页第七十四页,共89页。main(){inta=10,b=80; int*p=&a,**pp=&p;printf("a=%d,b=%d,*p=%d,**pp=%d\n",a,b,*p,**pp);
p=&b;printf("a=%d,b=%d,*p=%d,**pp=%d\n",a,b,*p,**pp);}&apa10&ppp*p*pp&&a**pp输出:a=10,b=80,*p=10,**pp=10a=10,b=80,*p=80,**pp=80&bpa10&ppp*pp&&bb80**pp*p第75页/共88页第七十五页,共89页。char*name[4]={“Wang”,“Li”,“Zhao”,“Jin”};8.4.3指针数组和字符串name[0]name“Wang”name[1]“Li”name[2]“Zhao”name[3]“Jin”printf(“%s\n”,name[0]);printf(“%c”,*name[0]);输出:WangW第76页/共88页第七十六页,共89页。
char*name[4]={“Wang”,“Li”,“Zhao”,“Jin”};name[0]name“Wang”name[1]“Li”name[2]“Zhao”name[3]“Jin”输出:WangLiZhaoJinfor(i=0;i<4;i++)printf(“%s”,name[i]);for(i=0;i<4;i++)printf(“%c”,*name[i]);输出:WLZJ第77页/共88页第七十七页,共89页。输入月,输出相应的英文名称。#include<stdio.h>main(){intmonth;scanf("%d",&month);if(month>=1&&month<=12)prnname(month);}例8.11第78页/共88页第七十八页,共89页。prnname(intm){char*name[]={"January","February","March","April","May","June","July","August","September","October","November","December"};printf("%3d:%s\n",m,name[m-1]);}name[0]name“January”name[1]“Fe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 售卖抵押手机合同范本
- 商品采购总包合同范本
- 名宿改造工程合同范本
- 原始创业开发合同范本
- 厂房股份分配合同范本
- 2025-2030智慧旅游平台资源整合服务模式市场竞争格局消费需求前景规划评估研究
- 兼职销售劳动合同范本
- 别墅设备租赁合同范本
- 共同买车协议合同模板
- 别墅白天出租合同范本
- 《诗经》中的《蒹葭》
- 2025年国企中层干部竞聘笔试题及答案
- 2025 康复科康复指南解读查房课件
- 2025年初级注册安全工程师考试练习题及答案解析
- 高职教育就业质量提升的机制与策略研究
- 军兵种知识课件
- 四川省绵阳市2024-2025学年下学期八年级期末数学试卷
- 车间异地班组管理办法
- 华硕电脑活动促销策划
- 会计师i事务所公司管理制度
- 商场商户装修管理课件
评论
0/150
提交评论