1樓:寫在楓葉上的故事
在c語言中,輸入使用的是scanf函式,scanf函式的格式為scanf(格式控制,地址列表),如scanf("%d"&a)。
輸出使用的是printf()函式,printf函式的格式為printf(格式控制,輸出表列),如printf("%d\n",a)。在輸出時可以在"%"和字母之間插進數字表示最大場寬。可以根據需要輸出數字的位數來決定「%」前的數值。
如:%3d表示輸出3位整型數, 不夠3位右對齊。
%9.2f 表示輸出場寬為9的浮點數, 其中小數位為2, 整數位為7,小數點佔一位, 不夠9位右對齊。
%8s 表示輸出8個字元的字串, 不夠8個字元右對齊。
擴充套件資料
c語言輸入輸出時的規則:
一、格式說明符個數與輸入資料個數不相等的情況:
當我們輸入資料時,只要沒有按回車鍵,所輸入的資料都還存放在緩衝區,並沒有存入變數中。按【enter】鍵後,scanf()函式才會從緩衝區中取走資料。緩衝區是一個先進先出的佇列,即取走資料的時候,遵循先輸入的資料先取走的原則。
scanf函式的格式說明符有幾個就要取幾次資料,只要碰到格式說明符就必須把資料取走,至於是不是要把取走的資料存放起來,就得看資料列表中的資料個數。沒取完的資料繼續留在緩衝區中。
二、寬度輸出的情況:
1、在%和格式字元之間加入一個整數來控制輸出資料所佔寬度
2、在%和格式字元f之間加入一個「整數1. 整數2」來控制輸出資料的格式。
整數1:整個輸出資料佔的總寬度
整數2:輸出實數的小數部分的個數
注意:先用整數2處理小數部分,再用整數1處理整個資料,包括已處理好的小數部分
三、寬度輸入的情況:
寬度輸入指的是在%和格式說明符d之間加入一個整數。如:scanf("%2d", &x);
注意:1、%d與%1d是不同的,它們具有不同的含義。
2、 當寬度小於資料的實際寬度時,擷取指定寬度的部分作為一個數進入緩衝區,再將剩餘部分作為另一個數放入緩衝區。
2樓:匿名使用者
常用的格式符還有 %n.mf -- 浮點數, 總長n ,m位小數 。(可不用,取預設長)
%c -- 單字元, %s -- 字串 ,%t -- 固定下一區(8 位)
注:printf()中每個格式符都要與同型別的變數掛鉤,一個對一個。
理解原樣照印:設 x= 3 y=5
輸出 為 x=3 y=2*x-1=5
3樓:金色潛鳥
%3d 是根據自己的需要決定的。例如輸出數為1到3位,你考慮各行輸出資料對齊,
你可以用 %3d, 例如:
int a=1,b=18,c=123;
int d=23,e=35,f=56;
printf("%3d %3d %3d\n",a,b,c);
printf("%3d %3d %3d\n",d,e,f);
白白1 空白18 空123
白23空白35空白56
------
%d 是預設格式。
----
輸入%3d 在特殊情況下用,一般用 %d 靈活。
特殊的例子:
int a,b;
scanf("%3d%3d",&a,&b); // 輸入資料之間無空隔,例如: 123456
printf("%d %d",a,b); // 輸出 123 456
如果不用%3d%3d, 123456 就會被看成一個數, 不處理成3位3位。
4樓:潘達
格式的完整版是-0m.n(l或h)+格式字元 我們平常用的都是預設格式很多位置沒填,你首先要弄明白格式的意思。。。。
-是對齊方式,0是空位的填補方式(預設表示填空格否則是填0) m是整個數佔用字元個數,n是小數點後的位數,l或h是長度標識,l就是long的意思,長整形或雙精度,h就是short的意思用於短整型(不填就是單精度或整形)。。。d就是輸出格式可以是16進位制10進位制,8進位制,你用的d就是10進位制的意思。。。。
3d就是m處填3,格式字元是10進位制,所以意思就是3位十進位制數,如果大於3位多出的會不輸出。。。
5樓:八神97坤
這個要看具體的情況,只是為了把輸出的東西間隔開而已,比如你輸出%d%d,x,y你希望看到的是輸出的值x,y是分開的,但輸出是xy,緊挨著的,比如:x =12 y =14,輸出就是1214你能分清楚這是兩個數嗎?所以就要用空格來把它們間隔開來,%3d預設不足三位就不空格,大體就這樣的
6樓:匿名使用者
(沒有完全明白你的意思)
%3d意思是總輸出佔三列,如果資料本身超過3列則會使得資料損失,為了避免這樣的事情發生,你可以寫一個測試程式語段 或goto語句, 放在你所標記的printf語句前
if (x>=100) printf("x is bigger than 99 ") ;
exit;
但你也可以使用註釋 ,告訴別人給x賦值的時候不要超過兩位數,以上的說法針對整數,若是小數就複雜了
c語言中無符號長整型數的輸入輸出格式是什麼
7樓:小夏在深圳
以%開頭的都是輸出控制符。主要有%d、
%u、%ld、%p。
1、%d它的意思是按十進位制整型資料的實際長度輸出。
2、%u輸出無符號整型(unsigned)。輸出無符號整型時也可以用 %d,這時是將無符號轉換成有符號數,然後輸出。
3、%ld它的意思是輸出長整型資料。
4、%p 輸出變數的記憶體地址。
擴充套件資料
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進位制)。
8樓:非常可愛
式%u。
示例:intmain()
擴充套件資料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)十六進位制整數()e.g.0x1234
9樓:短短長長長短
以%開頭的都是輸出控制器。主要是%d、%u、%ld、%p。
1、%是指根據十進位制整數資料的實際長度輸出。
2、%u輸出無符號整數。也可以使用%d輸出無符號整數。在這種情況下,將無符號整數轉換為有符號數,然後輸出。
3、%ld表示輸出長整型資料。
4、%輸出變數的記憶體地址。
10樓:
輸入輸出標準格式是 %lu
數值範圍不大時,輸入輸出也可用 %d %x %u %ld %lx 格式。
unsigned long ula = 0x70000000; // 數值範圍不大
unsigned long ulb = 0x80000000; // 數值範圍大
unsigned long ulc = 3;
printf("%lu 0x%x %ld\n",ula,ula,ula);
printf("%lu 0x%x %ld\n",ulb,ulb,ulb);
printf("%lu 0x%x %ld\n",ulc,ulc,ulc);
試試:unsigned long uld;
scanf("%u",&uld);
scanf("%d",&uld);
scanf("%ld",&uld);
scanf("%x",&uld);
就明白了。
c語言中long int的輸入、輸出格式分別是什麼?
11樓:淡了流年
c語言中有一個和long long型別想同的型別是int64,他使用的格式是%i64d,如果是long long 那麼格式是%lld。
1、使用%lld格式輸出long是c99標準對整型型別做的擴充套件,每個long long型別的變數佔8位元組,64位其表示範圍為9223372036854775808~9223372036854775807。
2、ong 型別輸出的時候,需要用printf函式,用%lld格式輸出示例
3、輸出的各種可用於%d上的格式控制,均可用於%lld上,比如%10lld,表示輸出佔十位寬度等。
c語言的輸出格式控制問題,C語言的輸出格式控制問題。
心雲細雨 用十進位制整數來表示輸出的最少位數。若實際位數多於定義的寬度,則按實際位數輸出,若實際位數少於定義的寬度則補以空格 1 一般格式 printf 格式控制,輸出表列 例如 printf i d,ch c n i,ch 說明 1 格式控制 是用雙撇號括起來的字串,也稱 轉換控制字串 它包括兩種...
C語言輸出格式問題啊,C語言輸出格式問題啊
1234567,4553207,12d687,1234567 u 無符號整型輸出十進位制數 u 轉換成八進位制數輸出 x 轉換成十六進位制數輸出 d 按整型輸出 最後有一個下一行的標誌 其他的都是固定的格式咯 簡單那 加油 多看書 挽ag181818v繪 在visual studio 6.0中輸出 ...
c語言中輸入格式 輸出格式的組成包括哪些內容
希望被樓主採納!printf 函式是格式化輸出函式,一般用於向標準輸出裝置按規定格式輸出資訊。printf 函式的呼叫格式為 printf 格式化字串 參量表 其中格式化字串包括兩部分內容 一部分是正常字元,這些字元將按原樣輸出 另一部分是格式化規定字元,以 開始,後跟一個或幾個規定字元,用來確定輸...