android 只輸入數字與小數點 C語言輸入輸出

2021-10-14 02:19:02 字數 1957 閱讀 4475

scanf函式:格式化輸入函式,即按控制字串內指定的各種格式,從鍵盤上把資料輸入到指定的變數之中。

格式:int scanf( const char *format [,argument]... );

a)與printf相同之處是:控制字串內的每個%後面必須跟乙個控制字元,引數列表中的引數都必須與控制字元的個數和型別相匹配

b)與printf的不同之處是:scanf的引數列表中,每乙個變數之前都必須要帶上取位址符號(&)。代表要將引數列表中所有變數的位址一一傳遞給系統,作業系統要按照給定變數的位址,將使用者輸入的資料傳遞給引數列表中每乙個對應的變數。(只有陣列變數可以不用取位址,因為陣列變數自身就是乙個記憶體位址。

而printf的引數列表中,所有變數是不用取位址直接代入的。如果scanf函式像直接代入變數不取位址,執行時會因資料送錯位址造成整個程式崩潰。

c)另外一點與printf不同之處是:scanf的控制字串內除了控制字元以外,只能指定間隔符空格或逗號。

不能像printf函式那樣,隨意在控制字元之間夾雜其他的文字。

格式:int getchar(void);

int c = getchar();

b)等價於:int c=getc(stdin)

c)也等價於:

int c;

scanf(「%c」,&c);

以上三中形式單獨呼叫時,最好在之前呼叫乙個函式來清理輸入流:fflush(stdin);

否則,可能獲取不到新輸入的內容,而是獲得了上一次輸入時的回車符。

五:簡單串輸入輸出函式:

gets函式:從stdin流中讀取字串,類似於scanf(「%s」,&x);。

puts函式:用來向標準輸出裝置寫字串並換行,類似於printf(「%s」,x);

a)在printf函式的控制串內,%符號與控制符之間的數字是用來控制佔位的。

例如:printf(「%8.3f」,34.678f);

8代表包括小數點總共占用8個空位,.3代表保留3位小數列印。

b)%之後帶-符號代表在所占用的空間內左對齊,預設不帶-符號是右對齊。

例如:printf(「**=%-8.3f」,34.67f);

還是占用8個空位但是,與前面不同之處是左對齊。

c)如果%後面是0.x代表不占用多餘空位,只控制保留的小數字。

例如:printf(「**=%0.3f」,34.6f);

以上是printf函式對於浮點數的佔位和對其管理。

d)對於整數和字串輸出只有佔位控制和對齊控制,沒有小數點後面的控制。

例如:printf(「學號:%-8d姓名:%-10s」);

8和10代表的是佔位管理,-符號代表左對齊,預設不帶-符號是右對齊。

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)佔位控制:

對於整數和字串在%和控制符之間的數字代表佔位,負號代表左對齊。

對於浮點數除了用數字代表佔位,負號代表左對齊,還有小數字數的管理。

JS輸入數字與小數

js判斷只能是數字和小數點 1.文字框只能輸入數字 小數點也不能輸入 2.只能輸入數字,能輸小數點.3.數字和小數點方法二 4.只能輸入字母和漢字 5.只能輸入英文本母和數字,不能輸入中文 6.只能輸入數字和英文chun 7.小數點後只能有最多兩位 數字,中文都可輸入 不能輸入字母和運算符號 57 ...

delphi edit 只輸入數字 只輸入字母

在delphi中使用編輯框時,有時需要限制輸入它的字元型別,如只接收數字或只接收字母。我們可以在tedit元件的on.keypress事件中對輸入進行處理,以限制對編輯框的輸入。限制為只接收數字的例程如下 procedure tform1.edit1keypress sender tobject v...

delphi edit 只輸入數字 只輸入字母

在delphi中使用編輯框時,有時需要限制輸入它的字元型別,如只接收數字或只接收字母。我們可以在tedit元件的on.keypress事件中對輸入進行處理,以限制對編輯框的輸入。限制為只接收數字的例程如下 procedure tform1.edit1keypress sender tobject v...