注意知识点:
(1)int用%d,float用%f,double用%lf
(2)double 和float的区别:
1、精度不一样,float是单精度,double是双精度;
2、表示小数的范围不一样,double能表示的范围比float大;
3、double在内存中,占8个字节,float在内存中,占4个字节。
float:浮点型数据类型,FLOAT 数据类型用于存储单精度浮点数或双精度浮点数。浮点数使用 IEEE(电气和电子工程师协会)格式。浮点类型的单精度值具有 4 个字节,包括一个符号位、一个 8 位 二进制指数和一个 23 位尾数。由于尾数的高顺序位始终为 1,因此它不是以数字形式存储的。此表示形式为 float 类型提供了一个大约在 -3.4E+38 ~ 3.4E+38 之间的范围。
double:双精度浮点型,此数据类型与单精度数据类型(float)相似,但精确度比float高,编译时所占的内存空间依不同的编译器而有所不同,是double float数据类型,C/C++中表示实型变量的一种变量类型。
(二)各类循环
(1)while:
A . I 只有一个表达式和一条循环体语句对应循环条件和循环体
B。do-while
适用于先循环后判断的语句
C BREAK和COUNTINE
break的执行会让循环提前结束,应与if搭配使用是循环提前结束,但要满足条件执行,否则永远不会执行循环体中break后面其他语句
continue
D.for语句
它的运行过程为:
1) 先执行“表达式1”。
2) 再执行“表达式2”,如果它的值为真(非0),则执行循环体,否则结束循环。
3) 执行完循环体后再执行“表达式3”。
4) 重复执行步骤 2) 和 3),直到“表达式2”的值为假,就结束循环。
上面的步骤中,2) 和 3) 是一次循环,会重复执行,for 语句的主要作用就是不断执行步骤 2) 和 3)。
(三)程序设计兔子繁衍问题
#include<stdio.h>
int main(void){
int n1=1,n2=0,n3=0;
int t;
int quan;
int i=1;
int total;
printf("请输入兔子数量");
scanf("%d",&quan);
while(1)
{
total=n1+n2+n3;
if(total >= quan)
break;
i+=1;
t = n1;
n1 = n3 + n2;
n3 += n2;
n2 = t;
}
printf("所需月数为:%d\n",i);
return 0;
}