一、输入输出:%主要辨别各种数据类型的一种表达方式→格式字符。
表示字符串格式化操作,常用的操作有%s %d等。
简单的说,这是一种将其他变量置入字符串特定位置以生成新字符串的操作,比如:
1)%d整型输出(十进制),%ld长整型输出,
2)%o以八进制数形式输出整数,
3)%x以十六进制数形式输出整数,或输出字符串的地址。
4)%u以十进制数输出unsigned型数据(无符号数)。注意:%d与%u有无符号的数值范围,也就是极限的值,不然数值打印出来会有误。
5)%c用来输出一个字符,
6)%s用来输出一个字符串,
7)%f用来输出浮点数,以小数形式输出,默认情况下保留小数点6位。
8)%.4f用来输出实数,保留小数点4位。
9)%e以指数形式输出实数,
10)%g根据大小自动选f格式或e格式,且不输出无意义的零。
二、 输出%时用%%
三、模运算:求余运算符(参与运算的量均为整型)
1)5%2.0和5.0%2的都是语法错误
#include <stdio.h>
void main()
{
float i,j;
int k;
printf("pleaseinput:\n");
scanf("%f,%f",&i,&j);
k=i%j; /*此处错误*/
printf("%d",k);
}
编译错误信息 :
如果定义的变量不是整数类型,可以使用强制类型转换方式将其装换为整型数据,再进行计算。
需要将程序中的如下语句:
k=i%j;改写成:k=(int)i%(int)j;
2)除号的正负取舍和一般的算数一样,符号相同为正,相异为负
-3/16=0 16/-3=-5
求余符号的正负取舍和被除数符号相同(理解:a%b=a-(int)(a/b)*b
-3%16=-3 16%-3=1
代码分析:
#include “stdafx.h”
int _tmain(int argc, _TCHAR* argv[])
{
int a, b;
for (int i=0;i<4;i++)
{
scanf(“%d%d”,&a, &b);
printf(“%d”, a%b);
putchar(‘\n’);
}
return 0;
}