1樓:元琪睿實鯨
無符號當然就沒法輸出負數了
在二進位制碼中
第一位是符號位
無符號也就沒有符號位
所以32位整數的取值
2樓:砍侃看
%u是無符號整形,4294967295應該是無符號數的最大值
3樓:萍水e相逢
很正常4294967295 = 0xffffffff
%u 就是 無符號數 形式
u int unsigned decimal integer.
4樓:匿名使用者
%u是以無符號數輸出。
5樓:華秋嬋月
k是int型常量,int=signed long (有符號長整型),就是有正負之分。
int的範圍是 -(2^31)-1 ~ (2^31)-1
%u是unsigned,無符號,就是沒有正負之分,只有正數,負數也當作正數處理。
這裡的範圍是一個環狀的,-1的無符號型並不是1,而是2^32-1,其原因:
首先,unsigend int範圍是0~(2^32)-1
有符號時:——————————————
…… -1 0 ……
無符號時:——————————————
0 1 2 ………… | |
4294967294 4294967295(==-1)
也就是說,-1原先在0的左邊,在整形負數中最靠近0,但是一旦負號不存在,-1就被丟到了後面,-1的unsigned值自然是unsigned int的最大值4294967295。
再有,-3的unsigned型是:4294967293.
這裡的範圍是環形的概念還要你自己揣摩、分析。如若還是看不懂,我建議你問你的老師或是同學,不要抹不開面,搞學術的,就要有喜歡問的習慣。遇到不懂的一定要問明白,不可忽視。
6樓:不是很無知
你好好看一下c語言書裡面反碼補碼這一部分,如果你知道數字在記憶體中是怎麼儲存的,你就知道為什麼-1的無符號是4294967295了。
c語言裡面的%ld、%d、%u都是什麼意思啊?
7樓:熱心網友
%ld,%d,%u都是格式說明符中的型別。它的作用是將輸入或者輸出的資料按照格式說明符指定的格式進行輸入或者輸出。
(1)%ld表示資料按十進位制有符號長型整數輸入或輸出。
(2)%d表示資料按十進位制有符號整型數輸入或輸出。
(3)%u表示資料按十進位制無符號整型數輸入或輸出。
格式說明符由%和格式字元組成。在一個格式控制字串中可以有多個格式說明符,每一組格式說明符都是以%開始,以一個格式字元作為結束。具體型別和所代表含義如下圖:
擴充套件資料:
當格式說明符限制了輸入或輸出的資料型別時,要與資料起始定義資料型別一一對應,否則會引起輸入或輸出錯誤。下面介紹一些基本的資料定義型別。
(1)void:宣告函式無返回值或無引數,宣告無型別指標,顯示丟棄運算結果。(c89標準新增)
(2)char:字元型型別資料,屬於整型資料的一種。(k&r時期引入)
(3)int:整型資料,表示範圍通常為編譯器指定的記憶體位元組長。(k&r時期引入)
(4)float:單精度浮點型資料,屬於浮點資料的一種。(k&r時期引入)
(5)double:雙精度浮點型資料,屬於浮點資料的一種。(k&r時期引入)
(6)_bool:布林型(c99標準新增)
(7)_complex:複數的基本型別(c99標準新增)
(8)_imaginary:虛數,與複數基本型別相似,沒有實部的純虛數(c99標準新增)
(9)_generic:提供過載的介面入口(c11標準新增)
8樓:低調額低調額
1、%d 十進位制有符號整數。
2、%u 十進位制無符號整數。
3、%ld 輸出long整數 。
4、%s 字串。
5、%c 單個字元。
6、%p 指標的值。
7、%e 指數形式的浮點數。
8、%x, %x 無符號以十六進位制表示的整數。
9、%0 無符號以八進位制表示的整數。
10、%g 自動選擇合適的表示法。
擴充套件資料精度指定:
* d、o、i、 u、x 或 x 轉換的最少數字顯示位數。
* e 和 f 轉換的基數字符後的最少數字顯示位數。
* g 轉換的最大有效數字位數。
* s 轉換中字串的最大列印位元組數目。
包含需要輸出的資料,可以是常量(字元常量、數字常量、字串常量),變數,以及運算式。此處的資料應當與前面的format中的格式控制符一一對應(如果不對應會產生錯誤)。
9樓:匿名使用者
%d 十進位制有符號整數
%u 十進位制無符號整數
%f 浮點數
%s 字串
%c 單個字元
%p 指標的值
%e 指數形式
的浮點數
%x, %x 無符號以十六進位制表示的整數
%0 無符號以八進位制表示的整數
%g 自動選擇合適的表示法
可以在"%"和字母之間加小寫字母l, 表示輸出的是長型數。
%ld 表示輸出long整數
%lf 表示輸出double浮點數
可以在"%"和字母之間插進數字表示最大場寬。
例如: %3d 表示輸出3位整型數, 不夠3位右對齊。
%9.2f 表示輸出場寬為9的浮點數, 其中小數位為2, 整數位為6,
小數點佔一位, 不夠9位右對齊。
%8s 表示輸出8個字元的字串, 不夠8個字元右對齊。
如果字串的長度、或整型數位數超過說明的場寬, 將按其實際長度輸出。
但對浮點數, 若整數部分位數超過了說明的整數位寬度, 將按實際整數位輸出;
若小數部分位數超過了說明的小數位寬度, 則按說明的寬度以四捨五入輸出。
另外, 若想在輸出值前加一些0, 就應在場寬項前加個0。
例如: %04d 表示在輸出一個小於4位的數值時, 將在前面補0使其總寬度
為4位。
如果用浮點數表示字元或整型量的輸出格式, 小數點後的數字代表最大寬度,
小數點前的數字代表最小寬度。
例如: %6.9s 表示顯示一個長度不小於6且不大於9的字串。若大於9, 則
第9個字元以後的內容將被刪除。
可以控制輸出左對齊或右對齊, 即在"%"和字母之間加入一個"-" 號可
說明輸出為左對齊, 否則為右對齊。
例如: %-7d 表示輸出7位整數左對齊
%-10s 表示輸出10個字元左對齊
10樓:匿名使用者
這個是格式輸出控制符,給你一個完整的:
%d 輸出有符號10進位制整數
%i 輸出有符號10進位制整數
%o 輸出無符號8進位制整數
%u 輸出無符號10進位制整數
%x 輸出無符號的16進位制數字,並以小寫abcdef表示%x 輸出無符號的16進位制數字,並以大寫abcdef表示%f/f 輸出浮點數
%e/e 輸出用科學表示格式的浮點數
%g 使用%f和%e表示中的總的位數表示最短的來表示浮點數 g 同g格式,但表示為指數
%c 輸出單個字元
%s 輸出字串
%s 輸出wchar_t字元(寬字元)型別字串%% 輸出百分號本身
11樓:匿名使用者
%d 短整形,一般佔兩個位元組
%u 無符號短整形
%ld 長整形,一般佔四個位元組
12樓:匿名使用者
%ld 長整形,一般佔四個位元組 long型別
%d 短整形,一般佔兩個位元組 int型別
%u 無符號短整形 shint型別
13樓:匿名使用者
%ld 有符號長整型
%d 有符號整型
%u 無符號整型
14樓:匿名使用者
%ld是double輸出表示形式
%d是int輸出表示形式
15樓:安徽新華電腦
%u 無符號10進位制整數
c語言的輸出%d,%u,%s都代表什麼意思啊?
16樓:楠公小白
隨便找本c語言教材都有說啊,基本上
%d 十進位制整數
%c 字元
%s 字串
%f, %g, %e 十進位制浮點數
%p 指標
%o 八進位制
%x 十六進位制
%u 無符號整數等等
17樓:匿名使用者
同意樓上的,
%ox也是十六進位制的。
%lf與double搭配
c語言的%ld、%d、%u是啥意思啊?
18樓:匿名使用者
這幾個都是c語言格式化輸入輸出時使用的格式符號。其中%u為誤寫,實際為%u。
格式化輸出函式包括printf, fprintf, sprintf等等。
格式化輸入函式包括scanf, fscanf, sscanf等等。
這類函式在輸入輸出的時候都有一個引數為格式化字串(format_str), 裡面介紹了輸入輸出字串的格式,當需要輸入輸出變數值時,就需要用對應的格式化字元來替代。
題目中提到的三種格式分別對應:
%ld對應long型,即長整型。
%d對應int型,即整型。
%u對應unsigned int型,即無符號整型。
除此以外,還有如下常見的型別。
%hd對應short型,即短整型。
%hu對應unsigned short型,即無符號短整型。
%f對應float型,即單精度浮點型。
%lf對應double型,即雙精度浮點型。
%c對應char型,即字元型。
%s對應char *型,即字元指標/字元陣列(均可稱為字串)。
%x對應int型,不過是以16進位制輸入輸出。
%lx對應long型,同樣是16進位制形式。
以下是一個簡單的例子:
#include
int main()
如果輸入1 2 3
將輸出i = 1
l = 2
u = 3
19樓:啦啦啦咯哦
printf()函式是格式化輸出函式, 一般用於向標準輸出裝置按規定格式輸出資訊。printf()函式的呼叫格式為: printf("《格式化字串》", 《參量表》)。
格式輸出,它是c語言中產生格式化輸出的函式(在 stdio.h 中定義)。用於向終端(顯示器、控制檯等)輸出字元。
格式控制由要輸出的文字和資料格式說明組成。要輸出的的文字除了可以使用字母、數字、空格和一些數字符號以外,還可以使用一些轉義字元表示特殊的含義。
%d 有符號10進位制整數(%ld 長整型,%hd短整型 )%hu 無符號短整形(%u無符號整形,%lu無符號長整形)%i 有符號10進位制整數 (%i 和%d 沒有區別,%i 是老式寫法,都是整型格式)
%o 無符號8進位制整數
%u 無符號10進位制整數
%x 無符號的16進位制數字,並以小寫abcdef表示%x 無符號的16進位制數字,並以大寫abcdef表示%f 輸入輸出為浮點型 (%lf雙精度浮點型)%e/e 用科學表示格式的浮點數
%c 輸入輸出為單個字元
%s 輸入輸出為字串
c語言指標輸出,C語言指標輸出 char str 2 printf c n , str printf x n , str printf x n ,str
在char str 2 中,str指向了字元 2 的地址,str的記憶體中裝的是字元 2 的地址,但自己也有一個地址,它的地址就是 str。getmemory str 傳入的是指標str自己的記憶體地址,而非它指向的地址 getmemory str 傳入的是指標str指向的地址,而非它自己的地址 首...
c語言輸出結果怎麼分行顯示,C語言 關於輸出資料時的換行問題。
在 中加入換行符就可以實現分行顯示,下面介紹2種的方法 include void main int i,j printf a 0 d n a 0 方法一 加入 n 會輸出換行 printf a 1 d a 1 puts 方法一 直接加puts 即可換行 補充 2中方法各有所長,根據實際情況選用 1,...
C語言輸出問題,C語言的輸出問題?
d的名字叫做格式說明符.格式說明符由兩部分組成,前面是 號 後面是一個小寫字母 不同的格式說明符代表不同的輸出格式,這裡,前面這個 d就是將對應的變數c以整數形式輸出.後面這個 d就是將對應的變數d以整數形式輸出.f是浮點數格式,也就是將變數以小數點的形式輸出,比如c 1 printf f c 那螢...