龙空技术网

C 语言头文件 stdio.h 中的输入输出函数详解

三玹CC 590

前言:

当前朋友们对“c语言输入输出格式图片”大约比较关注,大家都想要分析一些“c语言输入输出格式图片”的相关内容。那么小编在网上网罗了一些对于“c语言输入输出格式图片””的相关内容,希望各位老铁们能喜欢,你们一起来学习一下吧!

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 语言常用的输入输出函数就介绍到这结束了。如果本篇文章对您有所帮助,点个赞支持一下。

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

标签: #c语言输入输出格式图片 #c语言的输入输出函数分别是什么 #c语言基本的输入输出函数 #c语言基本的输入输出函数有哪些 #c语言的输入输出函数有哪些