最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C?語言輸入輸出庫函數(shù)講解(最新推薦)

 更新時間:2025年04月07日 09:37:36   作者:要下雨了嗎  
輸入輸出函數(shù)能夠讓程序和用戶或者文件進行交互,這篇文章主要介紹了C?語言輸入輸出庫函數(shù)講解,需要的朋友可以參考下

輸入輸出函數(shù):能夠讓程序和用戶或者文件進行交互。        

 頭文件:#include<stdio.h> 

1. printf 函數(shù):輸出格式化信息到控制臺 ??

?? 使用格式

printf("格式字符串", 參數(shù)列表);

?? 作用

把格式化后的字符串輸出到控制臺。格式字符串里可以包含普通字符和格式說明符,格式說明符會被后面參數(shù)列表里的值替換。

?? 用法

格式說明符一般以 % 開頭,常見的有 %d(用于輸出整數(shù))、%f(用于輸出浮點數(shù))、%c(用于輸出字符)、%s(用于輸出字符串)等。

?? 注意事項

  • 格式說明符要和參數(shù)的類型相匹配。
  • 格式字符串中的普通字符會原樣輸出。

?? 適用類型

適用于各種基本數(shù)據(jù)類型以及字符串。

?? 示例

#include <stdio.h>
int main() {
    int age = 20;
    float height = 1.75;
    char grade = 'A';
    char name[] = "Alice";
    // 輸出整數(shù)
    printf("年齡是 %d 歲。\n", age); 
    // 輸出浮點數(shù)
    printf("身高是 %.2f 米。\n", height); 
    // 輸出字符
    printf("成績等級是 %c。\n", grade); 
    // 輸出字符串
    printf("姓名是 %s。\n", name); 
    return 0;
}

?? 解釋

在這個例子中,printf 函數(shù)依據(jù)格式說明符把變量的值輸出到控制臺。%.2f 表示輸出浮點數(shù)時保留兩位小數(shù)。

2. scanf 函數(shù):從控制臺讀取格式化輸入 ??

?? 使用格式

scanf("格式字符串", &變量1, &變量2, ...);

?? 作用

從控制臺讀取用戶輸入的數(shù)據(jù),并且按照格式字符串的要求把數(shù)據(jù)存儲到對應的變量中。

?? 用法

格式說明符和 printf 函數(shù)里的類似,不過要在變量名前加上取地址符 &,以此表明是要把數(shù)據(jù)存儲到該變量的地址處。

?? 注意事項

  • 輸入的數(shù)據(jù)要和格式字符串匹配。
  • 輸入多個數(shù)據(jù)時,一般用空格、制表符或者換行符分隔。

?? 適用類型

適用于各種基本數(shù)據(jù)類型。

?? 示例

#include <stdio.h>
int main() {
    int num;
    float score;
    char ch;
    // 提示用戶輸入整數(shù)
    printf("請輸入一個整數(shù):"); 
    scanf("%d", &num);
    // 提示用戶輸入浮點數(shù)
    printf("請輸入一個浮點數(shù):"); 
    scanf("%f", &score);
    // 提示用戶輸入字符
    printf("請輸入一個字符:"); 
    scanf(" %c", &ch); // 注意前面的空格,用于跳過之前輸入的換行符
    // 輸出用戶輸入的內(nèi)容
    printf("你輸入的整數(shù)是 %d,浮點數(shù)是 %.2f,字符是 %c。\n", num, score, ch); 
    return 0;
}

?? 解釋

這個例子中,scanf 函數(shù)按照格式說明符讀取用戶輸入的數(shù)據(jù),并把它們存儲到對應的變量中。在讀取字符前加空格是為了跳過之前輸入的換行符。

3. getchar 函數(shù):讀取單個字符 ??

?? 使用格式

int getchar(void);

?? 作用

從標準輸入(通常是鍵盤)讀取一個字符,并返回該字符的 ASCII 碼值。

?? 用法

調(diào)用 getchar 函數(shù)時,程序會暫停,等待用戶輸入一個字符,按下回車鍵后,函數(shù)會返回該字符的 ASCII 碼值。

?? 注意事項

  • getchar 會讀取換行符,所以在連續(xù)使用時要注意處理換行符。
  • 函數(shù)返回值是 int 類型,不是 char 類型。

?? 適用類型

適用于字符類型。

?? 示例

#include <stdio.h>
int main() {
    char ch;
    // 提示用戶輸入一個字符
    printf("請輸入一個字符:"); 
    ch = getchar();
    // 輸出用戶輸入的字符
    printf("你輸入的字符是 %c。\n", ch); 
    return 0;
}

?? 解釋

此例中,getchar 函數(shù)讀取用戶輸入的一個字符,并將其賦值給變量 ch,然后輸出該字符。

4. putchar 函數(shù):輸出單個字符 ???

?? 使用格式

int putchar(int c);

?? 作用

把一個字符輸出到標準輸出(通常是控制臺)。

?? 用法

傳入一個字符的 ASCII 碼值或者字符常量,函數(shù)會將對應的字符輸出到控制臺。

