C語言中的基本I / O概念

如何在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教程: