一、前言
這篇文章作為基礎知識點,總結C語言的基本數據類型有哪些,浮點數的精度,整數變量的空間范圍,變量定義語法,變量命名規則,浮點數打印格式,基本數據類型printf對應的打印、位運算的知識點。
二、變量的定義語法與數據類型
<數據類型> <變量名稱>;
例如: int a;
數據類型可以填哪些?
int、char、float、double、long、short
每個數據類型有什么區別?
int 用來存放整型數據。比如: 123、456、-678
char 用來字符和整型數據。比如:123、2、5、'A'、'K'
float 用來浮點數類型的數據(單精度)。比如: 12.34 、12.0 、 56.789
double 用來浮點數類型的數據(雙精度)。
long 用來存放整型數據。
short 用來存放整型數據。
int、char、short..都可以存放整型,具體有什么區別?
每個數據類型所占用的空間大小不一樣。
int 類型 占4個字節
char類型 占1個字節
short類型占2個字節
int、char、short..都可以存放整型,具體能存放多大的數據?
因為整數的有負數的,所以程序里數據類型分為有符號和無符號。
無符號的關鍵字: unsigned
比如: int類型定義就有以下方式
unsigned int a; //表示不存放符號位,4個字節=32位,全部存放有效數據。 最大值: 0~4294967295
int a; //表示存放符號位,4個字節=32位,除了最高位其他位存放有效數據。 最大值: -2147483646 ~ +2147483647
unsigned char b; //存放的數據范圍: 1個字節=8位 存放范圍:0~2550x00 ~ 0xFF
char b;//存放的數據范圍: 1個字節=8位 存放范圍: -128 - +127
float,double ..都可以存放浮點數,具體的區別?
float 存放單精度浮點數. 占空間4個字節。精確到小數點后6位。
double 存放雙精度浮點數. 占空間8個字節。精確到小數點后10位。
unsigned 關鍵字可以聲明哪些數據類型? 只能聲明整型。 unsigned char 、 unsigned int
<變量名稱> 是如何命名的?有什么要求?
變量名的首字母必須是: 字母或者是_ (下劃線)、 首字符之后可以是數字。
命名規則: 'A'到'Z' 'a' 到 'z' '0'到'9' '_'
后面函數名稱、數組的名稱、結構體......都遵循該命名規則。
變量名稱有沒有長度限制? 一般限定32個字符。
示例代碼驗證結果
#include
int main(int argc,char *argv[])
{
unsigned char a=256;
char b=128;
printf("a=%d\n",a); //0
printf("b=%d\n",b);//-128
return 0;
}
#include
int main(int argc,char *argv[])
{
printf("int=%d\n",sizeof(int)); //4字節
printf("unsigned int=%d\n",sizeof(unsigned int)); //4字節
printf("float=%d\n",sizeof(float)); //4字節
printf("short=%d\n",sizeof(short)); //2字節
printf("double=%d\n",sizeof(double)); //8字節
printf("char=%d\n",sizeof(char)); //1字節
printf("123=%d\n",sizeof(123));//4字節
return 0;
}
三、整數、浮點數格式前綴和打印格式
#include
int main(int argc,char *argv[])
{
int a=7; //十進制
int b=0x7; //十六進制
int c=07; //8進制
int d=0b0111; //二進制 gcc是支持。
printf("%d\n",a);
printf("%d\n",b);
printf("%d\n",c);
printf("%d\n",d);
return 0;
}
#include
int main(int argc,char *argv[])
{
unsigned int a=100;
int b=200;
float c=12.34;
double d=456.789;
long f=456;
printf("%u\n",a);
printf("%d\n",b);
printf("%.2f\n",c);
printf("%.3f\n",d);
printf("%ld\n",f);
return 0;
}
#include
int main(int argc,char *argv[])
{
printf("%10d\n",123); //左補齊空格
printf("%-10d,%d\n",123,456); //右邊補齊空格
return 0;
}
#include
int main(int argc,char *argv[])
{
printf("%#x\n",255); //16進制
printf("%#d\n",255); //10進制
printf("%#o\n",255); //八進制
return 0;
}
四、位運算知識點
位運算:~ 按位取反、| 按位或 & 按位與 >>按位右移 <<按位左移 ^異或運算
邏輯運算符: || 邏輯或 && 邏輯與 !邏輯非 (邏輯只有真假 0和1 非0即為真)
~ 按位取反的規則: 0為1、1為0
例如:
unsigned char a=0x38;
00111000
11000111
~a等于11000111
| 按位或的規則: 有1為1,全0為0
& 按位與的規則: 有0為0,全1為1
>>按位右移的規則: 低位溢出、高位補0
<<按位左移的規則: 高位溢出,低位補0
^異或運算的規則: 相同為0 不同為1
審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
數據
+關注
關注
8文章
7002瀏覽量
88941 -
C語言
+關注
關注
180文章
7604瀏覽量
136685 -
位運算
+關注
關注
0文章
17瀏覽量
8422
發布評論請先 登錄
相關推薦
C語言基本數據類型,變量和常量
),float(單精度浮點型),double(雙精度浮點型),signed(有符號) ,unsigned(無符號),long(長整型)數據數據類型的單詞在C語言中稱為關鍵字非基
發表于 01-16 11:33
C預處理與C語言基本數據類型
指令表:注意:宏名的書寫由標識符與兩邊各兩條下劃線構成。C語言基本數據類型不同操作系統中數據類型所占字節數圖解數據類型的其他分類:變量常量(
發表于 12-21 08:29
單片機C語言中常用的基本數據類型分為哪幾類
不管在什么語言中,定義一個變量時必然要在內存中開辟一個相應大小的空間來存儲該變量。不同的數據類型在內存所占的空間大小不同,其所能表示的數據范圍也不相同。在單片機C
發表于 02-28 06:46
C語言教程之C語言基本數據類型與順序程序設計講解
本文檔的主要內容詳細介紹的是C語言教程之C語言基本數據類型與順序程序設計講解。在程序運行時,其值不能被改變的量稱為常量。常量可分為三種:整型
發表于 10-26 16:48
?3次下載
C語言程序設計教程之基本數據類型、運算符和表達式的詳細資料概述
本文檔的主要內容詳細介紹的是C語言程序設計教程之基本數據類型、運算符和表達式的詳細資料概述主要內容包括了:1 C
發表于 10-31 18:04
?30次下載
C語言程序設計教程之基本數據類型和運算符及表達式的資料說明
本文檔詳細介紹的是C語言程序設計教程之基本數據類型和運算符及表達式的資料說明主要內容包括了:1 C的數據
發表于 01-25 15:44
?0次下載
評論