第乙個:注意縮排
用tab鍵縮排對齊
第二個:適當的空行
第三個:注釋,簡明扼要
c語言注釋只有兩種寫法:
第一種:單行注釋 //注釋文字
第二種:塊注釋 /* 注釋的內容 */,塊注釋不能巢狀
尤其是重要的核心**必須寫注釋
第四個:命名,通俗易懂,英文,千萬不要用拼音
算術運算子 + - * / % (取餘)
關係運算子 > = <=
邏輯運算子 ||邏輯或 &&邏輯與 !邏輯非
指標運算 * &
三目運算子 ?:
求資料型別大小,變數大小 sizeof
位運算 & | ~ ^
組合運算 += -= *= \= &= |=
移位運算 >> <<
自增自減 ++ --
(1) 除法
情況一:
兩個整數相除,結果取整,而且不會四捨五入
情況二:
除法運算中有乙個是小數
1/2 --》結果不是0.5 是0
16/3 --》5
2/3 --》
#include int結果如下:main()
0(2)取餘,計算餘數0.000000
0.666667
0
只能用於整數運算 15%2 餘數1
15.0%2 不對的,小數不能參與取餘運算
實際開發作用:
除法和取餘配合實現獲取乙個數的各個位
任意輸入乙個整數,程式設計得到這個整數總共多少位,各個位分別是多少
(3)邏輯運算,跟條件判斷配合在一起使用
if(a>b)
數學中: 10c語言中: if(x>10 && x<100)
if(姓名==zhang || 姓名==王) //或者
if(姓名==zhang && 富二代) //並且
重點:區分==和=
==用來判斷變數是否相同 if(a==b)
= 賦值運算符號
c語言規定的真和假
非零就是真 1 18 -9
零就是假
表示式一 || 表示式二 || 表示式三 //從左到右,有乙個條件為真,後面的都不用運算了,整個表示式都為真
表示式一 && 表示式二 && 表示式三 //從左到右,有乙個條件為假,後面的都不用運算了,整個表示式都為假
if(有房&&有車&&帥)
邏輯非 真--》假
假--》真
#includeint結果如下:main()
a>b(4) 三目運算子
表示式1?表示式2:表示式3
判斷表示式1是否為真
為真 --》執行表示式2
為假 --》執行表示式3
#include int結果如下:main()
請輸入兩個整數!(5)位運算(重點)1520
15和20中較大的乙個數是:
20
對整數的二進位制進行運算
按位與 & 只要有乙個是0結果就是0,全部都是1,結果就是1
比如: 18&16結果是多少? int a=89; int b=96; a&=b; //等價於 a=a&b;
18 --》二進位制 10010
16 --》二進位制 10000
特點: 任意乙個整數要求把它的第三位二進位制置0,其它位不允許改變
125--》二進位制1111101 --》最終希望的結果1111001
1111101 --》125
1111011 &
任何二進位制位跟1進行按位與運算結果保持不變
任何二進位制位跟0進行按位與運算結果一定是0
按位或 | 只要有乙個是1,結果就是1,全部都是0,結果就是0
比如: 18|16結果是多少?
18 --》二進位制 10010
16 --》二進位制 10000
特點:實際開發中,用位或運算去設定某一位二進位制為1
int a=785;
00000.....100 或
任何二進位制位跟0進行按位或運算結果保持不變
任何二進位制位跟1進行按位或運算結果一定是1
按位異或 ^ 相同為0,相異為1
比如: 18^16結果是多少?
18 --》二進位制 10010
16 --》二進位制 10000
特點:實際開發中我想把某個數的二進位製取反
比如: int a=785 第三位二進位製取反
0000........100 異或
乙個數跟自己異或,結果為0 a^a結果為0
異或滿**換律 a^b^a等價於 a^a^b
乙個數跟0異或,結果保持不變 a^0結果為a
按位取反 ~ 0變成1 1變成0
比如: ~18結果是多少?
18 --》二進位制 10010
~18 --》 01101
(6)組合運算(復合運算)
+= a+=10; //等價於 a=a+10;
(7)移位
左移 <
18<<2; //18左移2位
0000000000.........10010<<2
特點:乙個數左移n位,相當於乘以2的n次方
右移 >> 把乙個整數的二進位制整體向右移動若干位,高位補什麼??
算術右移: 高位補符號位
邏輯右移: 高位補0
特點:乙個數右移n位,相當於除以2的n次方
(8)自增和自減
a++ 後置++ 先使用a原本的值,然後再把a加1賦值給自己
++a 前置++ 先把a加1,然後再使用加一之後的a
a-- 後置-- 先使用a原本的值,然後再把a減1賦值給自己
--a 前置-- 先把a減1,然後再使用減一之後的a
#include int結果如下:main()
b is:79 a :80 c:79練習:1. float a=1.6;
if(a==1.6) //請問這個條件是否成立,為什麼
#include int結果如下:main()
b==1.52. int a=10;a!==1.6 a is:1.600000
int b=6;
if((a<2)||(b=18))
printf("a ,s:%d b is:%d\n",a,b);
if((a<12)&&(a>b)&&(a=96))
printf("a ,s:%d b is:%d\n",a,b);
#include int結果如下:main()
a is:10 b is:183. 用三目運算子實現三個整數求最大值
#include int結果如下:main()
請輸入三個整數!59總結按位或,按位異或的特點4最大值result
is:9
完成任意乙個整數m,要求把它的第三位二進位制置零,置一,取反,其它二進位制位不允許改變
將這個數&0xfffb,將第三位置0;
將這個數|0x0004,將第三位置1;
將這個數^0x0004,將第三位取反;
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預設的庫函式的時候,比如程...