新聞中心
C語言輸入輸出字符串
在C語言中,輸入輸出字符串有以下兩種方式:
站在用戶的角度思考問題,與客戶深入溝通,找到尉犁網(wǎng)站設(shè)計(jì)與尉犁網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗(yàn)好的作品,建站類型包括:做網(wǎng)站、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊、虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋尉犁地區(qū)。
1
用scanf/printf輸入輸出。
scanf/printf是C語言的格式化輸入輸出函數(shù),可以用于輸入輸出各種基礎(chǔ)類型,字符串(char*)也在其支持范圍內(nèi)。
格式化字符為%s。
定義
char
str[100];
輸入
scanf("%s",str);
輸出
printf("%s",str);
2
C語言還支持專門的字符串輸入輸出函數(shù):gets/puts。
gets的作用為,讀入一行輸入,并將讀到的換行符替換為字符串結(jié)束符。
puts的作用為,將字符串單行輸出,即輸出字符串內(nèi)容后,會自動在結(jié)尾增加換行。
定義
char
str[100];
輸入
gets(str);
輸出
puts(str);
C語言怎么用printf輸出字符串。
C語言怎么用printf輸出字符串
printf函數(shù)的一般格式
printf(格式控制字符串,輸出表列);
以圖1所示為例。
圖1.
函數(shù)參數(shù)包括兩部分:
【1】格式控制字符串,是用雙引號括起來的字符串,也稱為轉(zhuǎn)換控制字符串,它指定輸出數(shù)據(jù)項(xiàng)的類型和格式。
它包括兩種信息:
●格式說明項(xiàng):由%和格式字符組成,如%d,%f等。格式說明總是由%字符開始,到格式字符終止。它的作用是將輸出的數(shù)據(jù)項(xiàng)轉(zhuǎn)換為指定的格式輸出。輸出表列中的每個數(shù)據(jù)項(xiàng)對應(yīng)一個格式說明項(xiàng)。
● 普通字符:即需要原樣輸出的字符,如逗號和換行符。
【2】輸出列表,是需要輸出的一些數(shù)據(jù)項(xiàng),可以是表達(dá)式。
例如:假如a=3,b=4,那么printf("a=%db=%d",a,b);,輸出a=3b=4。其中兩個?“%d”是格式說明,表示輸出兩個整數(shù),分別對應(yīng)變量a,b。“a=”,“b=”是普通字符,原樣輸出。
由于printf是函數(shù),因此,格式控制字符串和輸出表列實(shí)際上都是函數(shù)的參數(shù)。printf函數(shù)的一般形式可以表示為:
printf(參數(shù)1,參數(shù)2,參數(shù)3,…,參數(shù)n)
printf函數(shù)的功能是將參數(shù)2到參數(shù)n按照參數(shù)1給定的格式輸出。
【3】格式字符?(構(gòu)成格式說明項(xiàng))
對于不同類型的數(shù)據(jù)項(xiàng),應(yīng)當(dāng)使用不同的格式字符構(gòu)成的格式說明項(xiàng)。常用的有以下幾種格式字符:(按不同類型數(shù)據(jù),列出各種格式字符的常用用法)
【d格式符】用來輸出十進(jìn)制整數(shù)。有以下幾種用法:
●?%d,按照數(shù)據(jù)的實(shí)際長度輸出。
●?%md,m指定輸出字段的寬度?(整數(shù))。如果數(shù)據(jù)的位數(shù)小于m,則左端補(bǔ)以空格(右對齊);若大于m,則按照實(shí)際位數(shù)輸出。
●?%-md,m指定輸出字段的寬度?(整數(shù))。如果數(shù)據(jù)的位數(shù)小于m,則右端補(bǔ)以空格?(左對齊);若大于m,則按照實(shí)際位數(shù)輸出。
●?%ld,輸出長整型數(shù)據(jù),也可以指定寬度%mld。
【o格式符】以八進(jìn)制形式輸出整數(shù)。注意:是將內(nèi)存單元中的各位的值按八進(jìn)制形式輸出,輸出的數(shù)據(jù)不帶符號,即將符號位也一起作為八進(jìn)制的一部分輸出。
例如:
inta=-1;
printf("%d,%o,%x",a,a,a);
-1的原碼:1000,0000,0000,0001。
-1在內(nèi)存中的補(bǔ)碼表示為:
1111,1111,1111,1111=1,111,111,111,111,111=1,7,7,7,7,7=ffff
輸出:-1,177777,ffff
【s格式符】用來輸出一個字符串。有以下幾種用法:
●?%s,輸出字符串。
●?%ms,輸出的字符串占m列,如果字符串長度大于m,則字符串全部輸出;若字符串長度小于m,則左補(bǔ)空格?(右對齊)。
●?%-ms,輸出的字符串占m列,如果字符串長度大于m,則字符串全部輸出;若字符串長度小于m,則右補(bǔ)空格?(左對齊)。
●?%m.ns,輸出占m列,但只取字符串左端n個字符,左補(bǔ)空白?(右對齊)。
●?%-m.ns,輸出占m列,但只取字符串左端n個字符,右補(bǔ)空白?(左對齊)。
【 f 格式符】用來輸出實(shí)數(shù)?(包括單、雙精度,單雙精度格式符相同),以小數(shù)形式輸出。有以下幾種用法:
●?%f,不指定寬度,使整數(shù)部分全部輸出,并輸出6位小數(shù)。注意,并非全部數(shù)字都是有效數(shù)字,單精度實(shí)數(shù)的有效位數(shù)一般為7位?(雙精度16位)。
●?%m.nf,指定數(shù)據(jù)占m列,其中有n位小數(shù)。如果數(shù)值長度小于m,左端補(bǔ)空格(右對齊)。
●?%-m.nf,指定數(shù)據(jù)占m列,其中有n位小數(shù)。如果數(shù)值長度小于m,右端補(bǔ)空格(左對齊)。
【 e 格式符】以指數(shù)形式輸出實(shí)數(shù)。可用以下形式表示:
●?%e,不指定輸出數(shù)據(jù)所占的寬度和小數(shù)位數(shù),由系統(tǒng)自動指定。如6位小數(shù),指數(shù)占5位,-e占1位,指數(shù)符號占1位,指數(shù)占3位。數(shù)值按照規(guī)格化指數(shù)形式輸出?(小數(shù)點(diǎn)前必須有而且只有1位非0數(shù)字)。
C語言 想用函數(shù)打印一串字符串
可以通過for循環(huán)來打印指定長度的字符(也即字符串的一部分)。 下面通過實(shí)例來說明具體的操作步驟: char *str="abcdefg"; // 定義一個字符串指針int i;for(i=2; i5; i++) // 控制需要輸出字符串的起始位置(下標(biāo)從0開始){ printf("%c", *(str+i)); // 以字符的形式輸出,輸出cde}
如何在C語言中輸出一個字符串?
1、新建一個?字符串?dāng)?shù)組的定義與輸出項(xiàng)目。
2、添加一個?str.c 文件。
3、包含stdio.h和stdlib.h頭文件。
4、輸入main函數(shù)主體,system()和返回值。
5、定義一個字符串變量str。
6、使用printf()函數(shù)輸出字符串變量str。
7、運(yùn)行程序,查看輸出結(jié)果。
C語言中將字符串打印成指定長度的方法
好用的擴(kuò)展就是 scanf() 的“%ms”占位符。
介于 % 和 s 之間的 m 有 measure(測量)的含義,它可以測量輸入字符串的長度,scanf() 根據(jù)字符串的長度分配內(nèi)存,并將字符串拷貝到這段內(nèi)存,之后將首地址返回給 m。在使用完畢后,需要調(diào)用 free() 函數(shù)釋放這段內(nèi)存。
程序源代碼如下:
#includestdio.h
int length(char *p);
void main()
{
int len;
char *str[20];
printf("please input a string:\n");
scanf("%s",str);
len=length(str);
printf("the string has %d characters.",len);
}
int length(char *p)
{
int n;
n=0;
while(*p!='\0')
{
n++;
p++;
}
return n;
}
擴(kuò)展資料
1、在C語言程序開發(fā)中需要讀取用戶輸入時,即使不能事先獲知輸入長度,也是有辦法寫出高穩(wěn)定性的程序的。不過在實(shí)踐中,一般不推薦使用 scanf() 函數(shù)處理用戶輸入,即使我們解決了輸入長度的問題。
2、介于 % 和 s 之間的數(shù)字應(yīng)小于 name 的長度,這個數(shù)字表示 scanf() 一次最多讀取 127 字節(jié)的數(shù)據(jù)放入 name。如果用戶輸入的字符串超出了 127 字節(jié),剩下的字符將留在緩沖區(qū)內(nèi),等待下一次讀取。
c語言打印字符
因?yàn)槟愕妮斎胧且粋€字符串,你一次只讀取一個字符,剩下的字符還是存在的,而你用循環(huán)去繼續(xù)讀取的話,就會把剩下的字符串讀出來。而循環(huán)中有打印函數(shù),那就會把取出來的字符打印出來,效果看起來就像是輸出了一個字符串,其實(shí)是一個字符一個字符的輸出。你可以試一下,把打印函數(shù)改一下:printf("%c\n", ch); 加一個回車換行,效果就看出來了。
不用循環(huán)的話,那就讀取的次數(shù)有限,打印的次數(shù)也有限,效果不一樣。
新聞名稱:c語言打印字符串函數(shù),c語言的打印函數(shù)
轉(zhuǎn)載來于:http://www.ef60e0e.cn/article/dsgshds.html