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. 00          B. 01       C. 10         D. 11

 

下面(  D   )表达式的值为4.
     A)  11/3            B)  11.0/3
     C)  (float)11/3    D)  (int)(11.0/3+0.5)

 

posted @ 2018-12-04 20:39  liliyou  阅读(1512)  评论(0编辑  收藏  举报