C語言裡di的意思,通俗點,書上不懂

2021-03-04 01:58:36 字數 5719 閱讀 2386

1樓:手機使用者

%d 對應整型資料 %i 對應帶符號整型資料 帶符號,就是常見的「+」、「-」

2樓:白刺客

%d和%i是一樣的,signed decimal integer,有符號十進位制整型

c語言中,printf中,%i和%d的區別是什麼

3樓:

%i和%d 沒有區別。

%i 是老式寫法。

都是整型格式。

int x,y;

scanf("%i %d",&x,&y); // 沒問題printf("%d %i",x,y); // 沒問題i % x -- 整除取餘運算。

4樓:匿名使用者

輸出型別不同

。%d是int型別,%i有輸出方式這個嗎?不記得了。

請看:你剛補充的是回i%,並不是%i,麻煩答你寫清楚,兩個並不是乙個概念。

你看看書上是不是 "i%" 後面還有字元呢? 例如:i%a,意思是變數i 對 變數a取餘,5 % 2 = 1 即:5 對2 取餘值為1。

c語言的格式說明符%d與%i的區別

5樓:匿名使用者

這兩個沒有卻別的。

可以看到 msdn 裡面的解釋。這兩個都表示,有符號的十進位制整數。

6樓:匿名使用者

兩者作用一樣,一般習慣用%d而少用%i...

c語言中格式說明符%i是什麼意思

7樓:

%i 就是 %d. 輸出帶符號的十進位制整型%i 是老式寫法。

i -- integer (英文 整數的意思)d -- decimal (英文 十進位制整數的意思)

8樓:八百攝氏度的歆

%i表示有符號十進位制整數

它與%d相比較的優點:%i可以自動將輸入的八進位制或十六進位制轉換為十進位制

9樓:劉小禎

表示輸出帶符號的十進位製數。。。。。。

其相當於%d.............

10樓:匿名使用者

輸出帶符號的十進位制整型

11樓:

scanf

語法:#include

int scanf( const char *format, ... );

scanf()函式根據由format(格式)指定的格式從stdin(標準輸入)讀取,並儲存資料到其回它引數. 它和printf()有點類答

似. format(格式)字串由控制字元,空白字元和非空白字元組成. 控制字元以乙個%符號開始,如下:

控制字元 說明

%c 乙個單一的字元

%d 乙個十進位制整數

%i 乙個整數

%e, %f, %g 乙個浮點數

%o 乙個八進位製數

%s 乙個字串

%x 乙個十六進位製數

%p 乙個指標

%n 乙個等於讀取字元數量的整數

%u 乙個無符號整數

% 乙個字符集

%% 乙個精度符號

c語言裡面,%d%c%f分別是什麼意思?怎麼用?

12樓:匿名使用者

%c 單個字元%d 十進位制整數(int)%ld 十進位制整數(long)%f 十進位制浮點數(float)%lf 十進位制浮點數(double)%o 八進位製數%s 字串(char)%u 無符號十進位製數(dword)%x 十六進位製數(0x00000)例子:int a=123;

cstring temp;

// %d是十進位制整數(int)

temp.format(「輸出:%d」,a);

::messagebox(null,temp,"資訊",0);

資訊框會顯示123

13樓:紅顏不求得

c語言並沒有定義這些東西,是某些函式定義了這些東西,比如scanf()和printf(),這些東西是「控制字元」,也就是用於「控制輸入、輸出的方式」的字元。

從輸入的角度來說:

當我們從鍵盤輸入資料時,我們按下的鍵其實都是「字元」,但這些按下的「字元」可以有不同的解讀方式,比如我按下'3',它可以被讀取、被認為是數字3,也可以被讀取、被認為是字元'3',所以我們獲取輸入的時候就要「指定讀取的方式」,而指定的方法就是設定「控制字元」,比如scanf()函式,如果我們令其為scanf("%c",&char變數),那麼當我們鍵盤按下「123.12」時,scanf()就會獲取第乙個字元'1',然後存進那個char變數中,而如果我們令其為scanf("%f",&float變數),那麼同樣鍵盤按下「123.12」時,scanf()就會將它們當作乙個整體、乙個浮點數123.

12,然後存進那個float型變數裡。

而從輸出的角度來說:

如果我們printf("%c",int變數),而且這個int變數為78,那麼螢幕上輸出的就不會是78,而是字元'n',只有printf("%d",int變數)時,螢幕上輸出的才會是78,而printf()有這種機制的原因,就是char型變數其儲存的其實也是「乙個數字」,如果不指明輸出的方式,那麼就不知道該如何解釋變數中的數字。當然還有對於字串,如果不通過%s來指明其是乙個字串,那printf()如何判斷該輸出乙個字元,還是直到'\0'的所有字元呢?

至於題目中所說的%c,%d,%f就分別對應著「將獲取、解釋的方式設為乙個字元」,「將獲取、解釋的方式設為乙個int型變數」,「將獲取、解釋的方式設為乙個float型」

c語言:預處理是什麼意思?就是看不懂這句話的解釋!越具體越好,也可以通俗一點!

14樓:水晶葡萄

預處理,再編譯前需要做的工作。預處理主要處理兩部分東西,標頭檔案和巨集。

對於標頭檔案,做操作。比如再某個.c中include了乙個標頭檔案,這一行預處理時就會被替換為標頭檔案的內容。

對於巨集,比如你define了乙個巨集。這裡就會把程式裡面所有用到這個巨集的地方替換掉。當然巨集還有其他操作,但是它們都是再預處理階段就被處理了的

15樓:匿名使用者

第十一章 預處理概述

在前面各章中,已多次使用過以「#」號開頭的預處理命令。如包含命令# include,巨集定義命令# define等。在源程式中這些命令都放在函式之外, 而且一般都放在原始檔的前面,它們稱為預處理部分。

  所謂預處理是指在進行編譯的第一遍掃瞄(詞法掃瞄和語法分析)之前所作的工作。預處理是c語言的乙個重要功能, 它由預處理程式負責完成。當對乙個原始檔進行編譯時, 系統將自動引用預處理程式對源程式中的預處理部分作處理, 處理完畢自動進入對源程式的編譯。

  c語言提供了多種預處理功能,如巨集定義、檔案包含、 條件編譯等。合理地使用預處理功能編寫的程式便於閱讀、修改、 移植和除錯,也有利於模組化程式設計。本章介紹常用的幾種預處理功能。

巨集定義在c語言源程式中允許用乙個識別符號來表示乙個字串, 稱為「巨集」。被定義為「巨集」的識別符號稱為「巨集名」。在編譯預處理時,對程式中所有出現的「巨集名」,都用巨集定義中的字串去代換, 這稱為「巨集代換」或「巨集」。

  巨集定義是由源程式中的巨集定義命令完成的。 巨集代換是由預處理程式自動完成的。在c語言中,「巨集」分為有引數和無引數兩種。

下面分別討論這兩種「巨集」的定義和呼叫。 無參巨集定義

無參巨集的巨集名後不帶引數。其定義的一般形式為: #define 識別符號 字串 其中的「#」表示這是一條預處理命令。

凡是以「#」開頭的均為預處理命令。「define」為巨集定義命令。 「識別符號」為所定義的巨集名。

「字串」可以是常數、表示式、格式串等。在前面介紹過的符號常量的定義就是一種無參巨集定義。 此外,常對程式中反覆使用的表示式進行巨集定義。

例如: # define m (y*y+3*y) 定義m表示式(y*y+3*y)。在編寫源程式時,所有的(y*y+3*y)都可由m代替,而對源程式作編譯時,將先由預處理程式進行巨集代換,即用(y*y+3*y)表示式去置換所有的巨集名m,然後再進行編譯。

#define m (y*y+3*y)

main()

上例程式中首先進行巨集定義,定義m表示式(y*y+3*y),在s= 3*m+4*m+5* m中作了巨集呼叫。在預處理時經巨集後該語句變為:s=3*(y*y+3*y)+4(y*y+3*y)+5(y*y+3*y);但要注意的是,在巨集定義中表示式(y*y+3*y)兩邊的括號不能少。

