1. 程式人生 > >C語言基礎:標準輸入與輸出

C語言基礎:標準輸入與輸出

        在前面內容中我們已經知道了使用printf函式來在標準輸出裝置上顯示一些內容,接下來我們要學習一些其它的輸入輸出函式,讓我們的程式可以通過標準輸入裝置(鍵盤)取得使用者的輸入內容,並在標準輸出裝置(顯示器)上顯示出來。

        一、putchar和getchar

        這兩個函式是對單個字元進行處理,putchar是在標準輸出裝置上顯示一個字元,而getchar是在標準輸入裝置上取得一個字元,我們來看一看下面的例子,從鍵盤輸入字元,並在顯示器上顯示出來,當遇到字母x時,程式退出: 

#include <stdio.h>
main()
{
	char ch = 0;
	while (ch != 'x')
	{
		ch = getchar();
		putchar(ch);
	}
}

a
a
b
b
x
x

        二、puts和gets

        這是針對字串處理的兩個函式,puts是在標準輸出裝置上顯示一個字串,而gets是從標準輸入裝置取得一個字串。我們來看一下它們的使用方法:

#include <stdio.h>
main()
{
	char str[20];
	gets(str);
	puts(str);
}

Hello World!
Hello World!


        注意,這裡定義的是char str[20]也就是定義了一個具有20個元素的字元陣列,不能定義成char *str;然後想通過gets(str);從鍵盤輸入字串到str中去。這裡涉及到陣列與指標的關係,我們會專門有一章來講陣列和指標的原理。

        三、printf和scanf

        其中printf為按格式輸入函式,它格式定義以%開頭,後面字母代表的意義如下:

d 以十進位制形式輸出帶符號整數(正數不輸出符號)
o 以八進位制形式輸出無符號整數(不輸出字首 0)
x,X 以十六進位制形式輸出無符號整數(不輸出字首 Ox)
u 以十進位制形式輸出無符號整數
f 以小數形式輸出單、雙精度實數
e,E 以指數形式輸出單、雙精度實數
g,G 以%f 或%e 中較短的輸出寬度輸出單、雙精度實數
c 輸出單個字元
s 輸出字串
- 結果左對齊,右邊填空格
+ 輸出符號(正號或負號)
# 輸出值為正時冠以空格,為負時冠以負號

        關於scanf則是與printf相對,它是功能是按格式輸入,例如:

#include <stdio.h>
main()
{
	char ch;
	int a,b;
	float c,d;
	char str[20];
	scanf("%c,%d,%d,%f,%f,%s", &ch, &a, &b, &c, &d, str);
	printf("%c,%d,%d,%f,%f,%s\n", ch, a, b, c, d, str);
}

a,1,2,3.3,4.4,Hello
a,1,2,3.300000,4.400000,Hello

        關於scanf也有一個地方需要讀者注意,在呼叫scanf函式時我們向其傳入的引數變數前要加入一個&符號,用於表示這個變數的記憶體地址,而陣列型變數除外。關於這方面我們也同樣在陣列與指標章節來講述。

歡迎關注公眾號:程式設計外星人

相關推薦

C語言基礎標準輸入輸出

        在前面內容中我們已經知道了使用printf函式來在標準輸出裝置上顯示一些內容,接下來我們要學習一些其它的輸入輸出函式,讓我們的程式可以通過標準輸入裝置(鍵盤)取得使用者的輸入內容,並在標準輸出裝置(顯示器)上顯示出來。        一、putchar和get

C語言基礎指標陣列

        對於上面程式我們需要說明的是int *p = &array[0];表示的是將陣列變數中的第一個元素的地址賦值給指標變數p,而int *p1 = array;的表示的是將陣列變數的值賦值給p指標p21。這兩個語句的結果都是一樣的,這是因為在C語言中陣列變數的值就是這個陣列中第一個元素的地

C語言基礎whiledo while

        這個程式中while語句的條件表示式為day <= 31也就是說當day的值小於等於31時,程式會迴圈執行大括號中的內容(迴圈體),迴圈體中有兩條語句,第一條語句是執行一個標準輸出,顯示day的值,而第二條語句day++;非常重要,它表示將day的值在原來的基礎上加一,當這條語句執行後,

C語言基礎將整數格式化成其它進制輸出的代碼

基礎 輸出 oct %d 語言 int 資料 stdio.h main 如下的資料是關於C語言基礎:將整數格式化成其它進制輸出的代碼。 #include <stdio.h> int main () { int value = 255; print

