1. 程式人生 > >c語言資料型別、運算子和表示式

c語言資料型別、運算子和表示式

資料型別

 

1.基本資料型別:

基本資料型別最主要的特點是,其值不可以分解為其他型別。也就是說,基本資料型別是

自我說明的

2.構造資料型別:

構造資料型別是根據已定於的一個或多個數據型別用構造的方法來定義的。也就是說,

一個構造型別的值可以分解為若干個“成員”或“元素”。每個“成員”都是一個基本資料型別或又是一個構造型別。在c語言中

構造型別有以下幾種:

  ·資料型別

  ·結構體型別

  ·共同體(聯合)型別

3.指標型別:

指標是一種特殊的,同時又是具有重要作用的資料型別。其值用來表示某個變數在記憶體儲器中的地址。雖然指標變數的取值

類似與整型量, 但這是兩個型別完全全不同的量, 因此不能混為一談。

4.空型別:

在呼叫函式值時, 通常應向呼叫者返回一個函式值。這個返回的函式值是具有一定資料型別的,應在函式

定義和函式說明中給予說明, 例如在例題中給出的max函式定義中, 函式頭為int max(int a, int b);

其中“int”型別說明符即表示該函式的返回值為整型量。但是, 也有一類函式,呼叫後並不需要向呼叫者返回

函式值,這種函式可以定義為“空型別”。其型別說明符為“void”, 在後面繼續介紹

常量

整型, 浮點, 字元, 列舉等

在執行過程中,其值不發生改變的量稱為常量。

符號常量:用識別符號代表一個常量。在c語言中, 可以用一個識別符號表示一個常量, 稱之為符號常量。

符號常量在使用之前必須先定義, 其一般形式為:

#define 識別符號 常量

其中#define 也是一條預處理命令(預處理命令都以#開頭), 稱為巨集定義命令(在後面預處理程式中將進一步介紹), 其功能是把識別符號定義為其後的常量值。一經定義, 以後在程式中所有出現該識別符號的地方均代之以該常量值。

注意:習慣上符號常量的識別符號用大寫字元, 變數識別符號用小寫字母, 以示區別。

#include <stdio.h>
#include <stdlib.h>
#define AAA 20

void main()
{
    printf(
"%d", AAA); }
View Code

變數

 整型, 浮點, 字元, 列舉等

 其值可以改變的量稱之為變數。一個變數應該有一個名字, 在記憶體中佔據一定的儲存單元

變數定義必須放在變數使用之前。一般放在函式體的開頭部分。要區分變數名和變數值是兩個不同的概念

 

 整型

八進位制整常數:

八進位制整常數必須以0開頭, 即以0作為八禁進位制數的字首。數碼取值為0~7.八進位制數通常為無符號數。

以下各數是合法的八進位制:

015(十進位制13)、0101(十進位制為65)、0177777(十進位制為65535)

十六進位制整常數:

十六進位制整常數的字首為0x或0X.其數碼取值為0~9, A~F或a~f.

以下各數是合法的十六進位制整常數:

0X2A(十進位制為42), 0XA0(十進位制為160), 0XFFFF(十進位制為65535);

整型常數的字尾:

在16位字長的機器上,基本整型的長度也為16位, 因此表示的數的範圍也是限定的。

十進位制無符號整常熟的範圍為0~65535。

八進位制無符號數的表示範圍為0~0177777.

十六進位制無符號數的表示範圍為0X0~0XFFFFF或0x0~0xFFFFF。

如果使用的數超過了上述範圍, 就必須用長整型數來表示。長整型數是用字尾"L"或‘l’來表示的

整型變數的分類, 預設int是有符號

整型變數的分類

格式:

int a, b, c;

注意別忘了分號和英文的逗號
放在函式的開頭

(注意:這裡佔多少個位元組跟系統和編譯器規定有關!可以在編譯器上自己試試檢視)

1. 基本型:型別說明符為int, 在記憶體中佔4個位元組。

2. 短整量:型別說明符為short int 或short。所佔位元組和取值範圍均與基本型相同。

3. 長整型:型別說明符為long int 或long。

4.無符號型:型別說明符為unsigned。(包括unsigned int, unsigned short int , unsigned log)

標註:下圖的wchar_t 表示的是 

