當前位置:首頁 » 編程語言 » c語言顯示長數字類型
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言顯示長數字類型

發布時間: 2022-11-17 12:18:33

A. c語言輸出為什麼變成一長串數字

fprintf按 %d寫入文件的是文本(對應數字的ASCII碼),而你用物理格式fread讀取,當然是不行的
把fprint那行換一下,以內存格式寫入:
.......
fwrite(&i, sizeof(i), 1, fp); //以內存格式寫入
......

PS: 所謂的文本文件打開格式,僅僅是處理windows下的回車符的, 其他和二進制沒有任何區別

B. C語言中關於long和float兩種數據類型

FLOAT 是浮點型 你以%f 格式輸出 即使 帶小數點 精確到小數點以後幾位輸出了, long 是長整形 即使 以整數格式輸出了 所以不一樣啊

C. C語言中無符號長整型數的輸入輸出格式是什麼

以%開頭的都是輸出控制符。主要有%d、%u、%ld、%p。

1、%d它的意思是按十進制整型數據的實際長度輸出。

2、%u輸出無符號整型(unsigned)。輸出無符號整型時也可以用 %d,這時是將無符號轉換成有符號數,然後輸出。

3、%ld它的意思是輸出長整型數據。

4、%p 輸出變數的內存地址。

(3)c語言顯示長數字類型擴展閱讀

1、八進制在C語言中,八進制的輸出格式是 %o,八進制是以0為開頭的數字,0後面的數字都要小於8,最大為7。

2、十六進制十六進制的輸出格式是 %x,十六進製表示的數是0x12 ,這個0也是零。十六進制有點特殊的地方是1-9是純數字,10-15是用A、B、C、D、E、F來表示的。

4、%d中的d並不表示integer,而是表示decimal(10進制)。

D. C語言中如何輸出長整型數值

在C/C++中,64為整型一直是一種沒有確定規范的數據類型。現今主流的編譯器中,對64為整型的支持也是標准不一,形態各異。一般來說,64位整型的定義方式有long long和__int64兩種(VC還支持_int64),而輸出到標准輸出方式有printf(「%lld」,a),printf(「%I64d」,a),和cout << a三種方式。

本文討論的是五種常用的C/C++編譯器對64位整型的支持,這五種編譯器分別是gcc(mingw32),g++(mingw32),gcc(linux i386),g++(linux i386),Microsoft Visual C++ 6.0。可惜的是,沒有一種定義和輸出方式組合,同時兼容這五種編譯器。為徹底弄清不同編譯器對64位整型,我寫了程序對它們進行了評測,結果如下表。

上表中,正確指編譯通過,運行完全正確;錯誤指編譯雖然通過,但運行結果有誤;無法編譯指編譯器根本不能編譯完成。觀察上表,我們可以發現以下幾點:

long long定義方式可以用於gcc/g++,不受平台限制,但不能用於VC6.0。

__int64是Win32平台編譯器64位長整型的定義方式,不能用於Linux。

「%lld」用於Linux i386平台編譯器,」%I64d」用於Win32平台編譯器。

cout只能用於C++編譯,在VC6.0中,cout不支持64位長整型。

表中最後一行輸出方式中的printint64()是我自己寫的一個函數,可以看出,它的兼容性要好於其他所有的輸出方式,它是一段這樣的代碼:

CPP

void printint64(long long a)


{


if (a<=100000000)


printf("%d ",a);


else


{


printf("%d",a/100000000);


printf("d ",a0000000);


}


}

這種寫法的本質是把較大的64位整型拆分為兩個32位整型,然後依次輸出,低位的部分要補0。看似很笨的寫法,效果如何?我把它和cout輸出方式做了比較,因為它和cout都是C++支持跨平台的。首先printint64()和cout(不清空緩沖區)的運行結果是完全相同的,不會出現錯誤。我的試驗是分別用兩者輸出1000000個隨機數,實際結果是,printint64()在1.5s內跑完了程序,而cout需要2s。cout要稍慢一些,所以在輸出大量數據時,要盡量避免使用。

