C语言——输入输出

数据的输入输出

输入:从输入设备(如键盘,磁盘,光盘,扫描仪等)向计算机输入数据。
输出:从计算机向输出设备(如显示器,打印机等)输出数据。
(一)用printf函数输出数据

printf函数是格式输出函数。程序设计人员必须指定输出数据的格式,即根据数据的不同类型指定不同的格式。

printf函数的一般格式:
printf(格式控制,输出列表)
1,格式控制包括两部分——格式声明和普通字符

· 格式声明——用双撇号括起来的一个字符串。
由% 和 格式字符组成,如%d,%c等
作用是将输出的数据转换为指定的格式然后输出。
· 普通字符——需要输出时原样输出的字符
2,输出列表是需要输出的数据,可以是常量,变量,表达式

举例如下:

 int a = 9;
 int b = 0;
 printf("a = %d b = %d", a, b);
 
 //%d,%d是格式声明
 //a = , b=  ‘\n’是普通字符,原样输出
 //a,b是输出列表

3,格式字符

· d 格式符——%d——有符号十进制整数的输出
· u格式符——%u——无符号十进制数的输出
· c 格式符——%c——一个字符输出
· s 格式符——%s——一个字符串输出
· f 格式符——%f——实数输出,包括单精度,双精度实数
——————%m.nf——指定数据宽度和小数位数
——————%-m.nf——输出的数据向左对齐
· e格式符——%e——指数输出
· i格式符——%i——与%d相同
· o格式符——%o——八进制整数输出,不带符号,不输出前导符o
· x/X格式符——%x/X——十六进制形式输出整数,无符号,不输出前导符ox或oX,
用x时,a~f输出小写;用X时,输出大写


4,使用printf函数时的说明

· 使用printf函数时,格式声明和输出列表要一一对应,否则会出错。
· 注意格式字符的大小写,有的能大写,有的不能。
· 如果想输出字符’’%’’,则应该在格式字符串中连续用两个%

printf("%f%%\n",1.0/3);
//%f 对应 1.0/3 = 0.333333
//%%则输出一个%

(二)用scanf函数输入数据

与printf函数一样, 是格式输入函数。程序设计人员必须指定输入数据的格式,即根据数据的不同类型指定不同的格式。

scanf函数的一般形式:
scanf(格式控制,地址列表)
1,格式控制同printf函数
2,地址列表——由若干个地址组成的列表,可以是变量的地址,或字符串的首地址。
3,使用scanf函数时应该注意的问题

· 地址列表里是地址变量,而不是变量名
如下面的代码是错误的:

int a = 0;
int b = 0;
scanf("%d%d",a,b);

应该改成

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

· 如果格式控制字符串中还有其他字符,则输入时应该在对应位置上输入相同字符。
如:

int a = 0;
scanf("a=%d",&a);

则输入的时候,如果输入a为5,则应该输入 a=5,只输入5就错了
· 用%c格式声明输入字符时,空格字符和转义字符都作为有效字符输入

scanf("%c%c%c",&c1,&c2,&c3);

//执行此函数时应该连续输入三个字符,中间不要有空格,应该输入abc,而不是a b c

· 在输入数值时,在两个数值之间应该插入空格,或其他分隔符,使系统能区分两个数值
· 在输入数据时,如果遇到空格,回车等不属于字符的字符,认为该数据结束,开始下一个数据或字符。

(三)字符数据的输入输出

1,putchar函数输出一个字符——putchar(c)——有参数

· putchar函数一次只能输出一个字符。

2,getchar函数输入一个字符——getchar()——无参数,直接从键盘接收字符

getchar函数一次只能接收一个字符,若需要多个字符就需要多个getchar函数。
getchar函数得到的字符可以赋给一个字符变量或者把一个整型变量,也可以补赋给任何变量,作为表达式的一部分,在表达式中利用它的值。

代码如下:

//从键盘输入BOY三个字符,然后把它们输入到屏幕上

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
 char a, b, c;
 a = getchar();
 b = getchar();
 c = getchar();
 putchar(a);
 putchar(b);
 putchar(c);
 putchar('\n');
 system("pause");
 return 0;
}

结果如下:
在这里插入图片描述
若使getchar函数得到的字符不赋给任何值,则代码如下:

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
 putchar(getchar());
 putchar(getchar());
 putchar(getchar());
 putchar('\n');
 system("pause");
 return 0;
}

运行结果相同:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/xmfjmcwf/article/details/83590155