资源描述:
《数组、指针、函数、结构体总复习.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一维数组定义:inta[10];注意:[]是数组的特征:inta(10);错误长度不能省略,(除非定义时直接初始化),长度一定是整型常量,不可为变量。constintN=8;inta[N];#defineN8inta[N];错误正确一维数组初始化(如果数组不初始化,值为不定值)inta[10]={23,78,99};注意:数组名是一个常量指针,保存数组的首地址。数组名不能被赋值。inta[]={23,78,99},b[3],*p=b;a=p;a++;错误一维数组元素的引用a[i]或*(a+i
2、)注意:下标从0开始,下标值可以是常量和变量、表达式。数组元素的输入scanf(“%d”,&a[i]);scanf(“%d”,a+i);//特殊地scanf(“%d”,a);//输入元素a[0]的值数组元素的输出printf(“%d”,a[i]);printf(“%d”,*(a+i));二维数组定义:inta[3][2];初始化:inta[][2]={1,2,3,4,5,6,7,8};指针指针变量的定义inti,*p=&i;//p用于存储地址值注意:P=100//错误指针的运算*pp=&i;
3、指针指向数组时:p+n、p-n、p++、p--、比较运算指针指向数组时,数组元素的表示:设inta[10],*p=a;则a[1]可表示为:*(a+1)p[1]*(p+1)例pa.c#include"stdio.h"main(){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",*p,*q);}字符串以‘ ’结束的字符的组合。字符串的存储使用字符数组存储字符串的操作strlen?“
4、abcd efg”strcpystrcatstrcmpgetsPuts例string.cmain(){char*p1,*p2,str[50]="ABCDEFG";p1=“abcd”;p2="efgh";strcpy(str+1,p2+1);strcpy(str+3,p1+3);printf("%s",str);}main(){charstrl[]="Howdoyoudo",*p1=strl;strcpy(strl+strlen(strl)/2,"esshe");printf("%s",pl
5、);}结构体structstudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];};structstudentst1,*pst=st1,st[5];st[0].agest1.namepst->sex函数定义声明和调用。递归函数与数组(定义形参为数组的函数时,需要两个参数,后一个说明数组的长度)函数与指针指针函数函数指针指针作函数参数函数与结构体变量的作用域和生存期以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算
6、出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。请填空。main(){floatx[1000],sum=0.0,ave,a;intn=0,i;printf("Entermark:");scanf("%f“,&a);while(a>=0.0&&n<1000){sum+【】;x[n]=【】;n++;scanf("%f",&a);}ave=【】;printf("Output:");printf("ave=%f“,ave);for(i=0;i7、%f”,x[i]);}fun3(intx){staticinta=3;a+=x;return(a);}main(){intk=2,m=1,n;n=fun3(k);n=fun3(m);printf("%d",n);}main(){union{unsignedcharc;unsignedinti[4];}z;z.i[0]=0x39;z.i[1]=0x36;printf("%c",z.c);}注意:平时的作业必须认真对待!祝大家考试顺利!