日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

c语言变量名必须用小写 常量用大写,day02 -C语言 常量 变量 数据类型 进制转换 数据溢出...

發(fā)布時(shí)間:2025/3/20 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言变量名必须用小写 常量用大写,day02 -C语言 常量 变量 数据类型 进制转换 数据溢出... 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

常量 - 不會(huì)變化的數(shù)據(jù)

“hello” ‘A’ 10 3.14

#define PI 3.14 //采用宏定義的方法 定義一個(gè)常量

const int a = 10;

求圓的面積和周長(zhǎng)

#include

#define PI 3.14

int main(void)

{

//圓的面積 s = r * r * PI

int r = 3;

float s = PI * r * r;

//圓的周長(zhǎng) l = 2 * PI * r

float l = PI * r * 2;

printf("圓的面積是%f\n",s);

printf("圓的周長(zhǎng)是%f\n",l);

//保留小數(shù)點(diǎn)后兩位

printf("保留小數(shù)點(diǎn)后兩位后的結(jié)果,對(duì)第三位進(jìn)行四舍五入后的結(jié)果\n");

printf("圓的面積是%.2f\n",s);

printf("圓的周長(zhǎng)是%.2f\n",l);

return 0;

}

變量 - 會(huì)變化的數(shù)據(jù)

定義語(yǔ)法

類(lèi)型 名 變量名 = 變量值;

int x = 123;

變量三要素

類(lèi)型名

變量名

變量值 可以使表達(dá)式,也可以是常量

存儲(chǔ)空間

每一個(gè)存儲(chǔ)空間都有 0xaabb 類(lèi)似的指針指向的地址

空間大小由變量類(lèi)型決定,比如說(shuō)int是 4 字節(jié)

變量的定義和聲明區(qū)別

定義是賦值了

int x = 123;

聲明沒(méi)有賦值

int a;

extern int a; 有 extern關(guān)鍵字就不會(huì)提升為定義了

區(qū)別:

變量定義會(huì)開(kāi)辟內(nèi)存空間

變量 聲明不會(huì)開(kāi)辟內(nèi)存空間,變量沒(méi)定義,使用之前會(huì)自動(dòng)尋找變量聲明提升為定義

變量要想使用,必須要定義,沒(méi)寫(xiě)就自動(dòng)給值

標(biāo)識(shí)符

命名規(guī)則

常量 大寫(xiě)

變量 小寫(xiě)

只能使用字母,數(shù)字,下劃線(_)

數(shù)字不能開(kāi)頭

整型

定義

short

int

long

long long

輸出

%d

sizeof求占用空間大小

#include

int main(void)

{

short s = 1;

int a = 40;//

long l1 = 111111;

long long ll1 = 9999999999999999999;

printf("short大小為:%d個(gè)字節(jié)\n",sizeof(s));

printf("int大小為:%d個(gè)字節(jié)\n",sizeof(a));

printf("long大小為:%d個(gè)字節(jié)\n",sizeof(l1));

printf("long long大小為:%d個(gè)字節(jié)\n",sizeof(ll1));

printf("short大小為:%d個(gè)字節(jié)\n", sizeof(short));

printf("int大小為:%d個(gè)字節(jié)\n", sizeof(int));

printf("long大小為:%d個(gè)字節(jié)\n", sizeof(long));

printf("long long大小為:%d個(gè)字節(jié)\n", sizeof(long long));

return 0;

}

輸出

short大小為:2個(gè)字節(jié)

int大小為:4個(gè)字節(jié)

long大小為:4個(gè)字節(jié)

long long大小為:8個(gè)字節(jié)

short大小為:2個(gè)字節(jié)

int大小為:4個(gè)字節(jié)

long大小為:4個(gè)字節(jié)

long long大小為:8個(gè)字節(jié)

有符號(hào)整型signed 有符號(hào)可以為正數(shù)或負(fù)數(shù)

超級(jí)不常用

signed int a = 10;

無(wú)符號(hào)類(lèi)型unsigned 無(wú)符號(hào)一定是正數(shù)

unsigned int a = 10; //表示a 一定是無(wú)符號(hào),指的是數(shù)據(jù)量,不表示方向(沒(méi)有正負(fù) )

數(shù)據(jù)類(lèi)型

整數(shù)類(lèi)型總結(jié)

有符號(hào)類(lèi)型signed

short%hd 2字節(jié)

int %d4字節(jié)

long %ld4字節(jié) Windows32位和64位都是4字節(jié),linux 32位是4字節(jié),64位是8字節(jié)

long long %lld8字節(jié)

無(wú)符號(hào)類(lèi)型unsigned

unsigned short%hu 2字節(jié)

unsigned int %u4字節(jié)

unsigned long %lu4字節(jié) Windows32位和64位都是4字節(jié),linux 32位是4字節(jié),64位是8字節(jié)

unsigned long long %llu8字節(jié)

字符類(lèi)型char

char c = ‘A’ ;//單引號(hào)

?

#include

