内容正文:
第3章 数据的输入输出
3.1 字符的输入/输出函数
3.2 字符串输入/输出函数
3.3 格式输入/输出函数
C语言本身没有提供输入语句和输出语句。输入输出通过调用库函数来实现。
前 言
#include <stdio.h>
或:#include "stdio.h"
要使用“库函数”,首先要用#include将一些文件包含到我们的程序中来,文件的后缀一般为.h,称头文件。
3.1 字符输入/输出函数
1.字符输入函数
调用格式:getchar()
功能:从键盘缓冲区读入一个字符。
函数返回值:该字符的ASCII码值。可以赋给字符变量或整型变量。
执行getchar()时,输入字符后要回车。
注意
#include <stdio.h>
int main()
{ int a;
char c;
a=getchar();
c=getchar();
printf("%c %c
",a,c-32);
}
运行:
Ab
A B
思考:输入时A与b之间能否有空格?
输入的两个字符间既不能有空格也不能有回车!
注意
Ab间不能有回车,否则第二个getchar读到的是回车符。回车后,getchar开始从键盘缓冲区读一个字符,如果缓冲区本来就有字符,那么不会等待用户输入。
调用格式: putchar(c)
功能:把c的值输出到显示器上
2.字符输出函数
#include<stdio.h>
int main()
{ int c;
char a;
c=65; a='B';
putchar(c); putchar('
');
putchar(a+32); putchar('a'-32);
}
运行结果:
A
bA
c为字符常量、变量、表达式或0~127之间的整数
3.2 字符串输入输出函数
#include <stdio.h>
int main()
{ ?
gets(s);
puts(s);
}
运行结果:
abcd
abcd
gets(s)函数:用来从标准输入设备(键盘)读取字符串直到按回车键结束。
puts(s)函数:用来向标准输出设备(屏幕)写字符串并换行。
有字符串变量吗?
char s[10];
功能:按指定格式向显示器输出数据。
格式:printf("格式控制串",输出列表)
3.3 格式输入/输出函数
3.3.1 格式输出函数printf
要输出的数据(可以没有,有多个时以“,”分隔)
%[修饰符]格式字符
指定输出格式。普通字符或转义序列原样输出。
例:
#include<stdio.h>
int main()
{ printf("************
" );
printf("How are you ?
");
printf("I am fine!
");
}
“”里想说啥说啥,原样输出
例:
#include <stdio.h>
#define PI 3.14
int main()
{
printf("半径为%d的圆的面积=%f
",r,PI*r*r);
}
printf("输入圆的半径:
");
scanf("%d",&r);
int r;
半径为3的圆的面积=28.260000
输入圆的半径:
3
d(int) 以带符号的10进制形式输出整数
o 以8进制无符号形式输出整数
x(X) 以16进制无符号形式输出整数
u(unsighed) 以无符号10进制形式输出整数
c(char) 以字符形式输出一个字符
s 输出字符串
f(float) 小数形式输出单、双精度数,隐含6位小数
e(E) 以标准指数形式输出单双精度数,小数位数为6位
g(G) 选用%f或%e格式中输出宽度较短的一种格式
% 百分号
lf(double)
printf格式字符
ld (long)
格式控制形式:
%+格式字符
说明1:d,o,x(X),u格式符(o、x、u了解)
用来以10,8,16进制形式输出整数,即将内存单元中的所有二进制数值(包括符号位)转换成10,8,16进制输出。
#include<stdio.h>
int main()
{ int a=100;
printf("%d,%o,%x",a,a,a);
}
输出: 100,144,64
float f=123.456;
printf(“%f,%e,%g
”,f,f,f);