⑴ c語言中,如何以"整數"方式和"字元"方式輸出字元
只要按規定的輸出格式輸出就可以了,整數的輸出格式是%d,字元的輸出格式是%c
字元按整數輸出時,輸出的是字元在ASCII碼表中對應的數值。
例如:
char ch='a';
printf("%d %c",ch,ch);
輸出結果為97 a
%d是按整數輸出,輸出字元a在ASCII碼表中對應的數97,
%c是按字元輸出,輸出字元a
⑵ 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)佔位控制:
對於整數和字元串在%和控制符之間的數字代表佔位,負號代表左對齊。
對於浮點數除了用數字代表佔位,負號代表左對齊,還有小數位數的管理。
(2)c語言字元的輸出格式擴展閱讀
C 語言中的數據類型(64位)
標識符長度名稱識別方式
char 1B 字元型 ASCII碼
short 2B 短整型 補碼
int 4B 整型 補碼
long 8B 長整型 浮點
float 4B 單精度 浮點
double 8B 雙精度 浮點
* 8B 地址、指針 位元組編號
⑶ c語言輸出時%d,%c這些都分別代表什麼
C語言輸出時的%d和%c等都是格式化字元串的約定,%d表示整型格式, %c表示字元型格式。
常用輸出格式類型:
%hd,十進制有符號短整型
%d,十進制有符號整型
%ld,十進制有符號長整型
%hu,十進制無符號短整型
%u,十進制無符號整型
%lu,十進制無符號長整型
%c,字元型
%s,字元串型
%f,十進制浮點型
%lf,十進制雙精度浮點型
%e,科學計數法格式
%x,十六進制
%o,八進制
%p,十六進制形式指針
%%,輸出'%'字元
⑷ C語言中,輸出格式有哪些,解釋下。
%a(%A) 浮點數、十六進制數字和p-(P-)記數法(C99)
%c 字元
%d 有符號十進制整數
%f 浮點數(包括float和doulbe)
%e(%E) 浮點數指數輸出[e-(E-)記數法]
%g(%G) 浮點數不顯無意義的零"0"
%i 有符號十進制整數(與%d相同)
%u 無符號十進制整數
%o 八進制整數 e.g. 0123
%x(%X) 十六進制整數0f(0F) e.g. 0x1234
%p 指針
%s 字元串
%% "%"
⑸ C語言的輸出格式
截圖是在C-Free5.0環境下的運行結果。因為b是float類型,在%.2f格式下輸出的是0.50,而a是int類型,小數部分被截除,整數部分為零,所以輸出為0。要說明的是,對於賦值運算符=,先進行運算符「=「右邊部分的運算,然後將表達式的運算結果賦給「=」左邊的變數。
⑹ C語言輸入輸出格式
在C語言中,輸入使用的是scanf函數,scanf函數的格式為scanf(格式控制,地址列表),如scanf("%d"&a)。
輸出使用的是printf()函數,printf函數的格式為printf(格式控制,輸出表列),如printf("%d ",a)。在輸出時可以在"%"和字母之間插進數字表示最大場寬。可以根據需要輸出數字的位數來決定「%」前的數值。
如:%3d表示輸出3位整型數, 不夠3位右對齊。
%9.2f 表示輸出場寬為9的浮點數, 其中小數位為2, 整數位為7,小數點佔一位, 不夠9位右對齊。
%8s 表示輸出8個字元的字元串, 不夠8個字元右對齊。
(6)c語言字元的輸出格式擴展閱讀
C語言輸入輸出時的規則:
一、格式說明符個數與輸入數據個數不相等的情況:
當我們輸入數據時,只要沒有按回車鍵,所輸入的數據都還存放在緩沖區,並沒有存入變數中。按【Enter】鍵後,scanf()函數才會從緩沖區中取走數據。緩沖區是一個先進先出的隊列,即取走數據的時候,遵循先輸入的數據先取走的原則。
scanf函數的格式說明符有幾個就要取幾次數據,只要碰到格式說明符就必須把數據取走,至於是不是要把取走的數據存放起來,就得看數據列表中的數據個數。沒取完的數據繼續留在緩沖區中。
二、寬度輸出的情況:
1、在%和格式字元之間加入一個整數來控制輸出數據所佔寬度
2、在%和格式字元f之間加入一個「整數1.整數2」來控制輸出數據的格式。
整數1:整個輸出數據占的總寬度
整數2:輸出實數的小數部分的個數
注意:先用整數2處理小數部分,再用整數1處理整個數據,包括已處理好的小數部分
三、寬度輸入的情況:
寬度輸入指的是在%和格式說明符d之間加入一個整數。如:scanf("%2d", &x);
注意:
1、%d與%1d是不同的,它們具有不同的含義。
2、 當寬度小於數據的實際寬度時,截取指定寬度的部分作為一個數進入緩沖區,再將剩餘部分作為另一個數放入緩沖區。
⑺ C語言中輸入輸出函數有幾種格式
C語言輸入輸出函數有很多,標准I/O函數中包含了如下幾個常用的函數:
scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fgetc,fputc,fscanf,fprintf等.
int
scanf(const
char
*format,
arg_list)
scanf主要從標准輸入流中獲取參數值,format為指定的參數格式及參數類型,如scanf("%s,%d",str,icount);
它要求在標准輸入流中輸入類似"son
of
bitch,1000"這樣的字元串,同時程序會將"son
of
bitch"給str,1000給icount.
scanf函數的返回值為int值,即成功賦值的個數,在上例中如果函數調用成功,則會返回2,所以我們在寫程序時,可以通過
語句if(scanf("%s,%d",str,icount)
!=
2){...}來判斷用戶輸入是否正確.
int
printf(const
char
*format,
arg_list)
printf主要是將格式化字元串輸出到標准輸出流中,在stdio.h頭文件中定義了標準的輸入和輸出,分別是stdin,stdout.
arg_list可以是變數名,也可以是表達式,但最終都會以值的形式填充進format中.
int
getc(FILE
*fp)
getc主要是從文件中讀出一個字元.常用的判斷文件是否讀取結束的語句為:(ch
=
getc(fp))
!=
EOF.EOF為文件結束標志,
定義在stdio.h中,就像EXIT_SUCCESS,EXIT_FAILURE定義在stdlib.h中一樣,文件也可以被理解為一種流,所以當fp為stdin
時,getc(stdin)就等同於getchar()了.
int
putc(int
ch,FILE
*fp)
putc主要是把字元ch寫到文件fp中去.如果fp為stdout,則putc就等同於putchar()了.
int
getchar(void)
getchar主要是從標准輸入流讀取一個字元.默認的標准輸入流即stdio.h中定義的stdin.但是從輸入流中讀取字元時又
涉及到緩沖的問題,所以並不是在屏幕中敲上一個字元程序就會運行,一般是通過在屏幕上敲上回車鍵,然後將回車前的字元
串放在緩沖區中,getchar就是在緩沖區中一個一個的讀字元.當然也可以在while循環中指定終止字元,如下面的語句:
while
((c
=
getchar())
!=
'#')這是以#來結束的.
int
putchar(int
ch)
putchar(ch)主要是把字元ch寫到標准流stdout中去.
char
*
gets(char
*str)
gets主要是從標准輸入流讀取字元串並回顯,讀到換行符時退出,並會將換行符省去.
int
puts(char
*str)
puts主要是把字元串str寫到標准流stdout中去,並會在輸出到最後時添加一個換行符.
char
*fgets(char
*str,
int
num,
FILE
*fp)
str是存放讀入的字元數組指針,num是最大允許的讀入字元數,fp是文件指針.fgets的功能是讀一行字元,該行的字元數
不大於num-1.因為fgets函數會在末尾加上一個空字元以構成一個字元串.另外fgets在讀取到換行符後不會將其省略.
int
fputs(char
*str,
file
*fp)
fputs將str寫入fp.fputs與puts的不同之處是fputs在列印時並不添加換行符.
int
fgetc(FILE
*fp)
fgetc從fp的當前位置讀取一個字元.
int
fputc(int
ch,
file
*fp)
fputc是將ch寫入fp當前指定位置.
int
fscanf(FILE
*fp,
char
*format,...)
fscanf按照指定格式從文件中出讀出數據,並賦值到參數列表中.
int
fprintf(FILE
*fp,
char
*format,...)
fprintf將格式化數據寫入流式文件中.
⑻ C語言字元輸出的格式問題
在Debug運行程序時,調試系統會自動幫你將你定義的數組初始化為0;
而char
b[]={'I','
','a','m','t','0'};相當於char
b[6]={'I','
','a','m','t','0'};數組中不存在0或'\0',則字元串沒有結束;
當你寫char
a[]="i
love
you!";時,編譯器自動幫你數字元串佔用字元個數,
相當於你自己寫:char
a[12]={
'i','
','l','o','v','e','
','y','o','u','!',0
};
如果按照字元方式輸出(用%c),不會自動停在'\0'處,停在0處是用%s輸出時的結果。
⑼ c語言輸出格式%*s
c語言輸出格式%*s,標識形參佔位。
*在printf中使用,表示用後面的形參替代的位置,實現動態格式輸出。例如:printf("%*s",10,s);意思是輸出字元串s,但至少佔10個位置,不足的在字元串s左邊補空格,這里等同於printf("%10s",s)。
(9)c語言字元的輸出格式擴展閱讀:
C語言輸出格式大全:
格式佔位符(%)可以以下字母配合使用用來表示某些特定的輸入輸出。
%a,%A 讀入一個浮點值(僅C99有效)
%c 讀入一個字元
%d 讀入十進制整數
%i 讀入十進制,八進制,十六進制整數
%o 讀入八進制整數
%x,%X 讀入十六進制整數
%s 讀入一個字元串,遇空格、製表符或換行符結束。
%f,%F,%e,%E,%g,%G 用來輸入實數,可以用小數形式或指數形式輸入。
%p 讀入一個指針
%u 讀入一個無符號十進制整數
%n 至此已讀入值的等價字元數
%[] 掃描字元集合
%% 讀%符號
⑽ c語言的輸入輸出格式
在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個字元右對齊。
(10)c語言字元的輸出格式擴展閱讀
C語言輸入輸出時的規則:
一、格式說明符個數與輸入數據個數不相等的情況:
當我們輸入數據時,只要沒有按回車鍵,所輸入的數據都還存放在緩沖區,並沒有存入變數中。按【Enter】鍵後,scanf()函數才會從緩沖區中取走數據。緩沖區是一個先進先出的隊列,即取走數據的時候,遵循先輸入的數據先取走的原則。
scanf函數的格式說明符有幾個就要取幾次數據,只要碰到格式說明符就必須把數據取走,至於是不是要把取走的數據存放起來,就得看數據列表中的數據個數。沒取完的數據繼續留在緩沖區中。
二、寬度輸出的情況:
1、在%和格式字元之間加入一個整數來控制輸出數據所佔寬度
2、在%和格式字元f之間加入一個「整數1. 整數2」來控制輸出數據的格式。
整數1:整個輸出數據占的總寬度
整數2:輸出實數的小數部分的個數
注意:先用整數2處理小數部分,再用整數1處理整個數據,包括已處理好的小數部分
三、寬度輸入的情況:
寬度輸入指的是在%和格式說明符d之間加入一個整數。如:scanf("%2d",
&x);
注意:
1、%d與%1d是不同的,它們具有不同的含義。
2、
當寬度小於數據的實際寬度時,截取指定寬度的部分作為一個數進入緩沖區,再將剩餘部分作為另一個數放入緩沖區。
參考資料來源:網路——scanf
網路——printf()