1、putchar 和 getchar
putchar
功能:在终端屏幕上打印一个字符
putchar(a);
注意:
1.打印的是字符
2.只能打印一个字符
getchar
功能:在终端屏幕上接收一个字符
a = getchar();
注意:
1.接收字符
2.只能接收一个字符
getchar()表达式结果为从终端接收到的字符的ASCII码值
2、printf 和 scanf
printf:
1.打印非输出控制符:
printf(“hello world”);
\" "号
\n 换行符
\b 退格符
\t 横向制表符
\v 纵向制表符
\a 响铃
\r 回车符
\\ \符号
2.打印输出控制符:
int val = 100;
printf(“val = %d\n”, val);
%d 按照有符号十进制打印
%ld 按照有符号十进制打印
%o 按照八进制打印
%x 按照十六进制打印
%X 按照十六进制打印
%#o 打印八进制前的0
%#x 打印十六进制前的0x
%u 按照无符号类型打印
%f 按照浮点数类型打印
%lf 按照浮点数类型打印
%e 按照指数形式打印浮点数类型
%E 按照指数形式打印浮点数类型
%c 按照二进制对应的ASCII码字符打印
%p 按照指针形式打印
%% 打印%号
3.打印多个输出控制符:
int num1 = 100;
int num2 = 200;
printf(“num1 = %d, num2 = %d\n”, num1, num2);
printf(“num1 = %d, num2 = %c\n”, num1, num2);
注意:输出控制符的个数与表达式的个数要一一匹配
printf表达式的值为实际打印在终端屏幕上的字符的个数
%nd n:表示域宽(不足域宽,高位用空格补齐)
%0nd 0:不足域宽,高位用0补齐
%-nd -:左对齐
%.mf m:保留小数点后m位有效数字
scanf:
1.scanf中出现非输入控制符,需要从终端原封不动输入,否则从不匹配的位置开始不再向后读取
2.scanf除了%s外后面必须加&符号
3.scanf除了%c形式外均无法接收’ ‘和’\n’字符
4.scanf中严禁出现\n
5.scanf使用_%c形式,接收一个非’ ‘和’\n’的字符
1.scanf接收非输入控制符
scanf("m");
双引号中间的内容要从终端原封不动输入
2.scanf接收输入控制符
%d 按照int类型接收数据
%f 按照float类型接收数据
%lf 按照double类型接收数据
%c 按照char类型接收数据(可以接收' '和'\n')
_%c 按照char类型接收数据(无法接收' '和'\n')
%s 按照字符串类型接收
int num = 0;
scanf("%d", &num);
float f = 0;
scanf("%f", &f);
double d = 0;
scanf("%lf", &d);
char ch = 0;
scanf("%c", &ch);
3.scanf接收多个输入控制符
int num1 = 0;
int num2 = 0;
scanf("%d%d", &num1, &num2);
2、gets和puts
1.puts
功能:在终端打印一行字符串
puts会多打印一个\n字符
注意:
puts和printf的区别:
1.puts会多打印一个\n字符
2.printf不会多打印\n字符
2.gets
功能:从终端接收一行字符串
gets会去掉从终端接收的\n字符
注意:
gets和scanf的区别:
gets:可以接收带' '的字符串
scanf:无法接收带' '的字符串