如何在C中使用printf和scanf執行輸入/輸出
C是一種小語言,是C的“核心”C不包含任何輸入/輸出(I / O)功能。
當然,這不是C獨有的。語言核心通常與I / O無關。
對於C語言,C標準庫通過一組在C語言中定義的函數向我們提供輸入/輸出。stdio.h
頭文件。
您可以使用以下命令導入該庫:
#include <stdio.h>
在您的C文件頂部。
該庫為我們提供了許多其他功能:
printf()
scanf()
sscanf()
fgets()
fprintf()
在描述這些功能之前,我想花一點時間討論一下I / O流。
我們在C中有3種I / O流:
stdin
(標準輸入)stdout
(標準輸出)stderr
(標準錯誤)
使用I / O功能,我們始終可以處理流。流是可以代表設備或文件的高級接口。從C的角度來看,從文件讀取或從命令行讀取沒有任何區別:無論如何,它都是I / O流。
這是要記住的一件事。
一些功能旨在與特定的流一起使用,例如printf()
,我們用來將字符打印到stdout
。使用其更一般的對應物fprintf()
,我們可以指定要寫入的流。
自從我開始談論printf()
,讓我們現在介紹一下。
printf()
printf()
是學習C編程時要使用的第一個功能之一。
在其最簡單的用法形式中,您為它傳遞了字符串文字:
printf("hey!");
程序將把字符串的內容打印到屏幕上。
您可以打印變量的值,這有點棘手,因為您需要添加一個特殊字符(佔位符),該字符會根據變量的類型而變化。例如我們使用%d
對於帶符號的十進制整數:
int age = 37;
printf(“My age is %d”, age);
我們可以使用逗號來打印多個變量:
int age_yesterday = 36;
int age_today = 37;
printf(“Yesterday my age was %d and today is %d”, age_yesterday, age_today);
還有其他格式說明符,例如%d
:
%c
為了一個字符%s
對於一個字符串%f
用於浮點數%p
對於指針
還有很多。
我們可以在printf()
, 喜歡\n
我們可以使用它來使輸出創建新行。
scanf()
printf()
用作輸出功能。我現在想介紹一個輸入函數,因此可以說我們可以完成所有的I / O事情:scanf()
。
此函數用於從命令行從運行程序的用戶獲取值。
我們必須首先定義一個變量,該變量將保存從輸入中獲得的值:
int age;
然後我們打電話scanf()
具有2個參數:變量的格式(類型)和變量的地址:
scanf("%d", &age);
如果要獲取字符串作為輸入,請記住字符串名稱是指向第一個字符的指針,因此不需要&
前面的字符:
char name[20];
scanf("%s", name);
這是一個同時使用兩者的小程序printf()
和scanf()
:
#include <stdio.h>
int main(void) {
char name[20];
printf("Enter your name: ");
scanf("%s", name);
printf("you entered %s", name);
}
免費下載我的C手冊
更多clang教程:
- C編程語言簡介
- C變量和類型
- C常數
- C操作員
- C條件句
- 如何使用C中的循環
- C數組簡介
- 如何在C中確定數組的長度
- C字符串簡介
- 如何在C中查找字符串的長度
- C指針介紹
- 用C遍歷數組
- C中的布爾值
- C函數簡介
- 如何在C中使用NULL
- C語言中的基本I / O概念
- C中的雙引號與單引號
- 如何從C函數返回字符串
- 如何解決C語言中的隱式聲明庫函數警告
- 如何在C中檢查字符值
- 如何在C語言中使用`printf()`打印百分比字符
- C轉換說明符和修飾符
- 如何在C中訪問命令行參數
- C中變量的範圍
- 可以在C中嵌套函數嗎?
- C中的靜態變量
- C全局變量
- C語言中的typedef關鍵字
- C枚舉類型
- C結構
- C頭文件
- C預處理器