int main(void)

{

char c = 'A';

printf("%c\n",c); //A

printf("%d\n",c); //65

c = '#';

printf("%c\n",c); //#

printf("%d\n",c); //35

c = 97;

printf("%c\n", c); //a

printf("%d\n", c); //97

return 0;

}

大小寫(xiě)轉(zhuǎn)換

#include

int main(void)

{

//大小寫(xiě)轉(zhuǎn)換 差32

char c = 'M';

printf("%c\n", c);

c += 32;

printf("%c\n",c);

return 0;

}

認(rèn)識(shí)幾個(gè)重要字符

‘A’ 65

‘a(chǎn)’ 97

‘0’48

‘\n’ 10

‘\0’ 0

轉(zhuǎn)義字符: ‘\’ 反斜杠,將普通字符轉(zhuǎn)為特殊意義,也可以反轉(zhuǎn)

浮點(diǎn)型,小數(shù)型

單精度浮點(diǎn)型float 4字節(jié)

定義

float f = 1.234f

尾不加 f 默認(rèn)是 double

?默認(rèn)保留6位小數(shù)

無(wú)符號(hào)的單精度浮點(diǎn)型

unsigned float f = 4.234

輸出時(shí)候

用%f

用%.3f 控制小數(shù)點(diǎn)后位數(shù)

用%5.3f 控制小數(shù)點(diǎn)后位數(shù),和所占的空間

用%05.3f 控制小數(shù)點(diǎn)后位數(shù),和所占的空間,不足的地方用0表示

雙精度浮點(diǎn)型double 8字節(jié)

定義

double d = 5.324534

無(wú)符號(hào)的雙精度浮點(diǎn)型

unsigned double d = 5.7545

輸出時(shí)候

用%lf

用%.6lf 控制小數(shù)點(diǎn)后位數(shù)

用%8.6lf 控制小數(shù)點(diǎn)后位數(shù),和占8位空間

用%08.6lf 控制小數(shù)點(diǎn)后位數(shù),和占8位空間,不足的地方用0表示

有符號(hào)類(lèi)型

#include

int main(void)

{

float f = 3.14f;

double d = 4.566;

//默認(rèn)輸出小數(shù)點(diǎn)后6位

printf("%f\n", f); //3.140000

printf("%lf\n", d);//4.566000

//可以通過(guò).的方式限制小數(shù)點(diǎn)后面位數(shù),多余的 四舍五入,不夠的用0補(bǔ)上

printf("%.2f\n",f);//3.14

printf("%.3lf\n",d);//4.566

//可以通過(guò)前面固定占幾位的空間

printf("%5.2f\n", f);// 3.14

printf("%6.3lf\n", d);// 4.566

//可以通過(guò)前面固定占幾位的空間,不足的地方用0補(bǔ)齊

printf("%05.2f\n", f);//03.14

printf("%06.3lf\n", d);//04.566

}

科學(xué)計(jì)數(shù)法賦值

?float f = 2.3e3f

?float f = 2.3e-3f

進(jìn)制轉(zhuǎn)換

計(jì)算機(jī)內(nèi)部存儲(chǔ) - 二進(jìn)制

十進(jìn)制轉(zhuǎn)二進(jìn)制:

除二反向取余

二進(jìn)制轉(zhuǎn)十進(jìn)制

按照 1*2的次冪來(lái) 相加,如果位上是0 就不相加了

2^10 = 1024

2^9 = 512

2^8 = 256

2^7 = 128

2^6 = 64

2^5 = 32

2^4 = 16

2^3 = 8

2^2 = 4

2^1 = 2

2^0 = 1

八進(jìn)制轉(zhuǎn)十進(jìn)制

定義八進(jìn)制的語(yǔ)法:

056:零開(kāi)頭,每位數(shù)是0-7之間

每一個(gè)位是8的幾次方

056

? 5個(gè)8的一次方 = 40

?6個(gè)8的零次方 = 6

結(jié)果46

八進(jìn)制轉(zhuǎn)二進(jìn)制: 三位421法

除二反向取余

056 對(duì)應(yīng)二進(jìn)制

按照421來(lái),一個(gè)8禁止為對(duì)應(yīng)三位二進(jìn)制

5的二進(jìn)制是 101

6的二進(jìn)制是 110

8進(jìn)制056的二進(jìn)制是

101 110

八進(jìn)制05326轉(zhuǎn)二進(jìn)制

101011010110

二進(jìn)制轉(zhuǎn)換八進(jìn)制

三位一組轉(zhuǎn)換成8進(jìn)制,從右往前分

001 101 010 101 001

1 5 2 5 1

015251

十六進(jìn)制轉(zhuǎn)十進(jìn)制

十六進(jìn)制表示方法:

0xFD89A2

A–10

B–11

C–12

D–13

E–14

F–15

?16^516^416^316^216^116^0

0xFD89A2

?1048576x15+ 65536x13 + 4096x8+ 256x9+16x10 + 1 x 2

