sizeof運算符以字節爲單位返回其操做數的大小(在c中,1個字節被定義爲char類型所佔用空間的大小。在過去,一個字節一般是8位,可是一些字符集可能使用更大的字節)ide
sizeof實例程序:ui
#include<stdio.h> int main() { int n=0; size_t intsize; intsize=sizeof(int);//c規定sizeof返回size_t類型的值,這是一個無符號整數類型,但不是一個新類型, printf("n=%d,n has %u bytes:all ints have %u bytes.\n",n,sizeof n,intsize);//個人系統%zd沒法實現,因此用%u(%lu)來替代。 return 0; //c有個typedef機制,它容許您爲一個已有的類型建立一個別名。如:typedef double real; 使得real 稱爲duble 的別名,real deal;編譯器看到real,回想起typedef 語句把real定義爲double的別名,因而把deal建立爲一個double類型的變量。 }
運行結果:this
二、取模運算:while()循環:
blog
實例程序以下:get
//min_sec.c把秒數轉換爲分鐘和秒 #include<stdio.h> #define SEC_PRE_MIN 60 int main() { int sec=60; int min,left; printf("please convert seconds into minutes and seconds.\n");/*注意此處/n不可缺一部分,我忘記了n,只有/程序 就一直編譯報錯。*/ printf("enter the number of the seconds(<=0 to quit):\n"); while(sec<=1000) { sec=sec+100; min=sec/SEC_PRE_MIN;//獲得分鐘數; left=sec%SEC_PRE_MIN;//取模運算獲得秒數; printf("%d seconds is %d minuts and %d seconds.\n",sec,min,left); } printf("please stop convert!\n"); return 0; }
運形結果:編譯器
三、
it
Profix前綴模式++i就徹底等價於i=i+1;先加1後賦值。因此顯而易見,i++就是先賦值後加1;--等同。io
四、本章總結,用一個綜合的例子來結尾,其中要注意的問題,就是程序必定要細心,不可犯低級錯誤,打錯忘定義之類的!
編譯
實例程序以下:class
//綜合示例程序:running.c #include<stdio.h> #define S_PER_M 60//每分鐘的秒數 const int S_PER_H =3600;//每小時的秒數 const double M_PER_K =0.62137;//每千米的英里數 int main(void) { double distk,distm;//分別以千米和英里記得跑過的距離 double rate;//以英里每小時位單位的平均速度 int min,sec;//跑步時用的分鐘數和秒數 double mtime;//跑完一英里所用的時間以秒記 int mmin,msec,time;//跑完一英里所用的時間,以分鐘、秒記 printf("this program converts your time for a metric race\n"); printf("to a time for running a mile and to your average\n"); printf("speed in miles per hour.\n"); printf("please enter the kilometers, the distance run .\n"); scanf("%lf",&distk);//lf表示讀取一個double 類型的數值 printf("Next enter your time in minuts and seconds.\n"); printf("begin by entering the minutes.\n"); scanf("%d",&min); printf("now enter the seconds. \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("you ran %1.2f km (%1.2f miles)in %d min,%d sec.\n",distk,distm,min,sec); printf("that pace corresponds to running a mile in %d min,",mmin); printf("%d sec.\n your average speed was %1.2f mph.\n",msec,rate); return 0; }
運行結果以下: