C语言的部分输入输出语句说明

今天来说说基本一点的问题,C语言中的输入和输出。提到输入时意味着要向程序提供一些数据,可以是以文件的形式,也可以从命令行中进行。c语言提供了一系列内置函数来读取给定的输入并根据需要填充到程序中。而输出则意味着要在屏幕,打印机或者任意文件中显示一些数据,C语言提供了一系列内置的函数来输出数据到计算机屏幕上和保存数据到文本文件或二进制文件中。

int getchar(void)函数是从屏幕上读取下一个可用的字符,并把它返回为一个整数。这个函数在同一时间内只会读取一个单一的字符,可以在循环内使用这个方法,以便从屏幕上读取多个字符。

int putchar(int c)函数把字符输出到屏幕上,并返回相同的字符。这个函数和getchar一样都是在同一时间内只会输出一个单一的字符,可以在循环内使用这个方法,以便从屏幕上输出多个字符。来看下面这个程序,逆序输出键盘输入的字符串:

#include<stdio.h>
void fun()
{
char c;
if((c=getchar())!='\n')
fun();
putchar(c);
}
int main()
{
fun();
return 0;
}


这个程序使用递归函数在回车键后输出,由于输出的语句在递归的语句后面所以会先输出后递归函数里面输入的字符,因此就能简单的实现该功能。如果用数组,因为不知道要逆序输出多少个字符所以要申请一个足够大的数组,效率和空间占用率都不高。

接下来的是我们最经常用到的函数printf和scanf函数。int scanf(const char*format,.....)函数从标准输入流读取输入,并根据提供的format来浏览输入。int printf(const char*format,....)函数把输出写入到标准输出流stdout,并根据提供的格式产生输出。其中format可以是一个简单的常量字符串,可以分别制定%s,%d,%c,%f等来输出或读取字符串,整数,字符或浮点数。值得一提的是关于scanf函数有几点说明需要注意的地方:

1、sacnf()中的变量必须使用地址。  

int a, b;   

scanf("%d%d",a,b); //错误  

scanf("%d%d",&a,&b);   

2、scanf()的格式控制串可以使用其它非空白字符,但在输入时必须输入这些字符。  例:   scanf("%d,%d",&a,&b);   

输入: 34        (逗号与"%d,%d"中的逗号对应)  

scanf("a=%d,b=%d",&a,&b);   

输入: a=3b=4    "a=","b=",逗号与"%d,%d"中的"a=","b="及逗号对应)    

3、在用"%c"输入时,空格和“转义字符”均作为有效字符。  例:   scanf("%c%c%c",&c1,&c2,&c3);  

输入:abc   结果:ac1,□→c2bc3 (其余被丢弃)    

scanf()函数接收输入数据时,遇以下情况结束一个数据的输入:(不是结束该scanf函数,scanf函数仅在每一个数据域均有数据,并按回车后结束)。  

① 遇空格、“回车”、“跳格”键。

② 遇宽度结束。  

③ 遇非法输入。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值