E. c語言定義超大數字類型

用不了,無法定義超大類型,只能用字元串來模擬

F. c語言輸出數字的格式

格式:intgetchar(void);

intc=getchar();

b)等價於:intc=getc(stdin)

c)也等價於:

intc;

scanf(「%c」,&c);

a)單字元輸入輸出:

getchar、getc函數:c=getchar();等價於scanf(「%c」,&c);

putchar、putc函數:putchar(c);等價於printf(「%c」,c);

b)單行輸入輸出:

gets函數:gets(str);等價於scanf(「%s」,str);

puts函數:puts(str);等價於printf(「%s 」,str);

c)格式化輸入輸出:

printf包括:%d、%u、%x、%c、%s等等。

scanf包括:%d、%u、%x、%c、%s等等。

d)佔位控制:

對於整數和字元串在%和控制符之間的數字代表佔位,負號代表左對齊。

對於浮點數除了用數字代表佔位,負號代表左對齊,還有小數位數的管理。

(6)c語言顯示長數字類型擴展閱讀

C 語言中的數據類型(64位)

標識符長度名稱識別方式

char 1B 字元型 ASCII碼

short 2B 短整型 補碼

int 4B 整型 補碼

long 8B 長整型 浮點

float 4B 單精度 浮點

double 8B 雙精度 浮點

* 8B 地址、指針 位元組編號

G. c語言輸出超長的浮點型數據用什麼格式 請具體說明,最好能過舉個實例。謝謝!

以32位的機器為例。double類型為64位,
可以輸出的最大最小值為:最大10的308次方,最小10的負308次方,
不知道這樣解決你的問題沒有?

H. 關於C語言中長整型數

1.
長整型:有符號整數;滿足sizeof(long)>=sizeof(int),一般32位平台sizeof(long)為4;此外由於sizeof(short)<=sizeof(int),所以sizeof(long)>=sizeof(short)。

2.常量:不能被修改。
常量在c語言中是數值字面量。字面量後綴為l或l,表示long,例如1234l、0l。如果不帶後綴,默認為int字面量而不是long字面量,即不是長整型常量。

I. C語言超長數字20位用什麼

長整型不行就長長整型唄
__int64也不行就_uint64.
不清楚有沒有__int128......想的話你可以試試.

J. 程序C語言中基本數據類型(字元、整數、長整數、浮點)

第2章 數據類型、運算符與表達式
本章主要介紹C語言的各種數據類型、運算符和表達式。
2.1 C語言的數據類型
C語言的數據類型具體分類如下:
 基本類型:分為整型、實型(又稱浮點型)、字元型和枚舉型四種。
 構造類型:分為數組類型、結構類型和共用類型三種。
 指針類型
 空類型
2.2 常量和變數
2.2.1 常量
1、常量的概念:在程序運行過程中,其值不能被改變的量稱為常量
2、 常量的分類:
 整型常量
 實型常量
 字元常量
 符號常量
3、常量的類型,可通過書寫形式來判別。
2.2.2 變數
1、變數的概念:在程序運行過程中,其值可以被改變的量稱為變數
2、變數名:每個變數都必須有一個名字——變數名,變數命名遵循標識符命名規則
3、變數值:在程序運行過程中,變數值存儲在內存中。在程序中,通過變數名來引用變數的值
4、標識符命名規則:
 只能由字母、數字和下劃線組成,且以字母或下劃線開頭
 有效長度:隨系統而異,但至少前8個字元有效。如果超長,則超長部分被舍棄
 C語言的關鍵字不能用作變數名
 注意:C語言對英文字母的大小敏感,即同一字母的大小寫,被認為是兩個不同的字元。
