【第二章】
表示式//*******運算子*********
/*[算術運算子]
1,+ - * / %(模擬運算子,取餘)
2 /(除號),
** [關係運算子]
1,==,!=,>,<,>=,<=
2,所有關係運算子,運算之後的結果只有真或者假兩種情況。
3在c語言中,0表示為假,一切非0數字表示真。
4 如果要便是兩個變數處於兩個數字之間(即1),那麼必須用&&來鏈結,即n>1&&n<10;
** [位運算子,邏輯運算子]
1,(1)&&邏輯與(兩個都為真才是真),
(2)||邏輯或(乙個是真就是真),兩個條件符合乙個就是真。
(3)!邏輯非
(4)按位與& 按位或| 左移<< 右移》
2,邏輯運算子的兩邊,只能是真或假
// printf("%d\n",1&&2); 真
** [賦值運算子]
1 =,+=,-=,*=,/=,%=
2賦值號「=」,把等號右邊的數值賦值給左邊。
【注釋】兩個==才表示判斷是否相等,乙個=表示賦值運算
3n+=5;相當於n=n+5,n-=5,兩個式子具有相同的作用,但是n+=5的寫法具有更好的效能,推薦使用這個方式;
** [單目運算子]
1,++,--,sizeof,*(指標),& 取位址
2,++ 自增運算子,將變數值+1;--自減運算子,將變數值-1;
》i++和++i的異同
1)相同點,不管是i++還是++i,在執行完**以後,都會把變數+1
2)不同點:i++是先用i的值去運算,再把i+1
++i是先把i+1,再用i+1以後的值去運算
》eg;
int i=5,j,k;
j=i++ +2;//j=7,i=6
k=++i +2;//i=7,k=9
printf("%d,%d,%d",i,j,k);
結果:7,7,9
int i=5,j,k;
j=i++ +2;
k=++j +2;
printf("%d %d %d",i,j,k);
結果為6 8 10
3,sizeof:計算長度,返回值型別為long ,單位為位元組。
printf("%ld\n",sizeof(int));
結果:4位元組
** [多目運算子]
1,a>b?true:false,// 當?前面為真的時候執行:前面的**,當?前面的為假的時候,執行:後面的**。
2,功能與if——else類似;
printf("%d\n",1>2?1:0);
t:int a,b,c,d,e,f;
printf("請輸入四位數字:");
scanf("%d",&e);
a=e/1000;
b=e%1000/100;
c=e%1000%100/10;
d=e%1000%100%10/1;
f=a+b+c+d;
printf("%d\n",f);
printf("%d的個位數字之和為:%d\n",e,f);
printf("%d",f>20?50:0);
(讓你輸入乙個四位數,先對各位分解,然後求和,和大於20 則有返利50,否則顯示0)。
** [if-else]
if(判斷條件)
else
》if(f>20)
else
//t: 輸入兩個數判斷大小
int x,y,z,w;
printf("輸入兩個數:");
scanf("%d %d",&x,&y);
z=4*x;
w=4*y;
if(x>y)
else
判斷ip位址是否合法
// int x,y,z,w;
// scanf("%d.%d.%d.%d",&x,&y,&z,&w);
//
// if(x>0&&x<=255,y>=0&&y<=255,z>=0&&z<=255,w>=0&&w<=255)
//
// else
輸入乙個字元是大寫就轉化成小寫,是小寫就轉化成大寫,非字母不轉換
char zimu;
printf("請輸入乙個字元:");
scanf("%c",&zimu);
if (zimu>=97&&zimu<=122)
else if (zimu>=65&&zimu<=90)
else
運算子例項輸入三種商品的**,若有乙個大於50,或者總額大於100,打折15%,否則折扣率0
float shangpin1,shangpin2,shangpin3,zonge,fukuan;
printf("請輸入三種商品的**:");
scanf("%f %f %f",&shangpin1,&shangpin2,&shangpin3);
zonge=shangpin1+shangpin2+shangpin3;
if(shangpin1>50||shangpin2>50||shangpin3>50||zonge>100)else
十進位制二進位制八進位制
十進位制10 轉換成2進製除以2 取餘數10/2=0 5/2=1 2/2=0 1
15>> 1111
【8421 碼】
0000
二進位制轉換成十進位制
【運算子的優先順序】()》!,++,--,sizeof(單目運算子)》*,%,/ 》+,- 》<,<=,>=,> 》==,!=》&&》|| 》= ,+=(n+=m n=n+m),-=,/+,%=
判斷是否為閏年:條件能被4整除但不能被100整除,除非能被400整除
int nianfen;
printf("輸入乙個年份:");
scanf("%d",&nianfen);
if(((nianfen/4==0)&&(nianfen/100!=0))&&(nianfen/400==0))
else
第一種方法
//int shi,fen,miao;
//printf("輸入乙個時間:");
//scanf("%d:%d:%d",&shi,&fen,&miao);
// if(shi==23&&fen==59&&miao==59)else if(fen==59&&miao==59)else if( miao==59 )else
第二種方法
int shi,fen,miao;
printf("輸入乙個時間:");
scanf("%d:%d:%d",&shi,&fen,&miao);
if( miao==59&&fen!=59&&shi!=23)
else if(miao==59&&fen==59&&shi!=23)
else if(miao==59&&fen==59&&shi==23)
else
int shi,fen,miao;
print("輸入乙個時間(xx:xx:xx):");
scanf("%d:%d:%d",&shi,&fen,&miao);
if(shi<0||shi>23||fen>59||fen<0||miao<0||miao>59)else if(miao<59)else if(fen<59)else if(shi<23)
C 語言學習 2
程式2 題目 企題目 企業發放的獎金根據利潤提成。利潤 i 低於或等於10萬元時,獎金可提10 利潤高於10萬元,低於20萬元時,低於10萬元的部分按10 提成,高於10萬元的部分,可可提成7.5 20萬到40萬之間時,高於20萬元的部分,可提成5 40萬到60萬之間時高於40萬元的部分,可提成3 ...
c語言學習 2
在c語言程式設計中,比較重要的一點是變數要先宣告後使用,幾個變數的型別之前已經說過,不在贅述,注意unsigned表示不帶小數點的正數,輸出函式格式 printf printf 格式控制字串 輸出表列 其中格式控制字串用於指定輸出格式。格式控制串可由格式字串和非格式字串兩種組成。格式字串是以 開頭的...
c語言學習2
ubuntu下面c源程式的各種檔案的獲得 比如有乙個源程式為a.c檔案 1 為了獲得可執行檔案可以使用命令 gcc a.c o a其中 o是用來指定所生成的可執行程式的檔名,比如這裡生成的檔名是a。gcc a.c o a.out生成a.out。2 如果程式中用到了不是gcc預設的庫函式的時候,比如程...