c++语言学习(5)--数据类型
已经在之前的内容接触到 int 类型,这是整数类型,
1、求平均值
读取两个整数,求他们的平均值
1 #include "stdio.h" 2 3 int main() 4 { 5 int a,b; 6 puts("请输入两个整数:"); 7 printf("整数a:"); scanf("%d",&a); 8 printf("整数b:"); scanf("%d",&b); 9 10 printf("他们的平均值为:%d \n",(a+b)/2); 11 return 0 12 }
这里a+b是有括号的,所以先进行 a+b 然后 再除以2.
2、数据类型
看 int 类型 和 double类型的区别, double类型是 float类型中的一种,称之为双精度浮点数, float就是浮点数。
1 #include "stdio.h" 2 3 int main() 4 { 5 int n; 6 double x; 7 n=9.99; 8 x=9.99; 9 printf("int 类型变量 n 的值 : %d\n",n); 10 printf(" n/2: %d\n",n/2); 11 12 printf("double 类型变量 x 的值 : %f\n",x); 13 printf(" x/2: %f\n",x/2); 14 return 0 15 }
3、数据类型和对象
int 整数类型 对应的 对象是 n
double 类型 对应的对象是 x
n 和x不具有同样的规格,n能保留整数,但是不能保留小数,而 double类型可以保留小数
整数类型有一个范围 -32767~32767
对象是从类型哪里继承了属性,规格。如自行车有一个大概的规格和统一的标准,这就是类别,然后各个厂家造出不同的自行车,这就是对象是实体。虽然他们五花八门,但是都叫自行车,是属于同一种类。
4、整型常量和浮点常量
int 型常量 1,2,3,4
double 型常量 5.6 , 9.2312312, 19.67767
5、double类型的运算
1 #include"stdio.h" 2 3 int main() 4 { 5 double x,y; 6 7 puts("请输入两个整数:"); 8 printf("实数x :"); scanf("%lf",&x); 9 printf("实数y :"); scanf("%lf",&y); 10 11 printf(" x+y=%f\n",x+y); 12 printf(" x-y=%f\n",x-y); 13 printf(" x*y=%f\n",x*y); 14 printf(" x/y=%f\n",x/y); 15 return 0; 16 }
-------------------------------------------------------------
练习1、
读入一个实数的值,并且显示
-----------------------------------------------------------------
6、数据类型和运算
int / int -> int
double /double ->double
整数类型和整数类型 运算 所得到的结果就是 整型; double类型和 double类型运算的结果 是double类型的数据。
如果 int 和 double 进行运算 得到的结果 是double类型
1 #include "stdio.h" 2 3 int main() 4 { 5 int n1,n2,n3,n4; 6 double d1,d2,d3,d4; 7 8 n1=5/2; 9 n2=5.0/2.0; 10 n3=5.0/2; 11 n4=5/2.0; 12 13 d1=5/2; 14 d2=5.0/2.0; 15 d3=5.0/2; 16 d4=5/2.0; 17 18 printf("n1=%d\n",n1); 19 printf("n2=%d\n",n2); 20 printf("n3=%d\n",n3); 21 printf("n4=%d\n",n4); 22 23 printf("d1=%f\n",d1); 24 printf("d2=%f\n",d2); 25 printf("d3=%f\n",d3); 26 printf("d4=%f\n",d4); 27 28 return 0; 29 }
观察 不同数据类型的不同赋值情况
7、类型转换
计算两个整数的平均值
1 #include "stdio.h" 2 3 int main() 4 { 5 int a,b; 6 7 puts("请输入两个整数:"); 8 printf("整数 a:"); scanf("%d",&a); 9 printf("整数 b:"); scanf("%d",&b); 10 11 printf("他们的平均值是%f. \n",(a+b)/2.0); 12 return 0; 13 }
这个程序 和1里面的 求平均值的程序有什么不同?
这种叫做隐式转换
如果是显示转换,程序如下
#include "stdio.h" int main() { int a,b; puts("请输入两个整数:"); printf("整数 a:"); scanf("%d",&a); printf("整数 b:"); scanf("%d",&b); printf("他们的平均值是%f. \n",(double)(a+b)/2); return 0; }
-----------------------------------------------------------------------------------------------------------------------------
练习1:
读取三个整数,求他们的平均值,并进行类型的转换。
------------------------------------------------------------------------------------------------------------------------
8、显示宽度