C語言裡提供了一組工具,他們叫做標準函式;每個標準函式用來解決一個常見問題
不同標準函式名字不同,可以在程式裡編寫函式呼叫語句使用標準函式
printf標準函式可以用來把程式裡的數字顯示在終端視窗裡
為了使用這個標準函式需要包含stdio.h標頭檔案
可以在雙引號裡使用佔位符(%+型別)把數字轉移到雙引號的後面
雙引號後面的數字可以是一個計算公式,計算機先計算出公式的結果然後替換掉雙引號裡面的佔位符
不同型別的數字和不同的佔位符配合使用,整數型別數字應該和%d佔位符配合使用
可以在一條語句裡使用多個佔位符,這個時候就應該在雙引號後面提供多個數字,數字個數和佔位符個數一樣
程式裡所有數字必須記錄到記憶體裡
記憶體由大量的位元組構成,每個位元組可以用來記錄一個數字
每個位元組有一個編號,這個編號叫做位元組的地址,不同位元組的地址不同
所有位元組的地址從0開始依次向上遞增
位元組之間有前後順序,地址小的位元組在前,地址大的位元組在後
可以把幾個相鄰的位元組合併成一個整體用來記錄一個數字
記憶體裡用來記錄一個數字的所有位元組叫做一個儲存區
一個儲存區只能記錄一種型別的數字,儲存區也有地址,儲存區的地址是他所包含的位元組中最前面那個位元組的地址
C語言程式裡變數用來代表儲存區,對變數的操作也就是對他所代表儲存區的操作
變數必須先宣告然後才能使用,變數宣告語句可以用來宣告語句
變數宣告語句讓計算機為程式分配儲存區;可以在一條語句裡宣告多個同型別變數
程式中可以向變數裡存放數字也可以從變數裡獲取數字
賦值語句可以向變數裡存放數字;賦值語句裡使用賦值運算子(=)
賦值運算子要求左邊的內容必須可以代表儲存區(這種內容叫左值);變數是最常見的左值
賦值運算子右邊的內容必須可以代表數字,賦值語句可以把賦值運算子右邊的數字放到左邊的儲存區裡
可以在宣告變數的時候立刻對變數進行賦值,這叫做變數的初始化
C語言裡所有變數都應該初始化
可以在程式裡直接把變數當作數字使用,這就是從變數裡獲得數字的方法
變數名稱既可以代表儲存區也可以代表儲存區裡的數字,由環境決定
如何判斷一個變數到底代表儲存區還是數字
方法:將變數名稱換為0,根據左邊名稱右邊數字可以確定是做儲存區還是數字
儲存區的地址也可以代表儲存區,在變數名稱前加上符號&就可以得到儲存區的地址
可以使用%p做佔位符把地址資料顯示在電腦螢幕上
程式中可以使用變數代表一個固定的數字
程式中可以使用變數代表一組數字(變數在不同的時候代表不同的數字)
作業:編寫程式在螢幕上顯示以下內容
5
54
543
5432
54321
雙引號裡和雙引號後面不能出現數字
點選檢視程式碼
#include<stdio.h>
int main(){
int num=54321,base=10000,num1=10;
printf("%d\n",num/base);
base=base/num1;
printf("%d\n",num/base);
base=base/num1;
printf("%d\n",num/base);
base=base/num1;
printf("%d\n",num/base);
base=base/num1;
printf("%d\n",num/base);
return 0;
}
C語言字元型別
字元型別的名稱是char
字元型別裡包含256個不同的字元資料('a','^等),每個字元資料可以用一個整數表示
字元資料和整數是可以互相替代的,ASCII碼錶裡列出所有字元和整數之間的對應關係
ASCII碼錶裡所有小寫英文字母是連續排序的,‘a’對應的整數最小,‘z’對應的整數最大
所有的大寫英文字母和阿拉伯數字字元也都符合這個規律
所有字元資料被分成兩組每組包含128個,其中一組字元資料對應的整數在所有計算機裡都一樣,這些整數的範圍
從0到127
另外一組字元資料對應的整數在不同的計算機裡不一樣,這些整數有可能從-128到-1也肯能從128到255
‘\n’ 換行
‘\r’ 回車
' \ \ ' 代表字元\
'\ ' ‘ 代表字元 ’
' \ " ' 代表字元 "
短整數型別名稱是short
這個型別裡包含65536個不同的整數,其中一半是非負數,另一半是負數。這些數字以0為中心向兩邊擴充套件
長整數型別名稱是long
這個型別裡包含2的32次方個不同的整數,其中一半是非負數,另一半是負數。這些數字以0為中心向兩邊擴充套件、
整數型別名稱是int
在我們計算機裡整數型別和長整數型別完全一樣
以上資料型別統一叫有符號型別
每個有符號型別對應一個無符號型別,無符號型別名稱就是在對應有符號型別名稱前加unsigned關鍵字
比如unsigned char,unsigned int 。
無符號型別所包含的數字個數對應有符號型別的個數一樣,但是 不包含負數。
整數相關資料型別所包含的數字範圍互相重疊並且逐漸擴大
在不帶小數點的數字後加u表示數字的型別是無符號整數型別的
C語言裡使用浮點型別表示帶小數點的數字,浮點型別分為單精度浮點型別和雙精度浮點型別
雙精度浮點型別可以記錄更多小數點後面的數位
單精度浮點型別名稱是float
雙精度浮點型別名稱是double
程式中帶小數點的數字預設是雙精度浮點型別的
帶小數點的數字後面加f表示數字的型別是單精度浮點型別(如:3.2f)
C語言裡允許擴充套件新的資料型別
擴充套件出來新的資料型別叫複合資料型別
複合資料型別都需要編寫語句先建立出來然後才能使用
C99規範裡引入布林型別
這個型別裡只包含0和1兩個整數,其中0表示假,1叫做真
真和假都叫做布林值
C語言程式裡任何整數都可以當作布林值使用,0當作布林值使用的時候是假,所有其他整數當布林值使用的時候都是真
一般不需要再程式裡使用布林型別,直接把整數當布林值使用就可以了
資料型別和佔位符的對應關係
char和unsigned char %c
short %hd
unsigned short %hu
long %ld
unsigned long %lu
int %d
unsigned int %u
float %f or %g
double %lf or %lg
%f和%lf在顯示的時候會保留小數點後面無效的0,%g 和%lg不會保留
不同型別的儲存區所包含的位元組個數不同
sizeof關鍵字可以用來計算一個儲存區包含的位元組個數
char和unsigned char 1個位元組
short和unsigned short 2個位元組
long 和unsigned long 4個位元組
int和unsigned int 4個位元組
float 4個位元組
double 8個位元組
sizeof關鍵字後的小括號裡對任何儲存區內容的修改不會真正發生
eg:
int num=0;
sizeof(num=10);
printf("num=%d\n",num);
此時num=0
作業:
編寫程式計算半徑為5.2的圓的周長並把結果顯示在螢幕上
2*3.14半徑
半徑應該記錄在變數裡
點選檢視程式碼
#include<stdio.h>
int main(){
float r=5.2f;
printf("Cir=%f\n",2*r*3.14);
return 0;
}
作業:
程式設計在螢幕上顯示以下5行內容
54321
5432
543
54
5
每次顯示一行,雙引號裡面和後面都不能有數字
點選檢視程式碼
#include<stdio.h>
int main(){
int num=54321,num1=10;
printf("%d\n",num);
num=num/num1;
printf("%d\n",num);
num=num/num1;
printf("%d\n",num);
num=num/num1;
printf("%d\n",num);
num=num/num1;
printf("%d\n",num);
num=num/num1;
return 0;
}