tft每日頭條

 > 科技

 > c語言stdio.h包括什麼

c語言stdio.h包括什麼

科技 更新时间:2024-04-29 22:10:47

c語言stdio.h包括什麼(C語言頭文件stdio.h)1

stdio.h 幾乎可以說是每一個 C 語言源代碼中都要引用的一個文件,其中定義了許多常用的函數,如輸入輸出函數、文件相關的函數等。

下面介紹 stdio.h 中定義的基本輸入輸出函數。

1. 格式化輸入輸出

第一個出場的是用得最多的一對輸入輸出函數。

咱就來看一下這兩個函數在 stdio.h 文件中是如何定義的?

// 輸入函數 int scanf(const char* __format, ...); // 輸出函數 int printf(const char* __format, ...);

這兩個函數定義的參數都有兩個,第一個是字符指針常量,其實也就是字符串,是兩個函數都必須要具備的參數。

後面的三個點,名為可變參數。不限制參數個數(0個及以上)、參數類型。

#include<stdio.h> int main() { int a; scanf("%d", &a); return 0; }

在 scanf 函數的字符串裡,可以是格式字符、普通字符、空白字符,而轉義字符在其中會失去它的轉義功能,成為一個普通字符。

當字符串中每有一個格式符号,相應後面的可變參數列表中就要有一個變量,一一對應。如果不附上變量,就會産生報錯。

變量如果是基本數據類型的,如整型、浮點型、字符型的,則要在變量前面加上一個尋址運算符(&),才能将數據傳遞給相應的變量。

同時需要注意的是,scanf 函數的可變參數列表隻能傳入變量,而不是能是常量、表達式等。

#include<stdio.h> int main() { int a=3; printf("輸出數字:%d\n", a); return 0; }

printf 函數中,字符串中可以是任意字符,另外轉義符号(如 \n、\t 等)不會被轉換為普通字符。

和 scanf 函數不同的是,該函數的可變參數列表沒有強制要求有多少個格式符号,就要填寫變量,編譯是不會發生錯誤,也會正常運行。

不過不建議這麼做,因為沒有意義,其次運行後編譯器會随機安排一個垃圾值,獲得預期外的結果。

且 printf 函數的可變參數列既可以是變量,也可以是常數、表達式。

2. 單字符輸入輸出

第二組輸入輸出函數,getchar 和 putchar。

// getchar int getchar(void); // putchat int putchar(int char);

getchar 函數是沒有參數的。每一次隻能接受一個字符,即是輸入一連串的字符,也隻會接收第一個字符,而且字符必須還是 ASCII 碼表上的字符。如果輸入的是一個漢字,那麼是不會被接收的。

putchar 函數是有參數的,傳入的參數隻能是整數類型或者字符類型。其中整數隻有在 0-255 之間才能輸出字符,其他的是無法在屏幕上顯示結果。

#include<stdio.h> int main() { char c = getchar(); putchar(c); return 0; }

輸入輸出:

c語言stdio.h包括什麼(C語言頭文件stdio.h)2

3. 字符串輸入輸出

顧名思義,這一組函數用于字符串的輸入和輸出。

// gets char* gets(char *); // puts int puts(const char *);

gets 函數有一個參數,可以是字符指針變量或者字符數組變量。

puts 函數也有一個參數,可以是字符指針變量、字符數組,也可以是字符指針常量。

當傳給 gets 函數是一個字符指針的時候,需要對其進行初始化。

#include<stdio.h> int main() { char str[10]="\0"; char *string = str; gets(string); puts(string); return 0; }

輸入輸出:

c語言stdio.h包括什麼(C語言頭文件stdio.h)3

但需要注意的是,輸入的字符不能大于定義的數組長度,否則就會造成内存溢出,産生異常。

c語言stdio.h包括什麼(C語言頭文件stdio.h)4

4. 附錄

格式字符:

c語言stdio.h包括什麼(C語言頭文件stdio.h)5

轉義字符:

c語言stdio.h包括什麼(C語言頭文件stdio.h)6

總結

關于 C 語言常用的輸入輸出函數就介紹到這結束了。如果本篇文章對您有所幫助,點個贊支持一下。

如有發現文中有錯誤或者不恰當的地方,歡迎在評論區留言讨論。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved