有趣生活

当前位置:首页>科技>c语言stdio.h包括什么C语言头文件stdio.h

c语言stdio.h包括什么C语言头文件stdio.h

发布时间:2026-07-21阅读(1)

导读stdio.h几乎可以说是每一个C语言源代码中都要引用的一个文件,其中定义了许多常用的函数,如输入输出函数、文件相关的函数等。下面介绍stdio.h中定义的....

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。

// getcharint getchar(void);// putchatint putchar(int char);

getchar 函数是没有参数的。每一次只能接受一个字符,即是输入一连串的字符,也只会接收第一个字符,而且字符必须还是 ASCII 码表上的字符。如果输入的是一个汉字,那么是不会被接收的。

putchar 函数是有参数的,传入的参数只能是整数类型或者字符类型。其中整数只有在 0-255 之间才能输出字符,其他的是无法在屏幕上显示结果。

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

输入输出:

3. 字符串输入输出

顾名思义,这一组函数用于字符串的输入和输出。

// getschar* gets(char *);// putsint puts(const char *);

gets 函数有一个参数,可以是字符指针变量或者字符数组变量。

puts 函数也有一个参数,可以是字符指针变量、字符数组,也可以是字符指针常量。

当传给 gets 函数是一个字符指针的时候,需要对其进行初始化。

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

输入输出:

但需要注意的是,输入的字符不能大于定义的数组长度,否则就会造成内存溢出,产生异常。

4. 附录

格式字符:

转义字符:

总结

关于 C 语言常用的输入输出函数就介绍到这结束了。如果本篇文章对您有所帮助,点个赞支持一下。

如有发现文中有错误或者不恰当的地方,欢迎在评论区留言讨论。

Copyright © 2024 有趣生活 All Rights Reserve吉ICP备19000289号-5 TXT地图HTML地图XML地图