c语言基础(第三期:输入输出)

一、输出printf函数

二、输入函数scanf函数


一、输出printf函数

    • 原理

(1)功能

printf()函数是输出函数,要使用他,我们首先要引入#include<stdio.h>,我们先从他的功能说起,这个函数是将原有的数据,按一定的格式输出显示在控制台上,也就是他能以用户控制下的各种预定指定格式输出数据。他的原型函数是 int printf("control string ",argument list);

(2)返回值

c语言的返回值是由return决定的,他的意思是返回输出字符的数量,如果错误会返回EOF。

(3)函数的参数

有两个参数,其中control string是顾名思义就是控制字符串,这个是用来控制输出格式的,它是由“”、纯文本、空格、格式命令(#define)、非打印文字(各国的语言文字,符号)组成的,我们的控制字符都是放在“”中的,纯文本与空格在printf函数中他会原封不动的在屏幕中打印出来,而格式命令有很多,主要是用来限制一些变量,常量,表达式,函数(指有返回值的函数)的输出形式。

(4)格式命令

单字符

%c

字符串

%s

带符号的十进制整数

%d(整数的整字位数)

浮点数(十进制计数法)

%f(数字的整数部分如实输出。小数部分保留6位。如果小数部分不是6位,末尾填零;否则,四舍五入取到6位

浮点数(十进制计数法)

%lf

浮点数(指数计数法)

%e

不带符号的十六进制整数

%x

不带符号的八进制整数

%o

不带进制的十进制整数

%u

(5)打印字符

转义序列

名称

描述

\a

警告

产生一则警告

\b

退格

将光标退回下一格

\f

换页

将光标移到下一页的第一格

\n

换行

将光标移到下一行的第一格

\r

回车

将光标移到当前行的第一格

\t

水平制表

将光标移到下一个水平制表位置

\v

垂直制表

将光标移到下一个垂直制表位置

    • printf函数进阶

(1)数字宽度修饰符

例如:printf("%4d",500);可以用于浮点型,双精度型和字符串型;范围宽度修饰符是一个整数,定义了数据项的范围宽度。

(2)"-"修饰符

例如:printf("%-d",500);数据项在范围内向左对齐,从范围最左侧的位置开始输出数据项。

(3)精度修饰符

例如:printf("%.2f",3.14159);可以用在浮点型,双精度型或字符串型中,如果用在浮点型或双精度型数据中,数字字符串表示小数右侧最多可输出的数字位数。

二、输入函数scanf函数

1.原理

(1)Scanf原理

用键盘输入,键盘输入又叫标准输入。当scanf函数读取标准输入时,如果还没有输入任何内容,那么scanf函数就叫会被卡住(专业术语叫阻塞)。在scanf中要注意一点,就是在使用字符型的数据类型时,我们要用到行缓冲的知识。

(2)行缓冲

在这种情况下,在当输入和输出遇到换行符时,将真正执行的I/O处理操作,这时,我们输入的字符先存放到缓存中,等按下回车键换行时才进行实际的I/O操作,典型代表是标准输入缓冲区(stdin)和标准输出缓冲区(stdout),printf使用的是stdout.

当然在scanf函数在读取整型数、浮点数、字符串时,会忽略’\n’,空格等字符(忽略是指scanf函数在执行时会首先删除这些字符,然后在阻塞)。Scanf函数匹配一个字符时,会在缓冲区删除对应的字符,因为在执行scanf(“%c”,&c)语句时,不会忽略任何的字符,所以scanf(“%c”,&c)读取了还在缓冲区中残留的’\n’

(3)代码演示

#include<stdio.h>
int main(){
    int i;
    char c;
    float f;
    scanf("%d",&i);
    printf("i = %d\n",i);
    fflush(stdin);
    scanf("%c",&c);
    printf("c=%c\n",c);
    scanf("%f",&f);
    printf("f = %0.1f\n",f);
    return 0;
}

运行结果:

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

文艺小青年111

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值