C语言数据类型运算法则
整形与整形运算得到的还是整形
printf("%d\n",1/3); //0 printf("%d\n",1+2); //3
整形与浮点型运算得到浮点型数据
printf("%6f\n",1/3.0);//0.333333 printf("%6f\n",1+3.0);//4.00000
double sum=0.0; double sign=1.0; for(int i=1;i<=100;i++){ sum+=sign/i; sign=-sign; } printf("%f\n",sum);//0.688172
强制类型转换
int a=1.0; int b=8/10; printf("%d\n%d\n",a,b);//1 0
double a=1; printf("%f\n",a);//1.000000
试题练习:
下列程序的输出结果是___C___。 main() { double d=3.2; int x,y; x=1.2;y=(x+3.8)/5.0; printf("%d \n",d*y); } A、3 B、3.2 C、0 D、3.07
若有以下程序段 int c1=1,c2=2,c3;c3=1.0/c2*c1; 则执行后,c3中的值是___A___。 A、0 B、0.5 C、1 D、2
C语言中运算对象必须是整型的运算符是__A____。
A、%= B、/ C、= D、<=
62.若已定义 x 和 y为double 类型,则表达式 x=1,y=x+3/2 的值是( C )。 A. 1 B. 2 C. 2.0 D. 2.5
设整型变量 m,n,a,b,c,d 均为1,执行 (m=a>b)&&(n=c>d)后, m,n 的值是( A)。 A. 0,0 B. 0,1 C. 1,0 D. 1,1
下面( D )表达式的值为4. A) 11/3 B) 11.0/3 C) (float)11/3 D) (int)(11.0/3+0.5)