習慣上,變數名和函數名中的英文字母用小寫,以增加可讀性。
5、變數的定義與初始化
在C語言中,要求對所有用到的變數,必須先定義、後使用;且稱在定義變數的同時進行賦初值的操作為變數初始化。
(1)變數定義的一般格式
數據類型 變數名[, 變數名2……];

例如,float radius, length, area;
(2)變數初始化的一般格式
數據類型 變數名[=初值][, 變數名2[=初值2]……];
例如,float radius=2.5, length, area;
2.3 整型數據
2.3.1 整型變數
1、分類
根據佔用內存位元組數的不同,整型變數又分為4類:
(1)基本整型(類型關鍵字為int)。
(2)短整型(類型關鍵字為short [int])。
(3)長整型(類型關鍵字為long [int])。
(4)無符號整型。無符號型又分為無符號基本整型(unsigned [int])、無符號短整型(unsigned short)和無符號長整型(unsigned long)三種,只能用來存儲無符號整數。
2、佔用內存位元組數與值域
上述各類型整型變數佔用的內存位元組數,隨系統而異。在16位操作系統中,一般用2位元組表示一個int型變數,且long型(4位元組)≥int型(2位元組)≥short型(2位元組)。
顯然,不同類型的整型變數,其值域不同。佔用內存位元組數為n的(有符號)整型變數,其值域為:-2n*8-1~(2n*8-1-1);無符號整型變數的值域為:0~(2n*8-1)。
例如,PC機中的一個int型變數,其值域為-22*8-1~(22*8-1-1),即-32768~32767;一個unsigned型變數的值域為:0~(22*8-1),即0~65535。
第2章 數據類型、運算符與表達式
本章主要介紹C語言的各種數據類型、運算符和表達式。
2.1 C語言的數據類型
C語言的數據類型具體分類如下:
 基本類型:分為整型、實型(又稱浮點型)、字元型和枚舉型四種。
 構造類型:分為數組類型、結構類型和共用類型三種。
 指針類型
 空類型
2.2 常量和變數
2.2.1 常量
1、常量的概念:在程序運行過程中,其值不能被改變的量稱為常量
2、 常量的分類:
 整型常量
 實型常量
 字元常量
 符號常量
3、常量的類型,可通過書寫形式來判別。
2.2.2 變數
1、變數的概念:在程序運行過程中,其值可以被改變的量稱為變數
2、變數名:每個變數都必須有一個名字——變數名,變數命名遵循標識符命名規則
3、變數值:在程序運行過程中,變數值存儲在內存中。在程序中,通過變數名來引用變數的值
4、標識符命名規則:
 只能由字母、數字和下劃線組成,且以字母或下劃線開頭
 有效長度:隨系統而異,但至少前8個字元有效。如果超長,則超長部分被舍棄
 C語言的關鍵字不能用作變數名
 注意:C語言對英文字母的大小敏感,即同一字母的大小寫,被認為是兩個不同的字元。
習慣上,變數名和函數名中的英文字母用小寫,以增加可讀性。
5、變數的定義與初始化
在C語言中,要求對所有用到的變數,必須先定義、後使用;且稱在定義變數的同時進行賦初值的操作為變數初始化。
(1)變數定義的一般格式
數據類型 變數名[, 變數名2……];

