在本教程中,您將學(xué)習(xí)如何使用scanf()函數(shù)從用戶處獲取輸入,并使用printf()函數(shù)向用戶顯示輸出。
在C語言編程中,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ù)的開頭開始執(zhí)行。
printf()是一個(gè)庫函數(shù)來格式化輸出發(fā)送到屏幕上。該函數(shù)將打印引號(hào)內(nèi)字符串。
要在我們的程序中使用printf()函數(shù),我們需要使用#include <stdio.h>語句包括stdio.h頭文件 。
return 0;main()函數(shù)中的語句是程序的“退出狀態(tài)”。 它是可選的。
#include <stdio.h> int main() { int testInteger = 5; printf("Number = %d", testInteger); return 0; }
輸出結(jié)果
Number = 5
我們使用%d格式說明符來打印int類型。在這里,引號(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格式說明符。同樣,我們還是要了%lf打印double值。
#include <stdio.h> int main() { char chr = 'a'; printf("character = %c.", chr); return 0; }
輸出結(jié)果
character = a
要打印char,我們使用%c格式說明符。
在C語言編程中,scanf()是從用戶那里接受輸入的常用功能之一。該scanf()功能從標(biāo)準(zhǔ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說明符來接收用戶的輸入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格式說明符。
#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值打印出來。
#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 對應(yīng)為 int
%f 對應(yīng)為 float
%lf 對應(yīng)為 double
%c 對應(yīng)為 char
這是常用的C數(shù)據(jù)類型及其格式說明符的列表。
數(shù)據(jù)類型 | 格式說明符 |
---|---|
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 |