您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > 数组、指针、函数、结构体总复习
2020/2/1loop1一维数组定义:inta[10];注意:–[]是数组的特征:inta(10);错误–长度不能省略,(除非定义时直接初始化),长度一定是整型常量,不可为变量。constintN=8;inta[N];#defineN8inta[N];错误正确2020/2/1loop2一维数组初始化(如果数组不初始化,值为不定值)–inta[10]={23,78,99};注意:–数组名是一个常量指针,保存数组的首地址。–数组名不能被赋值。inta[]={23,78,99},b[3],*p=b;a=p;a++;错误2020/2/1loop3一维数组元素的引用–a[i]或*(a+i)注意:下标从0开始,下标值可以是常量和变量、表达式。数组元素的输入scanf(“%d”,&a[i]);scanf(“%d”,a+i);//特殊地scanf(“%d”,a);//输入元素a[0]的值数组元素的输出printf(“%d”,a[i]);printf(“%d”,*(a+i));2020/2/1loop4二维数组定义:inta[3][2];初始化:–inta[][2]={1,2,3,4,5,6,7,8};2020/2/1loop5指针指针变量的定义inti,*p=&i;//p用于存储地址值注意:–P=100//错误指针的运算*pp=&i;指针指向数组时:p+n、p-n、p++、p--、比较运算指针指向数组时,数组元素的表示:设inta[10],*p=a;则a[1]可表示为:*(a+1)p[1]*(p+1)例pa.c2020/2/1loop6#includestdio.hmain(){inta[]={1,2,3,4,5,6,7,8,9,10,11,12};int*p=a+5,*q=NULL;*q=*(p+5);printf(%d%d\n,*p,*q);}2020/2/1loop7字符串以‘\0’结束的字符的组合。字符串的存储–使用字符数组存储字符串的操作–strlen?“abcd\0efg”–strcpy–strcat–strcmp–gets–Puts例string.c2020/2/1loop8main(){char*p1,*p2,str[50]=ABCDEFG;p1=“abcd”;p2=efgh;strcpy(str+1,p2+1);strcpy(str+3,p1+3);printf(%s,str);}2020/2/1loop9main(){charstrl[]=Howdoyoudo,*p1=strl;strcpy(strl+strlen(strl)/2,esshe);printf(%s\n,pl);}2020/2/1loop10结构体structstudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];};structstudentst1,*pst=st1,st[5];st[0].agest1.namepst-sex2020/2/1loop11函数定义声明和调用。递归函数与数组(定义形参为数组的函数时,需要两个参数,后一个说明数组的长度)函数与指针–指针函数–函数指针–指针作函数参数函数与结构体变量的作用域和生存期2020/2/1loop12以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。请填空。main(){floatx[1000],sum=0.0,ave,a;intn=0,i;printf(Entermark:\n);scanf(%f“,&a);while(a=0.0&&n1000){sum+【】;x[n]=【】;n++;scanf(%f,&a);}ave=【】;printf(Output:\n);printf(ave=%f\n“,ave);for(i=0;in;i++)if【】printf(“%f\n”,x[i]);}2020/2/1loop13fun3(intx){staticinta=3;a+=x;return(a);}main(){intk=2,m=1,n;n=fun3(k);n=fun3(m);printf(%d\n,n);}2020/2/1loop14main(){union{unsignedcharc;unsignedinti[4];}z;z.i[0]=0x39;z.i[1]=0x36;printf(%c\n,z.c);}2020/2/1loop15注意:平时的作业必须认真对待!
本文标题:数组、指针、函数、结构体总复习
链接地址:https://www.777doc.com/doc-3392869 .html