c語言中的基本資料型別有:
在記憶體中基本型別對應有其位元組長度:
在32 位的系統上
short 佔據的記憶體大小是2 個byte;
int佔據的記憶體大小是4 個byte;
long佔據的記憶體大小是4 個byte;
float佔據的記憶體大小是4 個byte;
double佔據的記憶體大小是8 個byte;
char佔據的記憶體大小是1 個byte。
#include /*包含此檔案中的全部資訊,這裡主要用到標準輸出函式*/
int main() /*名為main的函式,()表名這是乙個函式,int代表返回值為整形,
main函式在每個c語言程式中有且僅有乙個,程式總是從main函式開始執行的*/
//右括號代表函式體結束
是在執行過程中值不能被改變的量
例如:整數3是常量,小數3.1415926也是常量
乙個指定的字元也是常量,他們在程式中執行時值是固定的
轉義字元
c語言允許使用一些特殊形式的字元常量,他們以 \ 開頭,不在代表其原本的意義,常見的有:
\n 換行
\r 回車
\t 水平製表符
…字串常量
如「abc」 「123」這樣用雙撇號引起來的一串字元叫做字串
用單引號引用乙個單獨的字元
符號常量
用#define 指令指定用乙個符號名稱代表乙個常量,如:
#define pi 3.14
代表函式中的pi都是3.14,編譯器處理是只做簡單的替換
變數是乙個有名字的,具有特定屬性的儲存單元,用來存放資料,執行過程中值可以改變
變數必須先定義後使用。
常變數
const int a=3;
a被定義為乙個變數,指定其值為3,並且在變數存在期間,值不能被改變。
但總的來說,常變數仍然是變數,它具有變數的基本屬性,有型別,佔空間。
變數的型別轉換
不同型別的變數之間往往不能直接進行賦值,不能把乙個浮點型的資料賦給乙個整形的變數
int a = 3;
float b = 12.5;
a = b;
而是需要對b進行強制型別轉換,即:
int a = 3;
float b = 12.5;
a = (int)b;
在雙目運算中,低型別的資料會直接轉為高型別的資料,稱作隱式型別轉換
用來對變數函式等命名的字串行就是識別符號
識別符號的命名規則:可以由字母,數字,下劃線組合而成,但需以字母或下劃線開頭,
區分大小寫
用來參與運算,加工處理資料的符號
算數運算子:
+ 加(正) * 乘
- 減(負)
/ 除(兩個實數相除,結果為雙精度實數,兩個整數相除,結果為整數,小數部分捨掉)
% 取餘(要求參與運算的是兩個整數,結果也是整數)
++ 自增,如果在前(++a),則變數先自增在參與運算,在後(a++),則變數先參與運算在自增
-- 自減,使用規律同自增
自增自減運算子只能用於變數而不能用於常量或表示式
#include int main()
關係運算子:>(大於) < (小於) >= (大於等於) <= (小於等於) ==(等於) !=(不等於)
邏輯運算子:
&&(與) ||(或) !(非)
**移位運算子:**針對二進位制
/ ~ 按位取反
&按為相與
| 按位相或
^ 按位異或
11<<1:0001 0110 // << 左移 22 11乘以 2^1
11<<2:0010 1100 // 44 11乘以 2^2
11>>1:0000 0101 // >> 右移 5 11/2 = 5
其他:
= 賦值運算子
?: 條件運算子
C程式語言之一
d 按照十進位制整形數列印 o 按照八進位制整形數列印 x 按照十六進製制整形數列印 c 表示字元 s 表示字串 表示 本身列印 ld long型輸出 幻數 define 名字 替換文字 define num 100 i,比i 更精煉 兩者的區別 i,不會產生乙個中間暫存器變數來儲存變數 i 產生乙...
c語言之基礎 2
1.軟體 程式 計算機語言之間的關係?軟體是包含程式的有機集合體,是程式以及開發 使用和維護所需要的所有文件的總稱 程式是軟體的一部分,也是必要元素,他是通過計算機語言寫出來的具有許多演算法的模板 由計算機語言編寫出程式,程式組合成軟體 2.switch語句結構的寫法特點?1.表示式 結果及 cas...
C語言之指標基礎
傳值呼叫和傳址呼叫 實踐 常量與指標 const修飾指標 指標小結 我們先提出乙個問題 既然程式中的變數只是一段儲存空間的別名,那麼是不是必須通過這個別名才能使用這段儲存空間?include include intmain 問題的答案很顯然,不是,可以通過指標來使用這段儲存空間。指標在本質上也是乙個...