?? 注意事項

  • 傳入的參數(shù)可以是字符常量,也可以是字符變量的 ASCII 碼值。
  • 函數(shù)返回值是輸出的字符的 ASCII 碼值。

?? 適用類型

適用于字符類型。

?? 示例

#include <stdio.h>
int main() {
    char ch = 'B';
    // 輸出字符
    putchar(ch); 
    putchar('\n'); // 輸出換行符
    return 0;
}

?? 解釋

在這個例子中,putchar 函數(shù)把字符 B 輸出到控制臺,然后輸出一個換行符。

5. fopen 函數(shù):打開文件 ??

?? 使用格式

FILE *fopen(const char *filename, const char *mode);

?? 作用

打開指定文件名的文件,并返回一個指向該文件的 FILE 指針。

?? 用法

filename 是要打開的文件的名稱,mode 是打開文件的模式,常見的模式有:

  • "r":以只讀模式打開文件。
  • "w":以寫入模式打開文件,如果文件不存在則創(chuàng)建,如果存在則清空內(nèi)容。
  • "a":以追加模式打開文件,如果文件不存在則創(chuàng)建。

?? 注意事項

  • 打開文件后,要檢查返回的指針是否為 NULL,若為 NULL 則表示打開文件失敗。
  • 操作完文件后,要使用 fclose 函數(shù)關閉文件。

?? 適用類型

適用于文件操作。

?? 示例

#include <stdio.h>
int main() {
    FILE *file;
    // 以只讀模式打開文件
    file = fopen("test.txt", "r"); 
    if (file == NULL) {
        // 輸出錯誤信息
        printf("無法打開文件!\n"); 
        return 1;
    }
    // 這里可以進行文件讀取操作
    // 關閉文件
    fclose(file); 
    return 0;
}

?? 解釋

此例中,fopen 函數(shù)嘗試以只讀模式打開 test.txt 文件,若打開失敗則輸出錯誤信息,打開成功后可以進行文件讀取操作,最后使用 fclose 函數(shù)關閉文件。

6. fclose 函數(shù):關閉文件 ?

?? 使用格式

int fclose(FILE *stream);

?? 作用

關閉指定的文件流,釋放相關資源。

?? 用法

傳入一個指向 FILE 類型的指針,該指針是通過 fopen 函數(shù)返回的。

?? 注意事項

  • 關閉文件后,就不能再對該文件進行讀寫操作了。
  • 函數(shù)返回值為 0 表示關閉成功,非 0 表示關閉失敗。

?? 適用類型

適用于文件操作。

?? 示例

#include <stdio.h>
int main() {
    FILE *file;
    // 以寫入模式打開文件
    file = fopen("test.txt", "w"); 
    if (file == NULL) {
        // 輸出錯誤信息
        printf("無法打開文件!\n"); 
        return 1;
    }
    // 這里可以進行文件寫入操作
    // 關閉文件
    if (fclose(file) == 0) {
        printf("文件關閉成功!\n");
    } else {
        printf("文件關閉失??!\n");
    }
    return 0;
}

?? 解釋

這個例子中,fopen 函數(shù)以寫入模式打開 test.txt 文件,進行文件寫入操作后,使用 fclose 函數(shù)關閉文件,并根據(jù)返回值判斷關閉是否成功。

7. fgets 函數(shù):安全讀取字符串 ??

?? 使用格式

char *fgets(char *str, int n, FILE *stream);

?? 作用

從指定的文件流中讀取一行字符串,并存儲到 str 指向的字符數(shù)組中。

?? 用法

str 是存儲讀取字符串的字符數(shù)組,n 是最多讀取的字符數(shù)(包含換行符和字符串結束符 '\0'),stream 是文件流指針,可以是 stdin(標準輸入)或者通過 fopen 打開的文件指針。

?? 注意事項

  • 若讀取的字符數(shù)達到 n - 1 或者遇到換行符,讀取會停止,并且會在字符串末尾添加 '\0'
  • 若讀取成功,返回 str 指針;若遇到文件結束符或者出錯,返回 NULL。

?? 適用類型

適用于字符串類型。

?? 示例

#include <stdio.h>
int main() {
    char buffer[100];
    // 從標準輸入讀取一行字符串
    printf("請輸入一行字符串:"); 
    fgets(buffer, sizeof(buffer), stdin);
    // 輸出讀取的字符串
    printf("你輸入的字符串是:%s", buffer); 
    return 0;
}

?? 解釋

在這個例子中,fgets 函數(shù)從標準輸入讀取一行字符串,最多讀取 sizeof(buffer) - 1 個字符,然后將其存儲到 buffer 數(shù)組中,并輸出該字符串。

8. fputs 函數(shù):輸出字符串到文件 ??

?? 使用格式

int fputs(const char *str, FILE *stream);

?? 作用

把字符串 str 輸出到指定的文件流中。

?? 用法

str 是要輸出的字符串,stream 是文件流指針,可以是 stdout(標準輸出)或者通過 fopen 打開的文件指針。

?? 注意事項

  • 函數(shù)不會自動添加換行符,若需要換行,要在字符串中手動添加 '\n'。
  • 若輸出成功,返回非負值;若出錯,返回 EOF。

