C语言的输入/输出

本文详细介绍了C语言中的关键输入输出函数,如printf()用于格式化输出,scanf()用于接收用户输入,以及puts(),gets(),fgets(),fputs(),fputc(),fgetc()等函数在文件操作中的应用。作者强调了格式控制的重要性并提醒读者注意细节。
摘要由CSDN通过智能技术生成

#本节我们主要是讨论C语言的输入和输出#

一、printf()

二、*scanf()

三、*其他输入输出

前面我们经常使用头文件<stdio.h>,那么我们到底用到了这里面哪些函数呢。我们本节要说的输入输出函数就包含在其中。ps:但是今天提到的函数里面也有其他头文件里面的,例如<string.h>。


一、printf();

printf()的作用就是向输出设备(比如屏幕)输出数据。【ps:资深读者可以学习一下printf()的压栈顺序等相关拓展知识】

用法一:printf("string");//输出字符串(结果读者大大自己动手实践,光看是没有任何意义的,包括以后的学习也是这样)

printf("Hello ,I'm Stark");//这一语句的作用就是向屏幕输出一串字符(即引号内部字符串内容)

用法二:printf("字符串,格式符",参数);//输出一串字符+特定格式字符

printf("这是一个十进制整数:%d ",64);//输出:64,常量做参数

int data=64;
printf("这是一个十进制整数:%d",data);//输出:64,变量做参数,不止十进制整数可以这样哦,其他数据类型也可以。

printf("这是一个字符数据:%c ",'A');//输出:A
printf("这是一个字符串:%s \n","I'm Stark");//输出:I'm Stark,"\n"表示换行
printf("这是一个十六进制整数:%x",64);//输出:40这里的40是16进制表示的的64
//......

这里要格外注意,A要被' '括起来才表示字符,不然就是一个名为A的变量(当然定没定义过看读者大大自己的代码了);而一串字符要被" "括起来哦。另外博主也为大家总结了一下可能要用到的一些占位符。话不多说,上图:(当然还有一些其他类型的占位符就不一一列举了,如%p是指针类型的占位符)

45bfd0c4b97441e6bbdcb1be6a208d05.png

唉哟,看到 “ \n ”了,那就要说一说转义字符了。

a14e638fd140456686e8aa6f65d60686.png

怎么样,表示的含义都看了吧。那么就会有些人问,不就这些吗,小意思。不是的,博主要在这里告诉大家这个小知识也有一些要注意的细节,比如 " \\ " 表示一个 " \ ";博主什么意思呢?相信大家都知道网址还有路径里面都含有"\"字符吧,要想完整的表示出来,让计算机识别你想表达的路径那就需要输入两个来表示一个,不然会出现大问题的。所以,大家在学习时一定要抱着敬畏的心态去学习,每一个知识点都是有用的,在将来应用时说不准就是这些小细节让你抓耳挠腮的。

用法三:其实也算是用法二的一个拓展,将格式符做一些精细的格式控制

1.输出宽度控制

*我们先看看默认的整型输出(%d):(后面是有一个点的,方便我们实验进行观察)05e2efa25ff148b8a89a907d4c540b52.png

*我们把%d换成%5d试试看:(怎么回事,is 和64之间怎么拉那么长,其实就是数据输出宽度变成了5,当然如果数据超出5还是要按准确数据输出,不会截断数据的)9c676e2dea1849408f901ebd4af15a51.png

*不妨再试一下%-5d呢:(点的作用就出来了,发现了吗,负号就是改变格式对齐方式,使原本的右对齐变为了左对齐,这里要提一点,printf默认的就是左对齐方式)0408f92468a94775a57581e085d51aac.png

2.浮点数的小数位数控制

* 同样的,我们先看下默认的浮点数输出:(默认的float单精度浮点型输出6位小数)4f57683bd9e742c4a7b2856cd1e1da0d.png

*如何控制小数位呢,不妨先看看博主的操作:(发现不同了吗,是的,%后接了一个.和所需数位的数字)386833fd75f64517860b115be13fcc84.png

* 那能不能同时限定宽度和小数位呢,当然,可以同时设置输出宽度和小数位数。同样的,看博主操作,然后自己发现不同。(其实就是小数点前控制宽度,小数点后控制小数位,读者大大不妨试一下添个负号呢,博主就不在这向大家展示了,加油!你行的,自己消化一下目前所学的知识)ab66704775634355b8c875c6c040d045.png


二、scanf()

scanf()的作用就是用输入设备(如键盘)通过地址将输入的数据传递给地址对应的变量中。【scanf()是由返回值的,并且一定情况下使有用的哦,这里不做太多赘述】

用法其实非常简单scanf("%d",&variable_name);单值输入,占位符,变量地址(&取地址符)。

scanf("%d%c",&v1,&v2);多值输入,分别的占位符,变量各自的地址,中间要用逗号隔开。此外还要注意: " "内部内容除了占位符外如果输入其他字符,必须要按照标准原样输入。比如scanf("%d-%d-%d", &a, &b, &c);除了从键盘输入三个数据外,还需要在每两个数据中间加上“-”符,不然会出错,包括空格也算一个特殊字符,也遵守该规则。


三、其他输入输出函数

1.puts()和gets();//包含在头文件<string.h>中

char c='A';
puts(c);
puts("hello world");
//puts()函数只能输出字符串, 不能输出数值或进行格式变换。
//puts()可以将字符串直接写入puts()函数中。



//gets()函数用来从标准输入设备(键盘)读取字符串直到回车结束, 但回车符不属于这个字符串.
//其调用格式为:gets(s)  其中s为字符串变量(字符串数组名或字符串指针)。

2.fputs()和fgets();//包含在头文件<stdio.h>中

int fputs(const char* str, FILE* stream);
//fputs函数是C语言标准库中的一个输出函数,用于将字符串写入到指定的文件中。

char* fgets(char* str, int num, FILE* stream);
//fgets 函数是C语言标准库中的一个输入函数,用于从文件中按行读取数据或从标准输入(键盘)读取数据。

拓:fputc()和fgetc();

当涉及读取和写入单个字符时,使用 fputc 和 fgetc 是常见的方法。这两个函数用于从文件中读取或写入单个字符。

int fputc(int c, FILE *stream);//将一个字符 c 写入到指定文件流 stream 中。
//若成功则返回写入的字符 c,若发生错误则返回 EOF(-1)。

int fgetc(FILE *stream);//从指定文件流 stream 中读取一个字符。
若成功则返回读取的字符,若发生错误或到达文件结尾则返回 EOF(-1)。

3.putchar()和getchar();

4.更多函数...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值