【C语言】数据的输入输出

目录

前言

一、输入函数scanf

1.1使用scanf函数应注意的问题

1.2常用格式声明

二、输出函数printf

2.1常用格式声明


前言

本文主要介绍,输入函数scanf和printf。


一、输入函数scanf

基本语法:

scanf(格式控制,地址表列)

举例说明:

int a;
char ch;
float num1;
double num2;
scanf("%d%c%f%lf",&a,&ch,&num1,&num2);//注意这里在VS系统中会报错,可更换为
//scanf("%d%c%f%lf",&a,&ch,1,&num1,&num2);在vs环境中,scanf_s函数调用时必须申明字符长度

以上,在scanf函数中,格式声明为"%d%c%f%lf",要求连着输入整数、字符、单精度浮点数、双精度浮点数。地址表列为&a,&ch,&num1,&num2表示变量a,ch,num1,num2在内存中的地址,该输入函数表示从终端输入的3个数据分别送入地址&a,&ch,&num1,&num2的存储单位,也就是赋给变量a,ch,num1,num2。

1.1使用scanf函数应注意的问题

(1)scanf函数中的格式控制后面应为变量地址,而不是变量名。即&a,而非a。

(2)如果在格式控制字符中除了格式声明以外还有其他字符,则在输入数据时在对应的位置应输入与这些字符相同的字符。即如果scanf函数为:

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

即应输入:

(3)在使用"%c"格式声明输入字符时,空格字符和转义字符中的字符都能作为有效字符输入。例如:

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

在执行此函数时应该连续输入3个字符,中间不要有空格。

提示:输入数据时,在两个数值之间需要输入空格(或其他分隔符),以便系统进行区分。在连续输入字符时,在两个字符之间不要插入空格或其他分隔符,系统能够自动区分两个字符。

1.2常用格式声明

格式声明对应数据类型说明示例
%dint(基本整型)输入有符号的十进制整数
int a;//
scanf("%d",&a);

%cchar(字符型)输入单个字符
char ch;
scanf("%c",&ch);
%ffloat(单精度浮点型)输入实数,可以用小数形式或指数形式输入
float b;
scanf("%f",&b);
%lfdouble(双精度浮点型)输入double型数据
double d;
scanf("%lf",&d);

二、输出函数printf

基本语法:

printf(格式控制,输出表列)

举例说明:

int a;
char ch;
float num1;
double num2;
scanf("%d%c%f%lf",&a,&ch,&num1,&num2);
printf("%d %c %.2f %.2f",a,ch,num1,num2);

以上,在printf函数中有三点与scanf函数明显不同。一,在格式控制字符中除了格式声明以外还有其他字符,这些字符会在输出时显示出来。二,%.2f与%.2lf,可理解为输出数据小数点后保留两位有效数字(实际含义有点书面化,我目前还不太理解)。三,输出表列是程序需要输出的一些数据,可以是常量、变量或表达式。

2.1常用格式声明

格式声明对应数据类型说明示例
%dint(基本整型)以带符号的十进制形式输出整数(正数不输出符号)
int a=2;
printf("%d",a);
%cchar(字符型)以字符形式输出,只输出一个字符
char b='v';
printf("%c",b);
%f

float(单精度浮点数)

double(双精度浮点数)

以小数形式输出单、双精度数,隐含输出6位小数
float c=2.22;
double d=3.33;
prinf("%f %f",c,d);

思考:float与double的区别?(网上答案看不太懂,等懂了再回来补充)

  • 21
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

琛:D

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

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

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

打赏作者

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

抵扣说明:

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

余额充值