char是8位字元型別,最多隻能包含256種字元,許多外文字符集所含的字元數目超過256個,char型無法表示。
wchar_t資料型別一般為16位或32位,但不同的C或C++庫有不同的規定,如GNU Libc規定wchar_t為32位,總之,wchar_t所能表示的字元數遠超char型。
wchar_t

欠:後期補充,因為沒有搞懂unsigned

注意:整型的每一種都有無符號(unsigned)和有符號(signed)兩種型別(float和double總是帶符號的),在預設情況下宣告的整型變數都是有符號的型別(char有點特別),如果需宣告無符號型別的話就需要在型別前加上unsigned。

#include <stdio.h>
//檢視編譯器的位元組數

void main()
{
    printf("%d", sizeof(int));
}

整型資料的溢位

 負數十進位制的補碼

 

 浮點型(實型)4位元組(32位)

 浮點數常量的表示方法:

浮點型也成為實型。也可以稱為世數或者浮點數。在c語言中, 浮點數只採用十進位制。

他有兩種形式:十進位制小數形式, 指數形式。

1)。 十進位制形式:

例如:0.0025.002323.23241423.23232332, -232342342.02323等
2)。指數形式:

由十進位制數, 加階碼標誌"e"或“E”以及階碼(只能為整數,可以帶符號)組成。

形式:

aEn(a為十進位制數, n為十進位制整數)

4.576064086519205e-47   #0.00002323**10
2.2E5 意思就是2.2 * 10的5次方 == 2.2 * 10^5(或者10**5)
-2.5E-2 意思就是-2.5 * 10^-2 (10^-2 就是0.01) 結果是0.025

浮點數分類

單精度: float

雙精度: double

長雙精度: long double

 

相關推薦

c語言資料型別運算子表示式

資料型別   1.基本資料型別: 基本資料型別最主要的特點是,其值不可以分解為其他型別。也就是說,基本資料型別是 自我說明的 2.構造資料型別: 構造資料型別是根據已定於的一個或多個數據型別用構造的方法來定義的。也就是說, 一個構造型別的值可以分解為若干個“成員”或“元素

C語言複習————基本資料型別運算子表示式

資料型別/運算子/表示式 主要分兩部分介紹,第一部分介紹常用的資料型別,例如:常量和變數/整型/實型/字元型;第二部分介紹算數運算子和算數表示式以及賦值運算子和逗號運算子。 一. 常用的資料型別 1. C語言中的資料型別 C語言中基本資料型別主要有整型/實型/字元型/字串型,本節主要介紹這幾種基本的資料型

C語言資料型別運算子表示式

1.C語言的關鍵字 32個關鍵字: auto:自動宣告      break:跳出當前迴圈      case:開關語句分支               &nbs

C#】— 基礎函式運算子表示式

從前人(學習完這個專案的人)那裡聽說傳智播客是北京最大計算機培訓班黑馬的前身,感覺對他的興趣又深了。只要對它有了興趣自然學的就會快了。看C#視訊有一段時間了,小楊老師講課很有意思,一點也不枯燥,幽默風趣還有一點點自戀哈哈哈,好像他快禿頂了。 對於C#視訊就像是我才來提高班學

資訊學奧賽系列課程:C++語言數量型別變數常量

C++語言基本資料型別:          在使用程式實現演算法的過程中,需要各種型別的資料,如:計算圓的半徑、周長、面積,描述 物體運動過程中的速度、時間、距離,購物時的數量、單價和總價等。      C++語言中,基本的資料型別有: 整型:int     包括正整數

G筆記_Java基礎(變數基本型別運算子表示式-1)[案例]

JAVA Fundamental DAY02 1 變數使用常用錯誤彙總 1.1 問題 在我們使用變數的過程中,會遇到一些問題,在此將這些問題進行彙總,在今後使用的過程中,避免出錯。即使出現錯誤也可以很快的找到問題所在。 1.2 方案 變數在使用的過程中,常見問題總結為如下

1.java 基本資料型別運算子控制語句方法遞迴

1.基本資料型別   Java是一種強型別語言,每個變數都必須宣告其資料型別。 Java的資料型別可分為兩大類:基本資料型別(primitive data type)和引用資料型別(reference data type)。 Java中定義了3類8種基本資料型別 (1)整

學習筆記,C語言資料型別

目錄 資料型別 基本資料型別 資料型別 基本資料型別 bool型別 使用bool型別 需要引入<stdbool.h> 型別bool的值域 型別名

4. C語言 -- 資料型別取值範圍