例如,float radius, length, area;
(2)變數初始化的一般格式
數據類型 變數名[=初值][, 變數名2[=初值2]……];
例如,float radius=2.5, length, area;
2.3 整型數據
2.3.1 整型變數
1、分類
根據佔用內存位元組數的不同,整型變數又分為4類:
(1)基本整型(類型關鍵字為int)。
(2)短整型(類型關鍵字為short [int])。
(3)長整型(類型關鍵字為long [int])。
(4)無符號整型。無符號型又分為無符號基本整型(unsigned [int])、無符號短整型(unsigned short)和無符號長整型(unsigned long)三種,只能用來存儲無符號整數。
2、佔用內存位元組數與值域
上述各類型整型變數佔用的內存位元組數,隨系統而異。在16位操作系統中,一般用2位元組表示一個int型變數,且long型(4位元組)≥int型(2位元組)≥short型(2位元組)。
顯然,不同類型的整型變數,其值域不同。佔用內存位元組數為n的(有符號)整型變數,其值域為:-2n*8-1~(2n*8-1-1);無符號整型變數的值域為:0~(2n*8-1)。
例如,PC機中的一個int型變數,其值域為-22*8-1~(22*8-1-1),即-32768~32767;一個unsigned型變數的值域為:0~(22*8-1),即0~65535。
實型數據
2.4.1 實型變數
C語言的實型變數,分為兩種:
(1)單精度型:類型關鍵字為float,一般佔4位元組(32位)、提供7位有效數字。
(2)雙精度型:類型關鍵字為double,一般佔8個位元組、提供15~16位有效數字。
2.4.2 實型常量
1、表示形式
實型常量即實數,在C語言中又稱浮點數,其值有兩種表達形式:
(1)十進制形式:例如3.14、9.8。
(2)指數形式:<尾數>E(e)<整型指數>。例如3.0E+5等。
2、關於類型
實型常量不分float型和double型。一個實型常量,可以賦給一個實型變數(float型或double型)。
2.5 字元型數據
2.5.1 字元常量
1、字元常量的定義
用一對單引號括起來的單個字元,稱為字元常量。
例如,『A』、『1』、『+』等。
2、轉義字元
C語言還允許使用一種特殊形式的字元常量,就是以反斜杠「\ 」開頭的轉義字元。
注意:如果反斜杠或單引號本身作為字元常量,必須使用轉義字元:『\\』、『\』『。
[案例2.1] 用轉義字元輸出可列印字元和不可列印字元。
main()
{
printf(「\x4F\x4B\x21\n」); /* 等價於printf(「OK!\n」); */
printf(「\x15 \xAB\n」);
}

程序運行結果如下:
OK!
2.5.2 字元變數
字元變數的類型關鍵字為char,一般佔用1位元組內存單元。
1.變數值的存儲
字元變數用來存儲字元常量。將一個字元常量存儲到一個字元變數中,實際上是將該字元的ASCII碼值(無符號整數)存儲到內存單元中。

例如,
char ch1, ch2; /*定義兩個字元變數:ch1,ch2*/
ch1=』a』; ch2=』b』; /*給字元變數賦值*/
2.特性
字元數據在內存中存儲的是字元的ASCII碼—— 一個無符號整數,其形式與整數的存儲形式一樣,所以C語言允許字元型數據與整型數據之間通用。
(1)一個字元型數據,既可以字元形式輸出,也可以整數形式輸出。
[案例2.2] 字元變數的字元形式輸出和整數形式輸出。
main()
{
char ch1,ch2;
ch1='a'; ch2='b';
printf(「ch1=%c,ch2=%c\n」,ch1,ch2);
printf(「ch1=%d,ch2=%d\n」,ch1,ch2);
}
程序運行結果:
ch1=a,ch2=b
ch1=97,ch2=98
(2)允許對字元數據進行算術運算,此時就是對它們的ASCII碼值進行算術運算。
[案例2.3] 字元數據的算術運算。
main()
{
char ch1,ch2;
ch1=『a』; ch2=『B』;
printf(「ch1=%c,ch2=%c\n」,ch1-32,ch2+32); /*字母的大小寫轉換*/
/*用字元形式輸出一個大於256的數值*/
printf("ch1+200=%d\n", ch1+200);
printf("ch1+200=%c\n", ch1+200);
printf("ch1+256=%d\n", ch1+256);
printf("ch1+256=%c\n", ch1+256);
}

程序運行結果:
ch1=A,ch2=b
ch1+200=297
ch1+200=)
ch1+256=353
ch1+256=a