c語言輸入長整型
① c語言中長整型和整型的范圍
1、c語言中長整型常量:的數值范圍最小是十進制的-2147483647~+2147483647,在計算機中最少佔用4個位元組。位元組長度跟操作系統和編譯器有關,longint長度至少32位,而64位類Unix系統為64位。
2、c語言中整型常量:是通常的整數,包括正整數、負整數和0,其數據類型顯然是整型。整型常量內存大小和數值范圍取決於編譯器。
(1)c語言輸入長整型擴展閱讀
c語言中VB中的長整型
VB中整數類型有兩種:Integer和Long,都是有符號的整數
Integer變數存儲為16位(2個位元組)的數值形式,其范圍在-32,768至32,767之間。Integer的類型聲明字元是百分比符號(%)。
Long(長整型)變數存儲為32位(4個位元組)有符號的數值形式,其范圍從-2,147,483,648到2,147,483,647(約為21億)。Long的類型聲明字元為和號(&)。
② c語言長整型怎麼輸出
在C語言中可以通過輸出函數printf中的輸出格式說明符來輸出長整型數值。
具體格式可以參考如下程序段:
longinta=123456789;
printf("%ld",a);//%ld表示按長整型的數據格式輸出變數a,輸出結果為123456789
③ 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進制)。
④ C語言中無符號長整型數的輸入輸出格式是什麼
C語言中無符號長整型數的輸入輸出格式%u。
示例:
intmain()
{
unsignedinta;
intb=-1;
a=b;
printf(「%u」,a);
}
(4)c語言輸入長整型擴展閱讀
c語言printf()輸出格式
%p指針
%s字元串
%%"%"
%a(%A)浮點數、十六進制數字和p-(P-)記數法(C99)
%c字元
%d有符號十進制整數
%f浮點數(包括float和doulbe)
%e(%E)浮點數指數輸出[e-(E-)記數法]
%g(%G)浮點數不顯無意義的零"0"
%i有符號十進制整數(與%d相同)
%o八進制整數e.g.0123
%x(%X)十六進制整數<xml:namespaceprefix=st1/>()e.g.0x1234
⑤ c語言的長整形怎麼輸入~!最好給我寫到例題,我輸入總是益出,
長整型是可以存很大的數,但還是有限的啊,你狂輸一頓的話肯定會溢出的(呵呵)
下面是例子
#include < stdio.h >
void main()
{
long int a;
scanf( "%ld", &a );
printf( "%ld", a );
}
⑥ C語言編程實現從鍵盤輸入一個正的長整型數,然後分別取出該數的各位元組的值並進行屏幕輸出
這個題目說的有點不夠清楚。所謂美自己的職,我這里理解為每一個數位上的值。
#include
void prt(long n)
{if(n>9)prt(n/10);
printf("%ld ",n%10);
}
int main()
{ long n;
scanf("%ld",&n);
prt(n);
return 0;
}
⑦ C語言問題。編寫程序,輸入一個長整型正數,判斷該數是幾位數
#include<stdio.h>
#include<math.h>
main()
{
long int x;
int i=0;
printf("input:");
scanf("%ld",&x);
do{
x=x/10;
i++;
}while(x>0);
printf("the nubmer is:%d\n",i);
}
這樣就正確了,你自己運行下^_^
註: 除法運算符「/」:雙目運算具有左結合性。參與運算量均為整型時,結果也為整型,捨去小數。例如,你輸入123456 先執行123456/10 結果為12345 在繼續執行12345/10 結果為1234...........最後為1/10 結果為0 不滿足條件x>0 結束循環,列印i的值^_^
⑧ 關於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字面量,即不是長整型常量。
⑨ 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要稍慢一些,所以在輸出大量數據時,要盡量避免使用。
⑩ c語言長整型常量是什麼
C語言中合法的長整型常量是0L。
C語言提供了一種「長整型常量」。它們的數值范圍最小是十進制的 -2147483647 ~ +2147483647,在計算機中最少佔用4個位元組。它的書寫方法也分為十進制、八進制和十六進制整數三種,唯一不同的是在整數的末尾要加上小寫字母「l」或者大寫字母「L」。
因此,C語言中合法的長整型常量是0L。
(10)c語言輸入長整型擴展閱讀:
整型常量前面沒有+或者-,-10其實是一元-運算符和操作數10,同樣整型常量的十進製表示並沒有0,單獨寫一個0其實是一個八進制常量。整型常量內存大小和數值范圍取決於編譯器。
由於整型常量分為短整型和長整型兩種,又有十進制、八進制和十六進制的三種書寫形式,所以使用整型常量時,要注意區分。雖然它們有相同的數值,但它們在內存中佔用不同數量的位元組。