今天我們來了解一下c,那麼問題來了:什麼是c呢?
我不會告訴你一段文字,我只會說下面就是c
#include
int main()
看到了吧!標頭檔案,主函式,如果你是剛開始了解c,那麼你寫的程式大致就是這個樣子。如果你會寫這幾行,那麼恭喜你了,你將有可能是乙個好的程式猿。
但是事情遠沒有這麼簡單,你可以把這理解成乙個模板。但是要實現功能該怎麼編寫呢?還是不會,不要著急,看下面。
c語言,就像我們說的漢語,英語一樣,我們可以說各種各樣的話,於是我們就能編寫各種各樣的程式。程式就是我們說的』話』,不過是說給機器聽的。
就像漢語有數字和字母一樣,c也有自己的稱為「基礎型別」的東西。
如果你是乙個整數數字,那麼就稱為:int, short, long
如果是乙個小數,就稱為:float, double
如果是乙個字母,就稱為:char
如果你這些都知道了,再知道一點點那麼現在你可以幹好多事情了。那一點點就是:名字。
什麼名字呢?變數名,那麼問題來了,什麼是變數?
int a;
a就是乙個整形變數,a就是這個變數的名字。如果還不能理解,想想漢語中的名詞,人們喜歡說各種名詞,比如桃花,大人會指著乙個很好看的東西,告訴你說這是桃花。這裡的桃花,就是變數名,桃花指代的東西就是變數,其實都是一回事情啦!
現在可以幹什麼呢?
宣告和定義變數;
宣告就是你告訴系統你要儲存乙個變數,比如:
int a;
char b;
注意: c中每一句都以;
結束,不要忘啦!
定義是什麼呢?
int a;
a = 2; //這就是定義
還可以寫一起: int a = 2; //大人都這麼寫,哈哈哈
單個字元是以''
圈起來的,看下面:
`char a = 『d』;
是不是很簡單,如果感覺很難的話,那麼恭喜你了,你得加油了。
上面我們看到了,宣告乙個變數,那麼如果想申明多個變數該怎麼辦呢?
陣列(同種型別的多個變數的集合)為此而生了。
int a[10]; //10表示宣告了十個變數
a[0] = 1; //對第乙個變數操作
a[1] = 2;
...a[9] = 9;
int a = ; //陣列大小只有三個
你可以向上面一樣宣告變數,變數型別,隨自己喜好,當然賦值,也要相應的變化。
c語言中陣列操作是通過name[x]
操作的。x的取值範圍為0~x-1,也就是說陣列下標的操作是乙個半閉半開的區間。如果下標超過了x-1,就稱為越界,先知道,這個是錯誤的就行,不要這樣寫,否則後果很嚴重。
現在試著宣告自己的陣列吧!
你可能說難道就這麼簡單,哈哈哈,當然不是,地球人,你們想的太簡單了,哈哈
看下面
int a;
int*p;
有沒有發現兩宣告很像,a是乙個int型變數,當然*p也是乙個int型變數,那麼p是什麼呢?可以理解成乙個數,這個數指向另乙個儲存空間,這個空間裡面儲存著int型的變數。
如果明白了,來看看用法:
int a = 2;
int*p = &a; //p現在指向了a
*p = 3; // a現在變成了3, p沒有變,因為操作的是*p不是p
這就是指標。一級指標,當然還有好多級指標,現在先不著急,後面慢慢學。
函式: 乙個實現特定功能的**塊。可以被別人呼叫,但是要復合函式定義的標準
int f(int a);
// f前面的int表示返回值型別,也就是說函式最後必須返回乙個int型的變數或者數,如果沒有就換成void,不用返回。
int f(int a)
上面就是乙個函式,怎麼呼叫?int a = f(2);
或int b = 2; int a = f(2);
或者f(2);
c中有很多庫,庫中有很多這樣的函式,比如輸出是printf, 輸入時scanf, 等等。
開發的過程就是自己實現函式和呼叫別人/自己函式去實現特定的功能的過程。
最後再說兩個很重要的函式:malloc
,free
malloc:用於在堆上面申請一塊儲存空間,
free:用於釋放已申請的儲存空間
用法如下:
int
*p = (int
*)malloc(sizeof(int)*1); // sizeof位乙個系統提供的用於獲取某個物件占用空間大小的`工具`,1表示申請存放乙個int型資料的空間,如果是3就是申請三個,就是陣列了
你可能會發現:如果我想描述乙個複雜的東西,比如一本書,該怎麼辦?因為它有名字,價錢等好多屬性,而這些屬性來自同乙個物件,不可能定義好多變數來儲存這些東西,因為如果一本書用兩個變數表示,那麼我有一百本書呢,兩百個變數,估計可能都暈了,如果還沒有,那麼我有乙個圖書館呢,哈哈哈。
c中有個關鍵字可以用來描述物件
struct
還是看例子:
struct a ; //這個分號一定不能少,不要問我為什麼,我只會告訴你兩個字,規定
上面就是乙個物件的宣告,這種格式,裡面內容任意換。
可是怎麼使用呢?
接上面
struct a st;st
.a = 2;st
.b = 'c';st
.c = 2.3
;struct a *p = (a*)malloc(sizeof(struct st));
p->a = 2
;p->b = 'c'
;p->c = 2.3
; //注意如果是指標使用`->`,不是則使用`.`操作物件的屬性
如果這些都明白了,那麼恭喜你了,你學完c呢?事情遠沒這麼簡單,
地球人,我還會回來的,哈哈哈。
c語言入門
譚浩強版本的c語言教程學了兩個月什麼都沒學會,所以轉到c語言設計k r版本學習。2012年4月29日 15 39 14 1.入門 編乙個程式 請列印出下列內容 hello,world 程式源 如下 this is a first programe 收穫 1.乙個c語言程式,無論其大小如何,都是由函式...
C語言入門
include include include define max num 20 int add int,int int main int add int a,int b include 標準io庫 include include 字串操作函式庫 define max num 如上為預處理指令,由...
c語言入門
1.先宣告 定義變數,再給它賦值。int 變數 scanf d 變數 printf d 變數 2.scanf printf 整int d d 實float f f double d f 字元char c c 3.c語言的識別符號由 字母 數字 下劃線組成。4.常用資料型別 int 整型 d char...