一、前言
這篇文章作為基礎(chǔ)知識(shí)點(diǎn),總結(jié)C語言的基本數(shù)據(jù)類型有哪些,浮點(diǎn)數(shù)的精度,整數(shù)變量的空間范圍,變量定義語法,變量命名規(guī)則,浮點(diǎn)數(shù)打印格式,基本數(shù)據(jù)類型printf對(duì)應(yīng)的打印、位運(yùn)算的知識(shí)點(diǎn)。
二、變量的定義語法與數(shù)據(jù)類型
<數(shù)據(jù)類型> <變量名稱>;
例如: int a;
數(shù)據(jù)類型可以填哪些?
int、char、float、double、long、short
每個(gè)數(shù)據(jù)類型有什么區(qū)別?
int 用來存放整型數(shù)據(jù)。比如: 123、456、-678
char 用來字符和整型數(shù)據(jù)。比如:123、2、5、'A'、'K'
float 用來浮點(diǎn)數(shù)類型的數(shù)據(jù)(單精度)。比如: 12.34 、12.0 、 56.789
double 用來浮點(diǎn)數(shù)類型的數(shù)據(jù)(雙精度)。
long 用來存放整型數(shù)據(jù)。
short 用來存放整型數(shù)據(jù)。
int、char、short..都可以存放整型,具體有什么區(qū)別?
每個(gè)數(shù)據(jù)類型所占用的空間大小不一樣。
int 類型 占4個(gè)字節(jié)
char類型 占1個(gè)字節(jié)
short類型占2個(gè)字節(jié)
int、char、short..都可以存放整型,具體能存放多大的數(shù)據(jù)?
因?yàn)檎麛?shù)的有負(fù)數(shù)的,所以程序里數(shù)據(jù)類型分為有符號(hào)和無符號(hào)。
無符號(hào)的關(guān)鍵字: unsigned
比如: int類型定義就有以下方式
unsigned int a; //表示不存放符號(hào)位,4個(gè)字節(jié)=32位,全部存放有效數(shù)據(jù)。 最大值: 0~4294967295
int a; //表示存放符號(hào)位,4個(gè)字節(jié)=32位,除了最高位其他位存放有效數(shù)據(jù)。 最大值: -2147483646 ~ +2147483647
unsigned char b; //存放的數(shù)據(jù)范圍: 1個(gè)字節(jié)=8位 存放范圍:0~2550x00 ~ 0xFF
char b;//存放的數(shù)據(jù)范圍: 1個(gè)字節(jié)=8位 存放范圍: -128 - +127
float,double ..都可以存放浮點(diǎn)數(shù),具體的區(qū)別?
float 存放單精度浮點(diǎn)數(shù). 占空間4個(gè)字節(jié)。精確到小數(shù)點(diǎn)后6位。
double 存放雙精度浮點(diǎn)數(shù). 占空間8個(gè)字節(jié)。精確到小數(shù)點(diǎn)后10位。
unsigned 關(guān)鍵字可以聲明哪些數(shù)據(jù)類型? 只能聲明整型。 unsigned char 、 unsigned int
<變量名稱> 是如何命名的?有什么要求?
變量名的首字母必須是: 字母或者是_ (下劃線)、 首字符之后可以是數(shù)字。
命名規(guī)則: 'A'到'Z' 'a' 到 'z' '0'到'9' '_'
后面函數(shù)名稱、數(shù)組的名稱、結(jié)構(gòu)體......都遵循該命名規(guī)則。
變量名稱有沒有長(zhǎng)度限制? 一般限定32個(gè)字符。
示例代碼驗(yàn)證結(jié)果
#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字節(jié)
printf("unsigned int=%d\n",sizeof(unsigned int)); //4字節(jié)
printf("float=%d\n",sizeof(float)); //4字節(jié)
printf("short=%d\n",sizeof(short)); //2字節(jié)
printf("double=%d\n",sizeof(double)); //8字節(jié)
printf("char=%d\n",sizeof(char)); //1字節(jié)
printf("123=%d\n",sizeof(123));//4字節(jié)
return 0;
}
三、整數(shù)、浮點(diǎn)數(shù)格式前綴和打印格式
#include
int main(int argc,char *argv[])
{
int a=7; //十進(jìn)制
int b=0x7; //十六進(jìn)制
int c=07; //8進(jìn)制
int d=0b0111; //二進(jìn)制 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); //左補(bǔ)齊空格
printf("%-10d,%d\n",123,456); //右邊補(bǔ)齊空格
return 0;
}
#include
int main(int argc,char *argv[])
{
printf("%#x\n",255); //16進(jìn)制
printf("%#d\n",255); //10進(jìn)制
printf("%#o\n",255); //八進(jìn)制
return 0;
}
四、位運(yùn)算知識(shí)點(diǎn)
位運(yùn)算:~ 按位取反、| 按位或 & 按位與 >>按位右移 <<按位左移 ^異或運(yùn)算
邏輯運(yùn)算符: || 邏輯或 && 邏輯與 !邏輯非 (邏輯只有真假 0和1 非0即為真)
~ 按位取反的規(guī)則: 0為1、1為0
例如:
unsigned char a=0x38;
00111000
11000111
~a等于11000111
| 按位或的規(guī)則: 有1為1,全0為0
& 按位與的規(guī)則: 有0為0,全1為1
>>按位右移的規(guī)則: 低位溢出、高位補(bǔ)0
<<按位左移的規(guī)則: 高位溢出,低位補(bǔ)0
^異或運(yùn)算的規(guī)則: 相同為0 不同為1
審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
6808瀏覽量
88743 -
C語言
+關(guān)注
關(guān)注
180文章
7594瀏覽量
135858 -
位運(yùn)算
+關(guān)注
關(guān)注
0文章
16瀏覽量
8409
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
C語言中的基本數(shù)據(jù)類型
C語言是非常重要的一門程序設(shè)計(jì)語言,學(xué)好C語言再去學(xué)習(xí)其他編程語言將變得很輕松,因?yàn)榇蟛糠?/div>
發(fā)表于 04-26 17:33
?1952次閱讀
技術(shù)干貨驛站 ▏深入理解C語言:基本數(shù)據(jù)類型和變量
在C語言中,數(shù)據(jù)類型和變量是編程的基礎(chǔ),也是理解更復(fù)雜概念的關(guān)鍵。數(shù)據(jù)類型決定了變量的內(nèi)存分配、存儲(chǔ)范圍和操作方式,而變量則是存儲(chǔ)數(shù)據(jù)的容器
C語言基本數(shù)據(jù)類型,變量和常量
),float(單精度浮點(diǎn)型),double(雙精度浮點(diǎn)型),signed(有符號(hào)) ,unsigned(無符號(hào)),long(長(zhǎng)整型)數(shù)據(jù)數(shù)據(jù)類型的單詞在C語言中稱為關(guān)鍵字非基
發(fā)表于 01-16 11:33
Java基本數(shù)據(jù)類型之間的運(yùn)算規(guī)則是什么?
Java基本數(shù)據(jù)類型Java變量的使用說明Java基本數(shù)據(jù)類型之間的運(yùn)算規(guī)則
發(fā)表于 11-04 09:59
C預(yù)處理與C語言基本數(shù)據(jù)類型
指令表:注意:宏名的書寫由標(biāo)識(shí)符與兩邊各兩條下劃線構(gòu)成。C語言基本數(shù)據(jù)類型不同操作系統(tǒng)中數(shù)據(jù)類型所占字節(jié)數(shù)圖解數(shù)據(jù)類型的其他分類:變量常量(
發(fā)表于 12-21 08:29
Java的基本數(shù)據(jù)類型與條件結(jié)構(gòu)
《Java基礎(chǔ)入門》第二篇1 基本數(shù)據(jù)類型,運(yùn)算符與表達(dá)式,條件結(jié)構(gòu),循環(huán)結(jié)構(gòu)...
發(fā)表于 12-23 08:02
單片機(jī)C語言中常用的基本數(shù)據(jù)類型分為哪幾類
不管在什么語言中,定義一個(gè)變量時(shí)必然要在內(nèi)存中開辟一個(gè)相應(yīng)大小的空間來存儲(chǔ)該變量。不同的數(shù)據(jù)類型在內(nèi)存所占的空間大小不同,其所能表示的數(shù)據(jù)范圍也不相同。在單片機(jī)C
發(fā)表于 02-28 06:46
C語言教程之C語言基本數(shù)據(jù)類型與順序程序設(shè)計(jì)講解
本文檔的主要內(nèi)容詳細(xì)介紹的是C語言教程之C語言基本數(shù)據(jù)類型與順序程序設(shè)計(jì)講解。在程序運(yùn)行時(shí),其值不能被改變的量稱為常量。常量可分為三種:整型
發(fā)表于 10-26 16:48
?3次下載
C語言程序設(shè)計(jì)教程之基本數(shù)據(jù)類型、運(yùn)算符和表達(dá)式的詳細(xì)資料概述
本文檔的主要內(nèi)容詳細(xì)介紹的是C語言程序設(shè)計(jì)教程之基本數(shù)據(jù)類型、運(yùn)算符和表達(dá)式的詳細(xì)資料概述主要內(nèi)容包括了:1 C
發(fā)表于 10-31 18:04
?30次下載
C語言程序設(shè)計(jì)教程之基本數(shù)據(jù)類型和運(yùn)算符及表達(dá)式的資料說明
本文檔詳細(xì)介紹的是C語言程序設(shè)計(jì)教程之基本數(shù)據(jù)類型和運(yùn)算符及表達(dá)式的資料說明主要內(nèi)容包括了:1 C的數(shù)據(jù)
發(fā)表于 01-25 15:44
?0次下載
51單片機(jī)學(xué)習(xí)筆記(9)——C51的基本數(shù)據(jù)類型和擴(kuò)充數(shù)據(jù)類型
基本數(shù)據(jù)類型:擴(kuò)充數(shù)據(jù)類型:
發(fā)表于 11-14 13:36
?1次下載
C語言的數(shù)據(jù)類型-2
對(duì)于一個(gè)計(jì)算機(jī)程序,它所做的所有運(yùn)算的本質(zhì)都是數(shù)據(jù)的處理。但是數(shù)據(jù)的樣式并不單一,因此就有了各種各樣的數(shù)據(jù)類型。在C
基本數(shù)據(jù)類型分享
基本數(shù)據(jù)類型 基本數(shù)據(jù)類型:包括位、位序列、整數(shù)、浮點(diǎn)數(shù)、日期時(shí)間。此外字符也屬于基本數(shù)據(jù)類型,請(qǐng)參見文檔String與WString。 1
評(píng)論