**五、数据类型函数概念和编写**
1,数据类型`
(1)整数类型:char(1一字节),short(2), int(4默认) ,long(4), longlong(8) unsigned(无符号) signed(有符号)
A, 规定:最高位代表符号位
0为正数 (0到127) 1为负数(-128到-1)
对于无符号类型取值范围(0到255),有符号为(-128到127)
B,数值的表示
正数:直接是源码
负数:取反加一
eg:
127 二进制为0111 1111
-13 13的二进制为0000 1101
取反1111 0010 加一 1111 0011
-1 1的二进制0000 0001
取反1111 1110 加一1111 1111
128 1000 0000 取反0111 1111 加一 1000 0000
C, 二进制(一个字节)转为十进制——》先看符号再计算
正数直接计算
负数先写符号取反加一
eg: 0000 1010 10
1111 0101 ---->-0000 1010------>-0000 1011----->-11
(2)小数类型:float(4),double(8默认)
一个字节=8位
例1:在2000到2050年的每一年是否是闰年,若是则输出
(1)可以被4整除,且不能被100整除
(2)能被400整除
int main ()
{
for(int i=2000;i<=2500;++i)
{
if(i%40&&i%100!=0||i%4000)
{
printf("%d\n",i)
}
}
return0:
}
例2:给出一个大于或等于3的正整数,判断它是不是素数
(素数:除了1和本身,不能被其他任何数整除)
int main()
{
scanf("%d,&a");
for(int i=2;i<a;++i)
{
if(a%i==0)
{
printf("%d不是素数\n",a);
renturn0;
}
}
renturn0;
}
例3 12345
int main()
{
int t=1;
for(int i=1;i<=5;i++)
{
t*=i;
}
printf("%d\n",t)
renturn0;
}
int main()
{
int n;
scanf("%d",&n);
int t=1;
for(int i=1;i<=5;i++)
{
t*=i;
}
printf("%d!=%d\n"n,t);
renturn0;
}