否則會發生錯誤。

當作以下定義後: #difine m y*y+3*y在巨集時將得到下述語句: s=3*y*y+3*y+4*y*y+3*y+5*y*y+3*y;這相當於; 3y

16樓:匿名使用者

提前說明了的叫預處理比如定義乙個變數#define max 1000**中所有的字元 max 就是1000比如#define print printf("ok");**中遇到print字串就是printf函式,輸出ok!預處理就是預先讓編譯系統知道,他的出現會有目的的在變化一不變數時只需要改預處理,所有資料都會改變,程式很容易維護,還有重要的是編譯系統執行預處理其效率高```做事情就是預先準備可能發生將要發生的事情做個總體計畫...

17樓:匿名使用者

baidu.***/view/1334643.htm 先看下前兩個介紹預處理,根據字面意思是預先做的處理在c語言裡包含三個方面1.

巨集定義2.包含檔案3.條件編譯這三個方面在上述網頁中有詳細介紹如有問題,請追問

c語言中比如printf(...%u...)和%d是一樣的,可是是什麼意思?還有%o,能否通俗點

18樓:

%u是用來輸出unsigned型資料的,既無符號數,以十進位制形式輸出。

%d輸出的是整型內資料,帶有負號。

通俗點就

容是用%d格式輸出的數可以帶有負號,%u輸出的書都沒有負號,用他們來輸出同乙個正數結果是一樣的,單輸出負數時結果就不一樣了,如用%u格式輸出-1時結果是65535(turbo c環境下)

%o輸出的是八進位製數如:83轉化為八進位制是123#include

void main()

結果是:83,123

19樓:匿名使用者

c語言格式輸出小結

:(1)最常用的格式是%d,含義是以10進製形式列印乙個整數。內如果輸出的整數是負容數,則,輸出的第乙個字元就是『-』號(2)%u格式與%d格式類似,只不過要求列印無符號10進製整數。

(3)%o格式請求輸出8進製整數

(4)%x和%x格式請求輸出16進製制整數。

%x格式中用小寫字母a,b,c,d,e,f來表示10到15之間的數%x格式中用大寫字母a,b,c,d,e,f來表示10到15之間的數共同點:8進製和16進製制整數總是作為無符號數處理的。

(5)%s格式用於列印字串,與之對應的引數應該是乙個字元指標,待輸出的字元始於該指標所指向的位址,直到出現乙個空字元('\0')

才終止。

(6)%c格式用於列印單個字元:例如:

printf("%c",c); 等價於 putchar(c);

(7)%g,%f和%e這三個格式用於列印浮點值。

問下c語言裡yz是什麼意思翱,問下,c語言裡x y z是什麼意思啊?

1 x y z y y z 2 x y x 2 3 5 printf x y 5 2 錯誤,所以結果是0 2 z y x 3 y x 3 5 3 x x 6 z y 15 printf y z,15 15 正確,結果為1 x 6 結果為6 所以輸出1,6 3 x y z 5 首先要知道運算子 是左結...

c語言裡fun是什麼意思,C語言請問下面程式中,fun是什麼意思

fun單純的看沒什麼意思 但在函式中 卻是多種多樣 具體的要看程式設計者編的程式的意思 function,函式 是不是你看的那個例題自己定義的函式或者引數?c語言 請問下面程式中,fun是什麼意思 在main函式中,fun 7,3,a 表示呼叫前面定義的fun int x,int y,int z 函...

c語言裡a b是什麼意思,C語言中語句a b 是什麼意思

首先你要明白什麼是表示式,還有變數。a是乙個變數。a a都是a加了1.比如a原來是1,執行了a 或 a後,a變數的值就是2了 至於a 和 a的區別主要是在表示式上的區別。a是先執行了a加1後,參與表示式的計算。a 是a先參與表示式的計算,後執行自加1.比如 int a,b a 1 如果你想把a的值1...