?? 適用類型

適用于字符串類型。

?? 示例

#include <stdio.h>
int main() {
    FILE *file;
    // 以寫入模式打開文件
    file = fopen("test.txt", "w"); 
    if (file == NULL) {
        // 輸出錯誤信息
        printf("無法打開文件!\n"); 
        return 1;
    }
    // 向文件中寫入字符串
    fputs("Hello, World!\n", file); 
    // 關閉文件
    fclose(file); 
    return 0;
}

?? 解釋

此例中,fopen 函數(shù)以寫入模式打開 test.txt 文件,fputs 函數(shù)把字符串 "Hello, World!\n" 寫入文件,最后使用 fclose 函數(shù)關閉文件。

 緩沖區(qū)管理技巧

通用清空方案

void clear_buffer() {
    int c;
    while ((c = getchar()) != '\n' && c != EOF);
}

使用場景

scanf()后立即調(diào)用

處理異常輸入時     

?? 黃金法則

  • 所有輸入函數(shù)都要考慮緩沖區(qū)溢出風險
  • 文件操作后必須檢查返回值并關閉文件
  • 格式化IO要嚴格匹配類型

掌握這些核心函數(shù),你的C語言IO操作將游刃有余! ??

到此這篇關于C 語言輸入輸出庫函數(shù)講解的文章就介紹到這了,更多相關C 語言輸入輸出庫函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Qt音視頻開發(fā)之利用ffmpeg實現(xiàn)解碼本地攝像頭

    Qt音視頻開發(fā)之利用ffmpeg實現(xiàn)解碼本地攝像頭

    一開始用ffmpeg做的是視頻流的解析,后面增加了本地視頻文件的支持,到后面發(fā)現(xiàn)ffmpeg也是支持本地攝像頭設備的,所以本文就來用ffmpeg實現(xiàn)解碼本地攝像頭功能吧
    2023-03-03
  • C++布隆過濾器的使用示例

    C++布隆過濾器的使用示例

    寧可錯殺一千,也不放過一個,這是布隆過濾器的特點,本文主要介紹了C++布隆過濾器的使用示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-09-09
  • C++實現(xiàn)LeetCode(71.簡化路徑)

    C++實現(xiàn)LeetCode(71.簡化路徑)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(71.簡化路徑),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C語言基礎使用IDE快速開發(fā)的方法

    C語言基礎使用IDE快速開發(fā)的方法

    這篇文章主要介紹了C語言基礎使用IDE快速開發(fā)的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • Win10+VS2017新CUDA項目配置教程

    Win10+VS2017新CUDA項目配置教程

    這篇文章主要為大家詳細介紹了Win10+VS2017新CUDA項目配置教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • c++中的基本IO類型詳解

    c++中的基本IO類型詳解

    IO的設備可以是文件、控制臺、string。c++主要定義了三種IO類型,分別被包含在iostream、fstream、sstream頭文件中,本文給大家分享c++中的基本IO類型,感興趣的朋友跟隨小編一起看看吧
    2021-07-07
  • C++普通函數(shù)指針與成員函數(shù)指針實例解析

    C++普通函數(shù)指針與成員函數(shù)指針實例解析

    這篇文章主要介紹了C++普通函數(shù)指針與成員函數(shù)指針,很重要的知識點,需要的朋友可以參考下
    2014-08-08
  • C++面試八股文之什么是構造函數(shù)

    C++面試八股文之什么是構造函數(shù)

    構造函數(shù)是一種特殊的成員函數(shù),用于創(chuàng)建和初始化類的對象,這篇文章主要為大家詳細介紹了C++中構造函數(shù)的相關知識點,需要的可以參考一下
    2023-06-06
  • C語言中memcpy 的使用示例詳解

    C語言中memcpy 的使用示例詳解

    memcpy是C語言中非常重要的一個函數(shù),用于內(nèi)存塊的復制,它定義在標準頭文件 <string.h> 中,這篇文章給大家介紹C語言 memcpy的使用,感興趣的朋友跟隨小編一起看看吧
    2025-09-09
  • C語言中字符串和數(shù)字的相互轉(zhuǎn)換實現(xiàn)代碼

    C語言中字符串和數(shù)字的相互轉(zhuǎn)換實現(xiàn)代碼

    以下是對C語言中字符串和數(shù)字的相互轉(zhuǎn)換實現(xiàn)代碼進行了分析介紹,需要的朋友可以參考下
    2013-07-07

最新評論

正定县| 万年县| 延吉市| 武功县| 佛山市| 扎赉特旗| 海口市| 大同县| 金坛市| 彭州市| 五常市| 辽阳县| 涞水县| 泽普县| 涞源县| 壤塘县| 石河子市| 江门市| 阳朔县| 民县| 和顺县| 临朐县| 固安县| 北辰区| 平舆县| 冷水江市| 南阳市| 灵宝市| 沙坪坝区| 隆尧县| 万州区| 台南县| 延边| 保山市| 东海县| 浙江省| 山西省| 天全县| 都江堰市| 成都市| 马尔康县|