第二章 C数据类型
指数形式:
以字母e或者E来代表以10为底的指数。左边为数值部分,右边为指数部分(必须为整数)。
实型数据在内存中的存储形式之一——浮点数:
N = S * r^j;其中,S表示尾数,纯小数即可;j表示阶码,整数;r表示基数。
除法:
求余运算限定两个操作数均为整型;余数符号与被除数符号相同。
常用的转义字符:
函数printf()的格式转换说明:
%u——无符号的十进制整数形式输出
%o——无符号的八进制整数形式输出(无前导符0)
%x——无符号的十六进制整数形式输出(无前导符0x)
%g——自动选取f或者e格式中输出宽度较小的一种使用,且不输出无意义的0
%%——输出百分号%
函数printf()的格式修饰符:
输出域宽m:
正数,则数据宽度小于m时,向右靠齐,左侧多余补空格;宽度大于m时,按照实际宽度全部输出。若m有前导符0.则左边多余补0.(小数点也占1个字符)负数,则向左靠齐。
显示精度n:
对于浮点数,制定输出的浮点数的小数位数。
对于字符串,用于从字符串左侧开始截取的子串字符的个数。
函数scanf()的格式修饰符
忽略输入修饰符*
例如:当输入"12,34“或者”12 34“如要读取两个整数,则输入函数如下即可解决。
scanf("%d%*c%d",&a,&b);
又例如:当输入”123456“时,仅仅想读入12、56两个整数,则输入函数即可写为如下:
scanf("%2d%*2d%2d",&a,&b);
scanf()函数的%c格式符存在问题及解决方法:
问题:当使用printf()函数后再紧跟着一个使用scanf()函数读入字符型数据时,会将缓冲区中的回车符读入,导致出错。
解决:1)使用getchar()将存入缓冲区的回车符读入;
2)scanf(" %c",&ch);//在%c前面加一个空格,将存于缓冲区中的回车符读入