C語言程式設計之《從鍵盤輸入資料》

小拾一發表於2018-08-16

通過前幾節的學習,我們已經學會了如何做一個加法計算器,但是我們目前的加法計算器,不夠人性化,每次計算兩個數的和的時候,都需要修改我們的Ç語言程式碼,然後重新編譯執行,才能得到結果,很顯然這樣的加法計算器是沒有人喜歡用的,那我們如何讓使用者自己任意輸入兩個數,就可以直接得到結果呢?

我們知道,讓計算機說話是用printf的;那麼計算機“聽”的過程,我們則稱為“讀入”好下面我們來看看,計算機如何讀入。

scanf函式的語法與printf的語法累死,例如我們要從鍵盤,讀入一個放在“小房子”一中,如下:

scanf("%d",&a);

看,與輸出“小房子”一個的語句的printf( “%d”,&一個);是差不多的,只有兩個地方補貼;

第一個不同的是:讀入是拾一scanf函式這單詞,二輸出是拾一的printf

第二行不同的是:讀入比輸出在一個前面多了一個&符號。

&符號我們稱為“取地址符”簡稱“取址符”。他的作業四得到“小房子”一個的地址。那你可能要問為什麼在讀入的時候要得到“小房子”一個的地址呢?二輸出的時候卻不要呢?因為在讀入資料的時候,計算機需要把讀入的值存放在小房子(也就是變數一)中,需要知道你指定的這個“小房子”一的地址,才能把值成功的放進“小房子”一中,但是在輸出的時候,值已經在“小房子了”中,就可以直接輸出到螢幕我們打一個比方:加入你要去一個教室上課,那麼在上課之前你需要知道這個教室的地址,這樣你才能去;但是如果下課了,你走出這個教室的時候,因為此時你已經在教室中啦,因此這時候的你已經不再需要這個教室的地址啦。

如果要從鍵盤讀入兩個數,分別給“小房子了”和“小房子B”呢?這裡有兩種寫法。

第一種:

scanf("%d",&a);
scanf("%d",&b);

第二種:

scanf("%d %d",&a,&b);

第二種寫法較為簡便,兩個%d之間用一個空格隔開,&一個和&B之間用逗號隔開。

那麼從鍵盤讀入兩個數,輸出這兩個數的和的完整程式碼如下:

#include <stdio.h>
#include <stdlib.h>
int main()
{
	int a, b, c;
	scanf("%d %d", &a, &b);
	c = a + b;
	printf("%d+%d=%d", a, b, c);
	return 0;
}

好了,總結一下:在Ç語言中的printf是說出去,也就是計算機需要告訴你的;二scanf的是聽將來,也就是南極需要紅薯給計算機的。

接下來,我們要讓那個“加法計算器”更加人性化 - 帶有提示的讀入和輸出。

#include <stdio.h>
#include <stdlib.h>
int main()
{
	int a, b, c;
	printf("這是一個加法計算機,歡迎您使用\n");
	printf("------------------------------\n");
	printf("請輸入第一個人數(輸入完畢後請按Enter鍵)\n");
	scanf("%d", &a);
	printf("請輸入第二個人數(輸入完畢後請按Enter鍵)\n");
	scanf("%d", &b);
	c = a + b;
	printf("他們的和是%d",c);
	return 0;
}

第一節:C語言程式設計之《讓計算機開口說話》

第二節:C語言程式設計之《輸出帶有顏色》

第三節:C語言程式設計之《用計算機做加法》

第四節:C語言程式設計之《變數—用來儲存資料的小房子》

第五節:C語言程式設計之《資料輸出》

相關文章