C語言學(xué)習(xí)入門
C語言是一門通用計(jì)算機(jī)編程語言,應(yīng)用廣泛。下面學(xué)習(xí)啦小編分享C語言學(xué)習(xí)入門的基礎(chǔ)知識,希望對你有幫助。
C語言學(xué)習(xí)入門
C語言32個(gè)關(guān)鍵字:
auto double int struct break else long switch
case enum register typedef char extern return union
const float short unsigned continue for signed void
default goto sizeof volatile do if while static
常量修飾:const
c 語言中的進(jìn)制: 二進(jìn)制:int a = 0B(b)1100 ; 八進(jìn)制: int b = 027; 十六進(jìn)制:int c = 0X(x)AF3;
printf(“%d”, a); printf(“a=%d, b=%x”, a, b);
%4d, 若表示的位數(shù)大于4,再按原樣輸出; 若小于4,則補(bǔ)上空格輸出4位,, +4空格補(bǔ)左邊,-4空格補(bǔ)右邊
%.2f 輸出兩位小數(shù),默認(rèn)是6位
%p 輸出內(nèi)存的地址,, 如:printf(“變量a的地址是:%p”, &a)
scanf(“%f”, &a); scanf(“%d, %s,%f”, &a,&b,&c); 接收多個(gè)時(shí),分隔符可以是任意符號
包括空格、tab、回車
當(dāng)數(shù)值比較小(在char的取值范圍內(nèi)),用char 比用int 更節(jié)省內(nèi)存開銷,因?yàn)樗徽?個(gè)字節(jié)
char c = ‘A’;與 char c = 65; 是等效的。一個(gè)漢字占兩個(gè)字符,用char是不行的,
需要用字符數(shù)組來存儲(chǔ)。
局部變量可以在聲明時(shí)不初始化,后續(xù)使用,與Java不同;如果后續(xù)賦值是可以的,如果后續(xù)直接
使用系統(tǒng)賦給它的默認(rèn)值是不好的,因?yàn)檫@是一個(gè)隨機(jī)的垃圾值,不是0。
可以在基本數(shù)據(jù)類型的前面加一些修飾符,也有人稱之為限定符,一樣的意思。
有以下4種類型修飾符:
short 短型
long 長型
signed 有符號型 包括 正負(fù)數(shù)和0
unsigned 無符號型 正數(shù)和0
// 下面兩種寫法是等價(jià)的
short int s1 = 1;
short s2 = 1;
// 下面兩種寫法是等價(jià)的
long int l1 = 2;
long l2 = 2;
// 可以連續(xù)使用2個(gè)long
long long ll = 10;
// 下面兩種寫法是等價(jià)的
signed int si1 = 3;
signed si2 = 3;
// 下面兩種寫法是等價(jià)的
unsigned int us1 = 4;
unsigned us2 = 4;
// 也可以同時(shí)使用2種修飾符
signed short int ss = 5;
unsigned long int ul = 5;
unsigned char c1 = 10;
signed char c2 = -10;
long double d1 = 12.0;
short int 取值范圍 類似java中的 short
long int int
long longlong
C語言的基本語句跟Java中的差不多
循環(huán)語句(do while、while、for)
條件語句(if 、if-else、switch)
goto語句 (比如在循環(huán)外 定義一個(gè)標(biāo)記 Exit:; 在循環(huán)內(nèi)可以 用 goto Exit;跳出循環(huán))
算術(shù)運(yùn)算符
+ 加法運(yùn)算符
- 減法運(yùn)算符,或負(fù)值運(yùn)算符
* 乘法運(yùn)算符
/ 除法運(yùn)算符
% 模運(yùn)算符,或稱取余運(yùn)算符,要求%兩側(cè)均為整型
關(guān)系運(yùn)算符
< 小于運(yùn)算符
<= 小于等于運(yùn)算符
> 大于運(yùn)算符
>= 大于等于運(yùn)算符
== 等于運(yùn)算符
!= 不等于運(yùn)算符
C語言中沒有boolean類型
在C語言中,關(guān)系運(yùn)算的結(jié)果為"真"就返回1,"假"就返回0
int a1 = 5 >4;// 1
int a2 = 5 <4;// 0
* 還需注意的是,在C語言中,任何非0值都為"真",只有0值才為"假"如:if(-1){}
if (a=0){}
在C語言中,可以不保存關(guān)系運(yùn)算的結(jié)果因此,下面的寫法是合法的:
int a = 10;
a > 10;
a == 0;
邏輯運(yùn)算符
&& 邏輯與運(yùn)算符
|| 邏輯或運(yùn)算符
! 邏輯非運(yùn)算符
邏輯運(yùn)算的結(jié)果也只有兩個(gè):成立就為"真",返回1;不成立就為"假",返回0
復(fù)合賦值運(yùn)算符
+= 加賦值運(yùn)算符。如a += 3+1,等價(jià)于 a = a +(3+1)
-= 減賦值運(yùn)算符。如a -= 3+1,等價(jià)于 a = a -(3+1)
*= 乘賦值運(yùn)算符。如a *= 3+1,等價(jià)于 a = a *(3+1)
/= 除賦值運(yùn)算符。如a /= 3+1,等價(jià)于 a = a /(3+1)
%= 取余賦值運(yùn)算符。如a %= 3+1,等價(jià)于 a = a %(3+1)
自增運(yùn)算符和自減運(yùn)算符
++ 自增運(yùn)算符。如a++,++a,都等價(jià)于a = a+1
-- 自減運(yùn)算符。如a--,--a,都等價(jià)于a = a-1
逗號運(yùn)算符和逗號表達(dá)式
* 逗號運(yùn)算符主要用于連接表達(dá)式,例如:
int a = 9;
int b = 10;
a = a+1 , b = 3*4;
逗號表達(dá)式的運(yùn)算過程是:從左到右的順序,先計(jì)算表達(dá)式1,接著計(jì)算表達(dá)式2,...,最后計(jì)算表達(dá)式n
* 整個(gè)逗號表達(dá)式的值是最后一個(gè)表達(dá)式的值c = (++a, a *= 2, b = a * 5); <==> c=b;
三目運(yùn)算符
int a = (b >5) ? 10 : 9;
sizeof可以用來計(jì)算一個(gè)變量或者一個(gè)常量、一種數(shù)據(jù)類型所占的內(nèi)存字節(jié)數(shù)。
sizeof(10);
char c = 'a';
sizeof(c);
sizeof(float);