C语言标准输入输出

简要介绍

  1. 头文件 <stdio.h>:是C语言中提供输入和输出能力的头文件,包含对文件的通用操作和窄字符的输入输出。
  2. 标准输入 stdin:与标准输入流关联的 FILE* 类型表达式,通常是键盘。
  3. 标准输出 stdout:与标准输出流关联的 FILE* 类型表达式,通常是屏幕。

无格式标准输入

getchar

int getchar(void) 从stdin读取下一个字符。
参数:无
返回值:成功时为获得的字符,失败时为EOF
示例

#include <stdio.h>
 
int main(void)
{ 
    int ch;
    while ((ch=getchar()) != EOF)  /* 从stdin读一个字符 */
	{
    	printf("%c", ch);
    }
    return 0;
}

输入

abc
abcde

输出

abc
abcde

gets

char *gets( char *str ) 从stdin读取字符到str所指的字符数组
参数:str 要被写入的字符串
返回值:成功时为str,失败时为NULL
注意:gets函数不进行边界检查,易导致缓冲区溢出,在C11标准发布时被移除,推荐使用gets_s()替代
示例

#include <stdio.h>

int main()
{
    char str[20] = {0};
    gets(str);
    printf("%s", str);
    return 0;
}

输入
iron man
输出
iron man

gets_s

char *gets_s( char *str, rsize_t n ) 从 stdin 读取字符直到出现换行符或文件尾,至多写入n-1个字符到str所指向的数组
参数:str 要被写入的字符串,n char数组的最大长度
返回值:成功时为str,失败时为NULL
示例

#include <stdio.h>

#define SIZE 20

int main()
{
    char str[SIZE] = {0};
    gets_s(str, SIZE);
    printf("%s", str);
    return 0;
}

输入
iron man
输出
iron man

无格式标准输出

putchar

int putchar( int ch ) 将字符ch写到·stdout
参数:ch 要被写入的字符
返回值:成功时返回写入的字符,失败时返回EOF
示例

#include <stdio.h>

int main()
{
    int ch = 'a';
    putchar(ch);
    return 0;
}

输出
a

puts

int puts( const char *str ) 将字符串str输出到stdout
参数:str 要输出的字符串
返回值:成功时返非负值,失败时返EOF
示例

#include <stdio.h>

int main()
{
    char *str = "hello world";
    puts(str);
    return 0;
}

输出
hello world

有格式标准输入

scanf

int scanf(const char *format, ...) 从stdin按一定格式读取数据

有格式标准输出

printf

int printf ( const char * format, ... ) 输出结果到stdin

%c 匹配一个字符
%s 匹配一个字符串
%[set] 匹配一个来自set的非空字符序列
%% 匹配字面%
%n 返回当前已读取的字符数
%d 匹配一个十进制整数
%i 匹配一个整数
%u 匹配一个无符号十进制整数
%o 匹配一个无符号八进制数
%x(%X) 匹配一个无符号十六进制整数
%f 匹配一个float
%lf 匹配一个double
%p 匹配一个指针

示例

#include <stdio.h>

int main()
{
    int a;
    float b;
    char c;
    char str1[20];

    scanf("%d %f %c %s", &a, &b, &c, str1);
    printf("%d %f %c %s", a, b, c, str1);
    return 0;
}

输入
15 3.1415 s abc
输出
15 3.141500 s abc

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值