程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> [C語言]數據類型與計算,c語言數據類型計算

[C語言]數據類型與計算,c語言數據類型計算

編輯:關於C語言

[C語言]數據類型與計算,c語言數據類型計算


-------------------------------------------------------------------------------------------------

實際的計算中我們接觸的數據不僅僅是整型,那麼C語言程序中只使用int也會帶來一些問題。

從一個例子開始:

#include <stdio.h>

int main()
{
    int a;
    printf("輸入一個數,得到除以3的結果 :");
    scanf("%d", &a);
    printf("%d", a/3);  //3,小數部分被自動捨去
    return 0;
}

 

解決方法:

  1. 使用浮點數做除法運算(整數和浮點數做運算,C將把整數轉為浮點數,然後進行浮點數運算)

#include <stdio.h>

int main()
{ 
    double a;
    double b;
    
    printf("請依次輸入兩個數,如1 2,計算相除的結果:\n");
    
    scanf("%lf %lf", &a, &b);      //輸入用%lf
    
    printf("相除結果是:%f \n", a/b);  //輸出用%f

    return 0;
}

 

  2. 直接將整數值改為浮點值參與運算

#include <stdio.h>

int main()
{    
    printf("%f", 10.3/3);  //3.333333

    return 0;
}

 

數據類型:

  整數

  int

  scanf("%d");

  printf("%d", 5);

 

  浮點數

  double

  scanf("%lf", &a);

  printf("%f", 10.0);

 

 

計算:

#include <stdio.h>

int main()
{
    //計算1小時30分鐘與3小時20分的時間差
    /*
     步驟:1.使用變量存儲數值
          2.設定換算方式(公式):小時取分鐘差後除以60取整數部分,分鐘為分鐘差後除以60取余
          3.得到結果
    */
    
    int hour1, minute1;
    int hour2, minute2;
    
    scanf("請輸入時間1的小時和分鐘:%d %d", &hour1, &minute1);  //讀入用戶的輸入值
    scanf("請輸入時間2的小時和分鐘:%d %d", &hour2, &minute2);
    
   int t1 = hour1 * 60 + minute1;
   int t2 = hour2 * 60 + minute2;
   int t = t2 - t1;

   printf("時間差為%d小時%d分鐘", t/60, t%60);  //相比下面的方式,效率高些
    /*
   printf("時間差為%d小時%d分鐘", ((hour2*60+minute2)-(hour1*60+minute1))/60, ((hour2*60+minute2)-(hour1*60+minute1))%60);
  */
return 0; }

 

求平均值

#include <stdio.h>

int main(int argc, const char * argv[]) {
    //求平均值
    int a,b;
    printf("請輸入兩個數:");
    scanf("%d %d", &a, &b);
    printf("平均值為:%f", (a + b) / 2.0);
}

運算符優先級:+(正),-(負),*(乘),/(除),%(取余),+(加),-(減),=(賦值)

 

交換變量的值:

  由於程序是按步執行,如果簡單賦值,最後只會得到兩個相同的值,這時候就需要第三個變量。

#include <stdio.h>

int main()
{
    int a = 5;
    int b = 8;
    int c;
    
    c = a;
    a = b;
    b = c;
    
    printf("a=%d b=%d", a, b);
}

 

@黑眼詩人 <www.chenwei.ws>

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved