C語言
壹、《前言》
C語言是一種通用、程序式的程式語言,具有高效、靈活、功能豐富、表達力強和移植性好
等的特點,在程式設計師中備受青睞。
貳、《歷史》
C語言的第一次發展在1969年到1973年之間。之所以被稱為「C」是因為C 語言是由一種更早的B語言發展而來。早期作業系統的核心大多由組合語言組成,隨著C語言的發展,C語言已
經可以用來編寫作業系統的核心。1973年,Unix作業系統的核心正式用C語言改寫,這是C語言第一次應用在作業系統的核心編寫上。
參、《編譯器》
程式語言是由人撰寫的,在程式執行之前,必須要先經過編譯器(Compiler),我們使用的編譯器是Dev C++,這是一個免費軟體。
www.bloodshed/devcpp.html 點Go to download page就會到載點。
肆、《開始》c语言return的用法和搭配
執行結果:
第1行 #include代表程式引入的標檔,在執行某些特定函數之前必須要先引入某些標檔, #include<stdio.h>(standard input/output)讓我們可以在程式中使用printf (螢幕輸出)和scanf (鍵盤輸入)和
一些其他的函數。
第2行 #include<stdlib.h> 是因為在程式中使用了system這個函數。
第3行int main(){ 是一個程式執行的起點,C語言的程式都會從這個函數開始,後面的大括號 '{' 和第七行的大括號 '}' 是一組的。
第4行的printf是螢幕輸出,雙引號""之中的文字代表要輸出的字串。
第5行 system(“pause”); 可以使程式暫停執行。
第6行 return 0; 代表函數的結束,在int main中return 0;以後程式就會正常結束。
※要注意的是,在每個敘述 (例如:printf、system、return) 的結尾都要有一個分號 ; 。
※在程式中使用註解:註解就是在程式原始檔中留下文字,給編輯者閱讀的,程式並不會執行,用法:
練習時間:請練習用C語言程式印出自己的名字
伍、《變數的宣告及各種型態》
電腦裡面的記憶體就像竹竿的竹節一樣,一格一格的(如下圖),一格可以儲存8個位元。(bit)(一位元中有一個0或1),也就是1個位元組(1byte)。我們要使用記憶體來儲存數值時就要先在記憶體上面指定一塊區域用來儲存,就是宣告變數。
1.宣告
變數和常數要宣告之後才可以在程式中使用。
變數型態變數名稱;
變數型態變數名稱=初始值 ;
變數型態變數名稱,變數名稱,......;
變數型態變數名稱=初始值,變數名稱=初始值,…….;
C語言中,如果在宣告變數的時候沒有指定初始值,變數就會存有之前記憶體中的垃圾值,所以如果忘記指定初值容易造成程式有bug。
用法示範:
int num1=5;
=是代表指定,將等號右邊的值傳給等號左邊的變數,藉此改變變數的值。跟一般數學中出現的=不一樣。
實際的儲存方式是用2進位法X Dr z。
宣告時必須注意︰
(1)名稱長度限制在31字元以下,不能有~!@#$%^&*...等符號。
(2)名稱可包含英文字母 數字 底線,可是第一個字元只能是英文或_。
(3)大小寫要注意。
(4)如果可以盡量有意義,方便閱讀。
2.各種型態
※註︰int的位元數常因編譯器不同而有所改變,以上是一般情況。
字元儲存的內容包括英文、數字、標點符號、控制符號等,由於字元本身是用整數儲存,所以也
※註:0-127 是常用字元。
char ch=’A’;
char ch=65;
另外︰一個中文字是由兩個字元組成。
3.常數
常數就是在宣告時指定初值之後不會再改變的數。常數的宣告方式:在宣告的時候在型態的前面加上一個const,但是要注意的是一定要指定初值,而且不能在程式執行中更改,不然造成會編譯錯誤。宣告用法:
const 型態 名稱=初始值;
範例︰ const float pi=3.14159;
4.型態轉換
(1)自動轉換
自動型態轉換是由編譯器自動轉換,依循以下的規則:
當兩個相同型態的變數作運算時,會自動視為原本的型態。
當兩個不同型態的變數作運算時,會自動轉為最精確的型態。位階高低:
char<short<long<float<double ※(註) int會因編譯器而不同,故不列入。
(2)強制轉換
強制轉換使用的時機是視設計者的需求,例如希望兩整數相除時有小數點,就要強制轉為浮點數。如果想看到字元的AS C II碼,就可以強制轉行成整數,如:short、int。用法:
(型態)變數; 或型態(變數);
小小的塗鴉區:
執行結果:
※當char被轉成整數型態時候就會印出它的AS C II碼,浮點數(float)被轉為整數(int)的時後小數的部份會全部捨去。
※補充:宣告變數時離第一次使用這個變數的時間越近越好。
陸、《基本輸入輸出》
1.螢幕輸出
在C中,螢幕輸出的函數是printf,使用的方法︰將要輸出的內容放在()裡,不過要用” ”包起來,要記得雙引號之後要有一個,後面打上要輸出的變數(沒有輸出時就不用,),至於要輸出的變
2.鍵盤輸入
鍵盤輸入時要使用scanf,使用方法和printf相差不多,但是用scanf時要在變數的前面加上一
個& 。
注意事項:
(1)使用printf和scanf時必須要#include<stdio.h> 。
(2)轉換規格符號(%什麼的)的型態要和變數的型態一致。
3.檔案輸出/入
在使用之前要先打一行FILE* xxx=fopen(“檔名“,”方法”); 。
xxx是一個自己決定的名稱,但是不能和保留字相同。
結束使用時要打fclose(xxx); //一定要,否則會佔用系統資源。
練習時間:讓使用者輸入一個浮點數然後轉成整數再印出
讓使用者輸入一個字元然後轉型印出AS C II碼
柒、《運算子》
程式由許多敘述(statement)所組成,敘述的基本單位為運算式(expression),運算式又由運算子(operator)和運算元組成(operand)。
1.指定運算子
就是「=」,將右邊的值傳給左邊的變數。例:
int num=5;
num=num+1; //num的值就會變成6。
2.
類
別
運算子範例(a=5,b=3)結果附註
算數運算子+a+b8
-a-b2
*a*b15
/a/b1整數的小數點會被無件捨去%a%b2只有整數能用
遞增遞減運算子++a++6在整行敘述結束後a會+1 ++a6先+1以後在執行那行敘述--a--4在整行敘述結束後a會-1 --a4先-1以後在執行那行敘述
關係運算子>a>b true前大於後則傳回1
<a<b false前小於後則傳回1
>=a>=b true前大於等於後則傳回1 <=a>=b false前小於等於後則傳回1 ==a==b false前等於後則傳回1
!=a!=b true前不等於後則傳回1
邏輯運算子運算子範例(a=true,b=false)結果附註
&&a&&b false同時為true則傳回true ||a||b true任一個為true則傳回true !!a false傳回相反的結果
位元運算子運算子範例(unsigned a=11,b=5)結果附註
~(補數)~a4把二位元進位的每一位反轉
&(且)a&b1對每個位元進行and運算
|(或)a|b15對每個位元進行or運算
^(互斥)a^b14對每個位元進行xor運算(相同則為0,相異則為1) <<(左移)a<<b352將a左移b位元,得到a*(2的b次方)
>>(右移)a>>b0將a左移b位元,得到a*(2的-b次方)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论