现在学习进入深水区了,每看一章节,都要花好几天的时间去复习,去看其他的同类别的书,突然发现那本官方教程写的真的很难懂,特别是对我这种新手、菜鸟来说更难了。现在又找了一本同类别的书来辅助,让自己能稍微能啃的深刻一点。自己也理解更易记忆一点。
复习一点上一节课
输出函数的一般格式:printf (格式控制,输出表列)。
重点补充一点
1、格式控制,如何指定数据宽度和小数位数,用%m.nf。
m指定了数据的宽度,n指定了小数后的宽度(含小数点),同时对n+1位四舍五入。
如:#include<stdio.h>
int main()
{
double a=123.23565; //double a; 也可试试这个
printf("%7.2f",a); //printf("%7.2f\n",1000/3.0); 可试试
return 0;
}
运行的结果是:123.24
2、输出的数据向左对齐,用%-m.nf。
在m,n的前面加一个负号,其作用与%m.nf形式作用基本相同,但当数据长度不超过m时,数据向左靠,右侧补空格。
#include <stdio.h>
int main ( )
{float a;
a=1000/3.0;
printf("%-25.15f\n%25.15f",a,a);
return 0;
} 运行结果:第一个值左靠,第二个值右靠,左边空了5个空格。
注:由于float型数据只能保证6-7位有效数字,所以不能保证从左数第七个数不能保证正确,这点在只要在计算机里,小数的正确率不一定百分百准确的,float型存储单元有效数字是6位,double型存储单元有效数字是15位。
适用%m.n格式的字符有e,f,d等等。注d指定宽度,如果输出不足指定宽度时,右侧对齐,左侧补空格。
今天学习了第二种输入输出函数:getchar/putchar。
putchar函数的一般形式为: putchar (c)。 put char是put character(给字符)缩写,
所以putchar输出的字符变量c的值。
#include <stdio.h>
int main()
{
char c1='B',c2='O',c3='Y'; //int c1=66,c2=79,c3=89; 呢?
putchar(c1);
putchar(c2);
putchar(c3);
putchar('\n');
return 0;;
} 运行结果:BOY
以上两种都是一样的,putchar(c)函数是输出字符的函数,它输出字符,而不能输出整数。
c可以是字符常量,整型常量,字符变量或整型变量(须在ASCII代码范围内)。
getchar输入函数的一般形式为:getchar(c)
#include <stdio.h>
int main ()
{
char a,b,c;
a=getchar();
b=getchar();
c=getchar();
putchar(a);
putchar(b);
putchar(c);
putchar('\n');
return 0;
} 运行时输入:BOY CR(Enter的意思),运行结果:BOY
注:当我们输入字符时,一定要连续输入BOY后,再按CR,而不能B O Y再按CR,或者B CR C CR Y CR这样也不行的,因为这两个函数是字符函数,不管是空格还是CR都是字符,他GET到就会放在b这个盒子里,O呢就GET到c的这个盒子里了,而就结果就会是 BO。
# include<stdio.h>
int main()
{
putchar(getchar());
putchar(getchar());
putchar(getchar());
putchar('\n')
return 0;
} 输入BOY后,运行结果:BOY
print("%c",getchar());,也可以这么用,因为%c是输出字符的格式声明。