=15728640 + 851968 +32768 +2304 +160 +2

=16615842

十六進(jìn)制轉(zhuǎn)二進(jìn)制 四位8421法

0x 1A

1 A

0001 1010

00011010

二進(jìn)制轉(zhuǎn)16進(jìn)制 四位一算

0101 0101 1001 0010 1110

0x5 5 9 2 E

0x5592e

輸出格式統(tǒng)計(jì)

格式

表示

類(lèi)型

%d

有符號(hào) - 十進(jìn)制整型

int

%u

無(wú)符號(hào) - 十進(jìn)制整型

unsigned int

%o

八進(jìn)制

%x

十六進(jìn)制

%hd

有符號(hào) - 短整型

short

%hu

無(wú)符號(hào) - 短整型

unsigned short

%ld

有符號(hào) - 長(zhǎng)整型

long

%lu

無(wú)符號(hào) - 長(zhǎng)整型

unsigned long

%lld

有符號(hào) - 長(zhǎng)長(zhǎng)整型

long long

%llu

無(wú)符號(hào) - 長(zhǎng)長(zhǎng)整型

unsigned long long

%c

字符型

char

%f

浮點(diǎn)型

float

%lf

雙精度浮點(diǎn)型

double

原碼反碼補(bǔ)碼

原碼

特點(diǎn):

最高位為符號(hào)位,0表示正,1表示負(fù)

其他樹(shù)脂部分就是數(shù)值本身絕對(duì)值的二進(jìn)制數(shù)

負(fù)數(shù)的原碼是在絕對(duì)值的基礎(chǔ)上,最高位變?yōu)?

十進(jìn)制數(shù)

原碼

+15

0000 1111

-15

1000 1111

+0

0000 0000

-0

1000 0000

反碼

特點(diǎn)

對(duì)于正數(shù):反碼和原碼相同

對(duì)于負(fù)數(shù):符號(hào)位不變,其他部分取反0變1,1變0

十進(jìn)制數(shù)

反碼

+15

0000 1111

-15

1111 0000

+0

0000 0000

-0

1111 1111

補(bǔ)碼 (現(xiàn)今計(jì)算機(jī)采用的存儲(chǔ)方式)

特點(diǎn)

正數(shù)的原碼反碼補(bǔ)碼都一樣

負(fù)數(shù)的補(bǔ)碼是: 反碼基礎(chǔ)上+1

?最高位表示符號(hào)位

?其余位取反 + 1

43-27 ==> 43 + -27

00101011

?10011011

?11100100

11100101

00010000

算出來(lái)是二進(jìn)制16

人為規(guī)定

00000000 ==> 0

11111111 ==> -128

char類(lèi)型 8個(gè)比特位,最高表示符號(hào),數(shù)值位有7個(gè)

?最大數(shù)值就是-2^7 到 2^7-1 (因?yàn)槎嗔艘粋€(gè)0) = -2^(8-1) 到 -2^(8-1)-1

?-128~127

?而無(wú)符號(hào)位的第一位不用表示符號(hào),就能表示 2^8 - 1(有一個(gè)0)個(gè)

?0 ~255

int類(lèi)型4x8 = 32比特位個(gè),最高位表示符號(hào),數(shù)值位有31個(gè)

?最大數(shù)值就是-2^31 到 2^31-1(因?yàn)槎嗔艘粋€(gè)0)

?-2147483648 ~ 2147483647

?無(wú)符號(hào)整形就是:0 - 2^32 -1 0 ~ 4294967295

long類(lèi)型 4x8 = 32比特位,最高位表示符號(hào),數(shù)值位有31個(gè)

?最大數(shù)值就是-2^31 到 2^31-1(因?yàn)槎嗔艘粋€(gè)0)

?-2147483648 ~ 2147483647

?無(wú)符號(hào)長(zhǎng)整形 首位作為數(shù)值位了后范圍:04294967295(0(2^32-1)

long long類(lèi)型 8x8 = 64bit

? 范圍:-922 3372 0368 5477 5808 ~ 922 3372 0368 5477 5807 (922*10^16)

?無(wú)符號(hào)類(lèi)型長(zhǎng)長(zhǎng)整型為 0 ~ 1844 6744 0737 0955 1615 (1844*10^16)

數(shù)據(jù)溢出

char 取值范圍 -128 - 127

char c = 127+1;

= 01111111 +1

=10000000 = -128

10000001 = -127

良浩

發(fā)布了33 篇原創(chuàng)文章 · 獲贊 6 · 訪問(wèn)量 8萬(wàn)+

私信

關(guān)注

標(biāo)簽:字節(jié),符號(hào),int,day02,數(shù)據(jù)類(lèi)型,unsigned,long,C語(yǔ)言,printf

來(lái)源: https://blog.csdn.net/zlhyy666666/article/details/104586698

《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專(zhuān)家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的c语言变量名必须用小写 常量用大写,day02 -C语言 常量 变量 数据类型 进制转换 数据溢出...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。