輕鬆c語言用函式輸入輸出,輕鬆C語言用函式輸入輸出

時間 2021-10-15 00:23:17

1樓:碧海風雲

有反應啊~~

首先輸入5個字元,隨後會輸出方才輸入的字元。

#include

int main()

for(i=0;i<5;i++)

putchar('\n');

return 0;

}執行結果

輸入:abcde↙

輸出:abcde

2樓:匿名使用者

c語言中的輸入輸出函式總結

c語言中資料輸入輸出的概念及在c語言中的實現

(1)所謂輸入輸出是以計算機為主體而言的。

(2)本章介紹的是向標準輸出裝置顯示器輸出資料的語句。

(3)在c語言中,所有的資料輸入/輸出都是由庫函式完成的。 因此都是函式語句。

(4)在使用c語言庫函式時,要用預編譯命令#include將有關“標頭檔案”包括到原始檔中。使用標準輸入輸出庫函式時要用到 “stdio.h”檔案,因此原始檔開頭應有以下預編譯命令:

#include< stdio.h >或#include ”stdio.h”,stdio是standard input &outupt的意思。

(5)考慮到printf和scanf函式使用頻繁,系統允許在使用這兩個函式時可不加#include< stdio.h >或#include ”stdio.h”

一、字元資料的輸入輸出

( 1 ) putchar 函式(字元輸出函式)

putchar 函式是字元輸出函式, 其功能是在顯示器上輸出單個字元。其一般形式為:putchar(字元變數).

對控制字元則執行控制功能,不在螢幕上顯示。使用本函式前必須要用檔案包含命令:#include或#include “stdio.

h”( 2 ) getchar函式(鍵盤輸入函式)

getchar函式的功能是從鍵盤上輸入一個字元。其一般形式為:getchar();

通常把輸入的字元賦予一個字元變數,構成賦值語句,如:char c; c=getchar();使用getchar函式還應注意幾個問題:

1)getchar函式只能接受單個字元,輸入數字也按字元處理。輸入多於一個字元時,只接收第一個字元。

2)使用本函式前必須包含檔案“stdio.h”。

3)在tc螢幕下執行含本函式程式時,將退出tc 螢幕進入使用者螢幕等待使用者輸入。輸入完畢再返回tc螢幕。

二、格式輸入與輸出

(1)printf函式(格式輸出函式)

printf函式稱為格式輸出函式,其關鍵字最末一個字母f即為“格式”(format)之意。其功能是按使用者指定的格式,把指定的資料顯示到顯示器螢幕上。在前面的例題中我們已多次使用過這個函式。

(1)printf函式呼叫的一般形式

printf函式是一個標準庫函式,它的函式原型在標頭檔案“stdio.h”中。但作為一個特例,不要求在使用 printf 函式之前必須包含stdio.

**件。printf函式呼叫的一般形式為:printf(“格式控制字串”,輸出表列),其中格式控制字串用於指定輸出格式。

格式控制串可由格式字串和非格式字串兩種組成。格式字串是以%開頭的字串,在%後面跟有各種格式字元,以說明輸出資料的型別、形式、長度、小數位數等。如:

“%d”表示按十進位制整型輸出;“%ld”表示按十進位制長整型輸出;“%c”表示按字元型輸出等。非格式字串在輸出時原樣照印,在顯示中起提示作用。輸出表列中給出了各個輸出項,要求格式字串和各輸出項在數量和型別上應該一一對應。

***格式字串

格式: [標誌][輸出最小寬度][.精度][長度]型別

1)型別:型別字元用以表示輸出資料的型別,其格式符和意義如下表所示:

d,以十進位制形式輸出帶符號整數(正數不輸出符號)

o,以八進位制形式輸出無符號整數(不輸出字首0)

x或x ,以十六進位制形式輸出無符號整數(不輸出字首ox)

u,以十進位制形式輸出無符號整數

f,以小數形式輸出單、雙精度實數

e或e,以指數形式輸出單、雙精度實數

g或g,以%f或%e中較短的輸出寬度輸出單、雙精度實數

c,輸出單個字元

s,輸出字串

2)標誌:標誌字元為-、+、#、空格四種,其意義下表所示:

-,結果左對齊,右邊填空格

+,輸出符號(正號或負號)

空格,輸出值為正時冠以空格,為負時冠以負號

#,對c,s,d,u類無影響;對o類,在輸出時加字首o;對x類,在輸出時加字首0x;對e,g,f 類當結果有小數時才給出小數點

3)輸出最小寬度:用十進位制整數來表示輸出的最少位數。若實際位數多於定義的寬度,則按實際位數輸出,若實際位數少於定義的寬度則補以空格或0。

4)精度:精度格式符以“.”開頭,後跟十進位制整數。本項的意義是:如果輸出數字,則表示小數的位數;如果輸出的是字元,則表示輸出字元的

個數;若實際位數大於所定義的精度數,則截去超過的部分。

5.長度:長度格式符為h,l兩種,h表示按短整型量輸出,l表示按長整型量輸出。

(2)scanf函式(格式輸入函式)

scanf函式稱為格式輸入函式,即按使用者指定的格式從鍵盤上把資料輸入到指定的變數之中。