本部落格主要內容為 “小甲魚” 視訊課程《帶你學C帶你飛》【第一季】 學習筆記,文章的主題內容均來自該課程,在這裡僅作學習交流。在文章中可能出現一些錯誤或者不準確的地方,如發現請積極指出,十分感謝。 也歡迎大家一起討論交流,如果你覺得這篇文章對你有所幫助,記得

C語言資料型別表示式相關知識(Linux)

#include<stdio.h> int main(int argc,char**argv) { printf(“Hello Word\n"); printf(“argv[%d],%s\n”,i,argv[i]); return 0; } 計算

Java初學者的精神食糧——語言基礎之識別符號資料型別變數常量

一、Java識別符號 1、識別符號(identifier) java程式設計中識別符號是賦予變數、物件、類和方法的名稱 識別符號可以由字母,數字,下劃線_,和"$"組成 識別符號必須以字母、下劃線_或$開頭,之後可以跟其他字元 識別符號嚴格區分大小寫,無長度限

資料結構C語言 Part4 串陣列廣義表

首先,我們目前提到的(Part1-Part4)都是線性結構。 這一節,我們主要是要掌握: 1. 瞭解串的儲存方法,理解串的兩種模式匹配演算法,重點掌握BF演算法。 2. 明確陣列和廣義表這兩種資料結構的特點,掌握陣列地址計算方法,瞭解幾種特殊矩陣的壓縮儲存方法。 3.

新手初入Java(二)資料型別變數常量以及拆包

資料型別、變數和常量以及拆包和裝包 一、資料型別 Java資料型別分為基本型別(primitive types)和引用型別(reference type),其中基本型別又分為數值型、字元型、布林型。引用型別又分為類型別、介面型別、陣列型別、null型別。這兩種大的型別包含了int

Python資料型別運算子流程語句(條件結構,迴圈結構)斐波那契數列99乘法表(for,while)

一、Python變數型別 型別 數值型、字串、元組、列表、字典等 例:c/c++、java是強型別的程式語言,一個變數在使用前確定型別,在程式期間,變數的型別是不能改變的; 指令碼語言:shell、python、perl、javaScript弱型別; Pytho

C語言 資料型別輸入輸出函式(2018.11.17)

基本資料型別 5個方式瞭解基本型別 1、符號 2、位元組數 3、資料範圍 4、表示方法 5、運算方法 記憶體空間分配給變數,不是型別 指標型別:指標變臉中只能存放地址 空型別:主要用於資料型別的轉換和定義函式型別 void指標是萬用指標,萬用=無用,多數用於型別轉換後使用 限定性流程

C++學習筆記】三C++的資料型別儲存以及基本運算

本文記錄了C++中的資料型別以及基本運算,這部分是典型的每次記每次忘型別,所以烙印在此,以便用時隨時查閱。 主要參考:http://www.runoob.com/cplusplus/cpp-data-types.html 1. C++中的資料型別 (1)基本型別 C++ 為程式

JavaSE之變數資料型別運算子流程控制

一、變數 1.什麼是變數? 記憶體中的一塊儲存空間,是儲存資料的容器且只能存一個值,因為存在在其中的資料可以改變所以稱之為變數。 2.語法格式 資料型別  變數名;比如 int  age; 其中變數名時記憶體空間的地址名,資料型別可以是基本資料型別也可以是引用資料型別

Java學習筆記--資料型別運算子選擇語句迴圈語句方法陣列介紹

java中的關鍵字全部為小寫。 識別符號包括數字、字母、下劃線、數字和$,不能以數字開頭。 包(也就是資料夾,用於區分相同名字的類)名為小寫字母。 類或介面類名每個單詞首字母大寫。 方法或變數名,首單詞首字母小寫,後面單詞首字母大寫。 常量名全部大寫,單詞中間用下劃線隔開。 字元常量用單引號,字串常量用雙引

2變數資料型別運算子

1、變數 ☆定義:用來儲存數值的記憶體區域,用來記錄數值。可用於代數計算。 ☆格式:資料型別 變數名 = 變數值;(int a = 2;) 變數型別——java是強型別語言,不同的資料型別在記憶體中的儲存方式不盡相同,所以必須指定其型別。 變數名——即識別符號

C語言巨集中###運算子的使用

#include <stdio.h> #define P1(a) printf("%s^2 = %d\r\n", #a, (a)*(a)) #define P2