C語言里提供了一組工具,他們叫做標準函數;每個標準函數用來解決一個常見問題 不同標準函數名字不同,可以在程式里編寫函數調用語句使用標準函數 printf標準函數可以用來把程式里的數字顯示在終端視窗里 為了使用這個標準函數需要包含stdio.h頭文件 可以在雙引號里使用占位符(%+類型)把數字轉移到雙 ...
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;
}