變數的基本使用

GQH1000發表於2024-09-25

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;
}

相關文章