C语言程序设计--输入与输出
C語言的輸入
所有的輸入都是依賴于C語言函數(shù)進(jìn)行的,這個(gè)函數(shù)是C語言標(biāo)準(zhǔn)庫自帶的,定義在頭文件<stdio.h>里面,所以,要想使用與輸入相關(guān)的函數(shù),都需要包含這個(gè)頭文件
#include <stdio.h>輸入函數(shù)gets
這是一個(gè)獲取輸入字符串的函數(shù),其定義如下文,作用是從 stdin 讀取一行到 s 所指向的緩沖區(qū),直到一個(gè)終止符或 EOF。
char * gets(char * string){...}試驗(yàn)gets
代碼如下文
#include <stdio.h>#define BANNER "Please input:"int main(void){char string[100];printf(BANNER);gets(string);puts(string);return 0; }
很簡(jiǎn)單,但是不推薦,因?yàn)間ets是不安全的,他可以輸入任意長(zhǎng)度的字符,可以覆蓋超過變量定義支持的長(zhǎng)度,緩沖區(qū)溢出風(fēng)險(xiǎn)大。
輸入函數(shù)getchar
這是一個(gè)獲取輸入字符的函數(shù),其定義如下文,作用是從屏幕讀取下一個(gè)可用的字符,并把它返回為一個(gè)整數(shù)。這個(gè)函數(shù)在同一個(gè)時(shí)間內(nèi)只會(huì)讀取一個(gè)單一的字符。您可以在循環(huán)內(nèi)使用這個(gè)方法,以便從屏幕上讀取多個(gè)字符。
int getchar(void){...}試驗(yàn)getchar
代碼如下文
#include <stdio.h>#define BANNER "Please input:"int main(void){char string;printf(BANNER);string = getchar();putchar(string);return 0; }
不推薦,因?yàn)楂@取多個(gè)字符輸入會(huì)很麻煩。
輸入函數(shù)scanf
這是一個(gè)獲取輸入特定數(shù)據(jù)類型的函數(shù),其定義如下文,函數(shù)從標(biāo)準(zhǔn)輸入流 stdin 讀取輸入,并根據(jù)提供的 format 來瀏覽輸入。
int scanf(const char *format, ...){}試驗(yàn)scanf
代碼如下文
#include <stdio.h>#define BANNER "Please input:"int main(void){char input_char;int input_int;char input_string[100];float input_float;double input_double;printf(BANNER);scanf("%d", &input_int);printf("%d\n", input_int);printf(BANNER);scanf("%c", &input_char);printf("%c\n", input_char);printf(BANNER);scanf("%s", input_string);//這里只能是數(shù)組,因?yàn)槿绻莄har *,則不知道大小,會(huì)發(fā)生段錯(cuò)誤,這里使用&input_string 效果一樣,但是會(huì)有warning,不推薦,printf("%s\n",input_string);printf(BANNER);scanf("%f", &input_float);printf("%f\n", input_float);printf(BANNER);scanf("%lf", &input_double);printf("%lf\n", input_double);return 0; }C語言的輸出
所有的輸出都是依賴于C語言函數(shù)進(jìn)行的,這個(gè)函數(shù)是C語言標(biāo)準(zhǔn)庫自帶的,定義在頭文件<stdio.h>里面,所以,要想使用與輸出相關(guān)的函數(shù),都需要包含這個(gè)頭文件
#include <stdio.h>輸出函數(shù)puts
函數(shù)把字符串 s 和一個(gè)尾隨的換行符寫入到 stdout。
int puts(const char *s){...}試驗(yàn)puts
在試驗(yàn)gets中試驗(yàn)過了puts
輸出函數(shù)putchar
函數(shù)把字符輸出到屏幕上,并返回相同的字符。這個(gè)函數(shù)在同一個(gè)時(shí)間內(nèi)只會(huì)輸出一個(gè)單一的字符。您可以在循環(huán)內(nèi)使用這個(gè)方法,以便在屏幕上輸出多個(gè)字符。
int putchar(int c){...}試驗(yàn)putchar
在試驗(yàn)getchar中試驗(yàn)過了putchar
輸出函數(shù)printf
函數(shù)把輸出寫入到標(biāo)準(zhǔn)輸出流 stdout ,并根據(jù)提供的格式產(chǎn)生輸出。
int printf(const char *format, ...){...}試驗(yàn)printf
在試驗(yàn)scanf中試驗(yàn)過了printf
附錄:標(biāo)準(zhǔn)化輸入輸出的格式:
| 十進(jìn)制整數(shù) | %d |
| 字符型 | %c |
| 整數(shù) | %i |
| 浮點(diǎn)數(shù) | %e, %f, %g |
| 八進(jìn)制數(shù) | %o |
| 字符串 | %s |
| 十六進(jìn)制書 | %x |
| 指針 | %p |
| 一個(gè)等于讀取字符數(shù)量的整數(shù) | %n |
| 一個(gè)無符號(hào)整數(shù) | %u |
轉(zhuǎn)載于:https://www.cnblogs.com/KevinGeorge/p/10231226.html
總結(jié)
以上是生活随笔為你收集整理的C语言程序设计--输入与输出的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: trade-off 翻译
- 下一篇: Socket网络编程--简单Web服务器