C語言基礎函式的宣告定義

        在這一章中我們來學習一下關於函式的定義與使用。關於函式的概念我們可以這樣理解,函式是一個功能的集合,它可以根據輸入完成特寫的功能,並將結果輸出。當然有時候函式只是為了實現一些特寫功能而並不一定要有輸入或輸入。我們想要自己編寫一個函式需要編寫兩部分內容:宣告和

C語言基礎遞歸函數,全局(局)變量

否則 fib 語言 factorial 必須 不起作用 聲明 遞歸函數 tor #include <stdio.h>int factorial(int a); int Fibonacci(a);long Hanoi(a); void main(){ } 函

C語言(三)---輸入輸出

而是 abs 空間 精度 保存 括號 ger 原型 parameter 一、輸出   輸入輸出:英文是Input/Output簡稱IO。   C語言標準函數庫中,提供了關於以下介紹的幾種輸出函數,(所有標準輸入輸出函數在調用前,必須先包含頭文件stdio.h) 1.1 簡單

Problem X: C語言習題 學生成績輸入輸出

hang output pan log board AR tput 成績 sub Problem X: C語言習題 學生成績輸入和輸出 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 4722 Solved: 2284[Su

數據的標準輸入輸出

輸入一行字符串 scanner util 步驟 args 構造 存在 標準輸出 一個 《一》輸入數據 Scsnner是一個用於掃描輸入文本的實用程序,存在於java.util包中。 使用該類的步驟: 1.在程序的開頭添加一行導入包語句“import java.util,

C語言第12課——輸入&輸出

輸入 意味著要向程式填充一些資料。 輸入可以是以檔案的形式或從命令列中進行。 C 語言提供了一系列內建的函式來讀取給定的輸入,並根據需要填充到程式中。   輸出 意味著要在螢幕上、印表機上或任意檔案中顯示一些資料。 C 語言提供了一系列內建的函式來輸出資料到

c語言基礎陣列、指標

-----------------------------------------------------------------------------------------------------------------------------------------------------------

process.stdin的end事件如何觸發?---關於nodejs底層的標準輸入輸出的坑

最近想用js來寫一點簡單的演算法題,node是使用process.stdin和process.stdout來實現標準輸入和輸出的,我的目標是實現*迴圈輸入*,遇到沒有輸入時,輸入結束。聽起來好像很簡單,那麼接下來我們就來試試。 官方文件 首先我們

2.8 補充標準輸入輸出、錯誤輸出

輸入輸出重定向 輸出 錯誤 一個 是把 效果 null 例如 實現 Linux Shell 環境中支持輸入輸出重定向,用符號"<"和">"來表示。0、1和2分別表示標準輸入、標準輸出和標準錯誤信息輸出,可以用來指定需要重定向的標準輸入或輸出,比如 2>a.

perl-標準輸入輸出

-1----------------------------------------------------------------------------------------------------- 標準輸入與輸出: <STDIN>

C語言基礎printf列印基本資料型別彙總

/// data type unsigned char, data length 1 byte typedef unsigned char MS_U8; // 1 byte /// data type unsigned sh

C語言基礎 浮點數轉化整數(向上取整、向下取整)| 求絕對值函式

Objective-C拓展了C,自然很多用法是和C一致的。比如浮點數轉化成整數,就有以下四種情況。  1.簡單粗暴,直接轉化 float f = 1.5; int a;a = (int)f; NSLog("a = %d",a); 輸出結果是1。(int)是強制型別轉化,丟棄浮點數的小數部分。

c語言入門用for迴圈輸出乘法口訣表

#include<stdio.h> int main() { int chengfa; int i,j; for(i=1;i<10;i++) { for(j=1;j<=i;j++) { chengfa=i*j; print

C++2-------結構體,輸入輸出函式

一、C語言與c++中的不同之:輸入與輸出C++中既可以使用C語言中的輸入輸出函式也可以用Cin和Cout進行輸入與輸出,不需要格式控制。# include<iostream> using namespace std; int main() { printf("h

C語言基礎數組作為函數參數傳遞演示源碼

urn play 內容 arr splay val nts std elements 將做工程過程中常用的內容片段記錄起來,如下內容內容是關於C語言基礎:數組作為函數參數傳遞演示的內容,應該能對小夥伴也有好處。 #include <stdio.h> void

C++提高 10(標準輸入輸出流,檔案io流)

1.標準輸入流 #include<iostream> using namespace std; void main01() { int a; long b; char c[100]