3、nt{intx;inty;};可选的结构标记struct{intx;inty;};构造类型——结构体inta,b,c;声明类型的同时定义变量:struct{……}a,b,c;先声明类型,再定义变量structpoint{intx;inty;};structpointpt;例如:structpoint{intx;inty;}a,b,c[10];例、学生结构体structss{charname[10];intage;charsex;}std[3],*p=std;scanf("%d",&(*p).age);scanf("%s",std[0].n
4、ame);scanf("%c",&std[0].sex);scanf("%c",&(p->sex));指针访问方式:p->sex,p->age(*p).sex,(*p).age非指针访问方式:std[0].sexstd[1].agestd[2].nameC运算符算术运算符:(+-*/%++--)关系运算符:(<<===>>=!=)逻辑运算符:(!&&
5、
6、)位运算符:(<<>>~
7、^&)赋值运算符:(=及其扩展)条件运算符:(?:)逗号运算符:(,)指针运算符:(*&)求字节数:(sizeof)强制类型转换:((类型))分量运算符:(.->
8、)下标运算符:([])关于优先级的处理:善于使用括号。运算符优先级和结合性运算符结合性()[]->.从左到右!~++--+-*&(type)sizeof从右到左*/%从左到右+-从左到右<<>>从左到右<<=>>=从左到右==!=从左到右&从左到右^从左到右
9、从左到右&&从左到右
10、
11、从左到右?:从右到左=+=-=*=/=&=^=
12、=<<=>>=从右到左,从左到右例inta[4]={0,2,4,6},*p;p=&a[1];则下列结果分别为多少*--p,*++p,++*p,*p++*,++,--这样的一元运算,遵循从右至左的结合性自己写的st
13、rcpyvoidstrcpy(char*s,char*t){while(*s++=(___*t++____________________));}intmain(){charstr1[100],str2[]="abcdefgh";strcpy(str1,str2);printf("%s",str1);return0;}算术运算符和算术表达式算术运算符:+、-、*、/、%注意:两个整数相除,结果仍为整数,5/2结果为2%运算为模运算,操作数必须为整数,结果为余数,如5%2结果为1减号运算符“-”可以作为负值运算符,如–a算术运算符和算术
14、表达式若有定义:inta=8,b=5,c;,执行语句c=a/b+0.4;后,c的值为A)1.4B)1C)2.0D)2若x是单精度实型变量,表达式x=10/4的结果为A)2.5B)2.0C)3D)2intmain(){intp=30;printf("%d",(p/3>0?p/10:p%3));return0;}inti=0;intreset(inti){i=i<=2?5:0;return(i);}intmain(){inti=5;reset(i/2);printf(“%d”,i);reset(i=i/2);printf(“%d”
15、,i);return0;}i=5;inti;intreset(){i=i<=2?5:0;return(i);}intmain(){i=5;reset();printf(“%d”,i);i/