sizeof运算符以字节为单位返回其操作数的大小(在c中,1个字节被定义为char类型所占用空间的大小。在过去,一个字节通常是8位,但是一些字符集可能使用更大的字节)

sizeof实例程序:

#include<stdio.h>intmain(){intn=0;size_tintsize;intsize=sizeof(int);//c规定sizeof返回size_t类型的值,这是一个无符号整数类型,但不是一个新类型,printf("n=%d,nhas%ubytes:allintshave%ubytes.\n",n,sizeofn,intsize);//我的系统%zd无法实现,所以用%u(%lu)来替代。return0;//c有个typedef机制,它允许您为一个已有的类型创建一个别名。如:typedefdoublereal;使得real称为duble的别名,realdeal;编译器看到real,回想起typedef语句把real定义为double的别名,于是把deal创建为一个double类型的变量。}

运行结果:

2、取模运算:while()循环:

实例程序如下:

//min_sec.c把秒数转换为分钟和秒#include<stdio.h>#defineSEC_PRE_MIN60intmain(){intsec=60;intmin,left;printf("pleaseconvertsecondsintominutesandseconds.\n");/*注意此处/n不可缺一部分,我忘记了n,只有/程序就一直编译报错。*/printf("enterthenumberoftheseconds(<=0toquit):\n");while(sec<=1000){sec=sec+100;min=sec/SEC_PRE_MIN;//得到分钟数;left=sec%SEC_PRE_MIN;//取模运算得到秒数;printf("%dsecondsis%dminutsand%dseconds.\n",sec,min,left);}printf("pleasestopconvert!\n");return0;}

运形结果:

3、

Profix前缀模式++i就完全等价于i=i+1;先加1后赋值。所以显而易见,i++就是先赋值后加1;--等同。

4、本章总结,用一个综合的例子来结尾,其中要注意的问题,就是程序一定要细心,不可犯低级错误,打错忘定义之类的!

实例程序如下:

//综合示例程序:running.c#include<stdio.h>#defineS_PER_M60//每分钟的秒数constintS_PER_H=3600;//每小时的秒数constdoubleM_PER_K=0.62137;//每公里的英里数intmain(void){doubledistk,distm;//分别以公里和英里记得跑过的距离doublerate;//以英里每小时位单位的平均速度intmin,sec;//跑步时用的分钟数和秒数doublemtime;//跑完一英里所用的时间以秒记intmmin,msec,time;//跑完一英里所用的时间,以分钟、秒记printf("thisprogramconvertsyourtimeforametricrace\n");printf("toatimeforrunningamileandtoyouraverage\n");printf("speedinmilesperhour.\n");printf("pleaseenterthekilometers,thedistancerun.\n");scanf("%lf",&distk);//lf表示读取一个double类型的数值printf("Nextenteryourtimeinminutsandseconds.\n");printf("beginbyenteringtheminutes.\n");scanf("%d",&min);printf("nowentertheseconds.\n");scanf("%d",&sec);time=S_PER_M*min+sec;//把时间转换为全部用秒表示distm=M_PER_K*distk;//把公里转化为英里,rate=distm/time*S_PER_H;//时间/距离=跑完每英里的用时mtime=(double)time/distm;mmin=(int)mtime/S_PER_M;msec=(int)mtime%S_PER_M;printf("youran%1.2fkm(%1.2fmiles)in%dmin,%dsec.\n",distk,distm,min,sec);printf("thatpacecorrespondstorunningamilein%dmin,",mmin);printf("%dsec.\nyouraveragespeedwas%1.2fmph.\n",msec,rate);return0;}

运行结果如下: