在本教程中,您將學(xué)習(xí)如何使用scanf()函數(shù)從用戶處獲取輸入,并使用printf()函數(shù)向用戶顯示輸出。
在C語(yǔ)言編程中,printf()是主要的輸出函數(shù)之一。該函數(shù)將格式化的輸出發(fā)送到屏幕。例如,
#include <stdio.h>
int main()
{
//打印輸出引號(hào)內(nèi)的字符串
printf("C Programming");
return 0;
}輸出結(jié)果
C Programming
該程序如何工作?
所有有效的C程序都必須包含該main()函數(shù)。代碼從main()函數(shù)的開(kāi)頭開(kāi)始執(zhí)行。
printf()是一個(gè)庫(kù)函數(shù)來(lái)格式化輸出發(fā)送到屏幕上。該函數(shù)將打印引號(hào)內(nèi)字符串。
要在我們的程序中使用printf()函數(shù),我們需要使用#include <stdio.h>語(yǔ)句包括stdio.h頭文件 。
return 0;main()函數(shù)中的語(yǔ)句是程序的“退出狀態(tài)”。 它是可選的。
#include <stdio.h>
int main()
{
int testInteger = 5;
printf("Number = %d", testInteger);
return 0;
}輸出結(jié)果
Number = 5
我們使用%d格式說(shuō)明符來(lái)打印int類(lèi)型。在這里,引號(hào)內(nèi)的%d將替換為testInteger的值。
#include <stdio.h>
int main()
{
float number1 = 13.5;
double number2 = 12.4;
printf("number1 = %f\n", number1);
printf("number2 = %lf", number2);
return 0;
}輸出結(jié)果
number1 = 13.500000 number2 = 12.400000
要打印float,我們使用%f格式說(shuō)明符。同樣,我們還是要了%lf打印double值。
#include <stdio.h>
int main()
{
char chr = 'a';
printf("character = %c.", chr);
return 0;
}輸出結(jié)果
character = a
要打印char,我們使用%c格式說(shuō)明符。
在C語(yǔ)言編程中,scanf()是從用戶那里接受輸入的常用功能之一。該scanf()功能從標(biāo)準(zhǔn)輸入(例如鍵盤(pán))讀取格式化的輸入。
#include <stdio.h>
int main()
{
int testInteger;
printf("輸入數(shù)字: ");
scanf("%d", &testInteger);
printf("Number = %d",testInteger);
return 0;
}輸出結(jié)果
輸入數(shù)字: 4 Number = 4
在這里,我們使用了scanf()函數(shù)內(nèi)部的格式%d說(shuō)明符來(lái)接收用戶的輸入int數(shù)值。用戶輸入整數(shù)時(shí),它將存儲(chǔ)在testInteger變量中。
注意,scanf()使用了&testIntegerinside 。這是因?yàn)?amp;testInteger獲取的地址testInteger,并且用戶輸入的值存儲(chǔ)在該地址中。
#include <stdio.h>
int main()
{
float num1;
double num2;
printf("輸入一個(gè)數(shù)字: ");
scanf("%f", &num1);
printf("輸入另一個(gè)數(shù)字: ");
scanf("%lf", &num2);
printf("num1 = %f\n", num1);
printf("num2 = %lf", num2);
return 0;
}輸出結(jié)果
輸入一個(gè)數(shù)字: 12.523 輸入另一個(gè)數(shù)字: 10.2 num1 = 12.523000 num2 = 10.200000
float和double我們分別使用%f和%lf格式說(shuō)明符。
#include <stdio.h>
int main()
{
char chr;
printf("輸入一個(gè)字符: ");
scanf("%c",&chr);
printf("您輸入了 %c.", chr);
return 0;
}輸出結(jié)果
輸入一個(gè)字符: g 您輸入了 g.
當(dāng)用戶在上述程序中輸入字符時(shí),字符本身不會(huì)被存儲(chǔ)。而是存儲(chǔ)一個(gè)整數(shù)值(ASCII值)。
當(dāng)我們使用%c文本格式顯示該值時(shí),將顯示輸入的字符。如果%d用于顯示字符,則將其ASCII值打印出來(lái)。
#include <stdio.h>
int main()
{
char chr;
printf("輸入一個(gè)字符: ");
scanf("%c", &chr);
//當(dāng)使用%c時(shí),將顯示一個(gè)字符
printf("您輸入了 %c.\n",chr);
//使用%d時(shí),顯示ASCII值
printf("ASCII 值為 % d.", chr);
return 0;
}輸出結(jié)果
輸入一個(gè)字符: g 您輸入了 g. ASCII 值為 103.
這是您可以從用戶那里獲取多個(gè)輸入并顯示它們的方法示例。
#include <stdio.h>
int main()
{
int a;
float b;
printf("輸入整數(shù),然后再輸入浮點(diǎn)數(shù): ");
//接受多個(gè)輸入
scanf("%d%f", &a, &b);
printf("您輸入了%d和 %f", a, b);
return 0;
}輸出結(jié)果
輸入整數(shù),然后再輸入浮點(diǎn)數(shù): -3 3.4 您輸入了 -3 和 3.400000
從以上示例中可以看到,我們使用
%d 對(duì)應(yīng)為 int
%f 對(duì)應(yīng)為 float
%lf 對(duì)應(yīng)為 double
%c 對(duì)應(yīng)為 char
這是常用的C數(shù)據(jù)類(lèi)型及其格式說(shuō)明符的列表。
| 數(shù)據(jù)類(lèi)型 | 格式說(shuō)明符 |
|---|---|
| int | %d |
| char | %c |
| float | %f |
| double | %lf |
| short int | %hd |
| unsigned int | %u |
| long int | %li |
| long long int | %lli |
| unsigned long int | %lu |
| unsigned long long int | %llu |
| signed char | %c |
| unsigned char | %c |
| long double | %Lf |