(1) scanf函式的一般形式

scanf函式是一個標準庫函式,它的函式原型在標頭檔案“stdio.h”中,與printf函式相同,c語言也允許在使用scanf函式之前不必包含stdio.**件。

scanf函式的一般形式為:scanf(“格式控制字串”,地址表列);其中,格式控制字串的作用與printf函式相同,但不能顯示非格式字串,也就是不能顯示提示字串。地址表列中給出各變數的地址。

地址是由地址運算子“&”後跟變數名組成的。這個地址就是編譯系統在記憶體中給a,b變數分配的地址。在c語言中,使用了地址這個概念,這是與其它語言不同的。

應該把變數的值和變數的地址這兩個不同的概念區別開來。變數的地址是c編譯系統分配的,使用者不必關心具體的地址是多少。

(2) 格式字串

格式字串的一般形式為:%[*][輸入資料寬度][長度]型別其中有方括號的項為任選項。各項的意義如下:

1) 型別:表示輸入資料的型別,其格式符和意義如下表所示。

d,輸入十進位制整數

o,輸入八進位制整數

x,輸入十六進位制整數

u,輸入無符號十進位制整數

f或e,輸入實型數(用小數形式或指數形式)

c,輸入單個字元

s,輸入字串

2) “*”符:用以表示該輸入項,讀入後不賦予相應的變數,即跳過該輸入值。

如:scanf("%d %*d %d",&a,&b);

當輸入為:123時,把1賦予a,2被跳過,3賦予b。

3) 寬度:用十進位制整數指定輸入的寬度(即字元數)。

例如:scanf("%5d",&a);

輸入:12345678

只把12345賦予變數a,其餘部分被截去。

又如:scanf("%4d%4d",&a,&b);

輸入:12345678

將把1234賦予a,而把5678賦予b。

4) 長度:長度格式符為l和h,l表示輸入長整型資料(如%ld) 和雙精度浮點數(如%lf)。h表示輸入短整型資料。

使用scanf函式還必須注意以下幾點:

1))scanf函式中沒有精度控制,如:scanf("%5.2f",&a);是非法的。不能企圖用此語句輸入小數為2位的實數。

2))scanf中要求給出變數地址,如給出變數名則會出錯。如 scanf("%d",a);是非法的,應改為scnaf("%d",&a);才是合法的。

3))在輸入多個數值資料時,若格式控制串中沒有非格式字元作輸入資料之間的間隔則可用空格,tab或回車作間隔。c編譯在碰到空格,tab,回車或非法資料(如對“%d”輸入“12a”時,a即為非法資料)時即認為該資料結束。

4))在輸入字元資料時,若格式控制串中無非格式字元,則認為所有輸入的字元均為有效字元。

例如: scanf("%c%c%c",&a,&b,&c);

輸入為:def

則把'd'賦予a, ' ' 賦予b,'e'賦予c。

只有當輸入為:def

時,才能把'd'賦於a,'e'賦予b,'f'賦予c。

如果在格式控制中加入空格作為間隔,

如:scanf ("%c %c %c",&a,&b,&c);

則輸入時各資料之間可加空格。

5) 如果格式控制串中有非格式字元則輸入時也要輸入該非格式字元。

例如:scanf("%d,%d,%d",&a,&b,&c);

其中用非格式符“ , ”作間隔符,故輸入時應為:5,6,7

又如:scanf("a=%d,b=%d,c=%d",&a,&b,&c);

則輸入應為:a=5,b=6,c=7

6) 如輸入的資料與輸出的型別不一致時,雖然編譯能夠通過,但結果將不正確。

3樓:匿名使用者

語句中沒有提示,所以使用者介面不友好,,,,,,一執行就是輸入、。。。。。。然後輸出~~~

4樓:_葉子妞妞

**沒什麼問題

你的輸入結尾要加回車才行

比如abcde回車

會輸出abcde

5樓:匿名使用者

程式執行後,按鍵盤上的字母鍵,按夠5個後按一個回車鍵

c語言格式輸入輸出函式,C語言中輸入輸出函式有幾種格式?

一 格式輸出函式printf 1 呼叫形式一般為 printf 格式化控制字串 輸出表列 2 格式化控制字串用於指定輸出格式,它有三種形式 1 格式說明符 規定了相應輸出表列內容的輸出格式,以 打頭,如 d o等 2 轉義字元 用來輸出轉義字元所代表的控制 或者特殊字元,比如常用的 n t 3 普通...

c語言程式設計中怎麼輸入輸出姓名漢字

杜哥是個小天才 如果您是用tc進行程式設計,那麼只能顯示英文,如果您是用vc進行程式設計就可以顯示中文了。兩者只是編譯工具不一樣,程式語言的使用是一樣的。如下 include include int main char name 6 20 char temp 20 printf 請輸入6個人的名字 ...

迴圈中完成多次輸入輸出c語言求教啊

include int main return 0 參考一樓,但是 float m,a,i,c,x 這裡將a去掉,應為你這裡定義了,後面沒有用,沒有初始化,所以會出錯! 愛我所愛 include int main return 0 int main 名字應該用字元陣列或字串型別,其他的要實現迴圈輸入...