基礎C語言 學習總結 2

2022-06-01 03:33:11 字數 3696 閱讀 1884

【第二章】

表示式//*******運算子*********

/*[算術運算子]

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預設的庫函式的時候,比如程...