【C語言_2】整型和浮點型數據類型

来源:https://www.cnblogs.com/DDDBB/archive/2022/09/29/16725739.html
-Advertisement-
Play Games

一、整型數據類型 1、整型數據類型名稱及關鍵詞 2、為什麼要定義不同的整型類型? 因為不同的數據類型所占用的記憶體大小是不同的,他們可表示的數據範圍也是不同的。那麼char,short,int,long,long long,分別占用幾個位元組?具體的數值範圍又是多少?C語言並未規定數據類型的大小範圍,具 ...


一、整型數據類型

1、整型數據類型名稱及關鍵詞

 

 

 

2、為什麼要定義不同的整型類型?
      因為不同的數據類型所占用的記憶體大小是不同的,他們可表示的數據範圍也是不同的。那麼char,short,int,long,long long,分別占用幾個位元組?具體的數值範圍又是多少?C語言並未規定數據類型的大小範圍,具體實現交由編譯器和平臺來實現。那麼我們怎麼知道Visual studio 2022中各種整型類型能夠表示的範圍呢?我們可以用sizeof測量。

3、如何測量數據類型大小

  • sizeof可以測量數據類型
  • sizeof可以測量變數
  • sizeof可以測量常量
 1 //測量整型數據類型占用的位元組
 2 #include<stdio.h>
 3 int main()
 4 {
 5   printf("char=%d\n", sizeof(char));
 6   printf("short=%d\n", sizeof(short));
 7   printf("int=%d\n", sizeof(int));
 8   printf("long=%d\n", sizeof(long));
 9   printf("long long=%d\n", sizeof(long long));
10   return 0; 
11 }

運行結果:

 

4、整型數值範圍結論

 

 

 5、不想最高位當符號位怎麼做?

 

 二、浮點型數據類型

1、int類型能裝下小數嗎?

 1 //錯誤示範
 2 #include<stdio.h>
 3 int main()
 4 {
 5     int a=1.345678;
 6     int b=0.123456;
 7     int c=5.234567;
 8     printf("a=%d\n",a);
 9     printf("b=%d\n",b);
10     printf("c=%d\n",c);
11     return 0;
12 }

運行結果:

 

 

所以整型數據類型是不能表示小數的!

引入新的數據類型:浮點型數據類型

2、單精度浮點類型float

 1 #include<stdio.h>
 2 int main()
 3 {
 4     float a=1.345678;
 5     float b=0.00001;
 6     float c=365.12345;
 7     printf("a=%f\n",a);
 8     printf("b=%f\n",b);
 9     printf("c=%f\n",c);
10     return 0;
11 }
12 //%d占位符用於整型
13 //%f占位符用於浮點型

運行結果:

 

 

結果顯示c=365.12344

  • 所以浮點型並不能表示無限精確,會有誤差。
  • float至少能表示6位有效數字

3、雙精度浮點類型double

 1 #include<stdio.h>
 2 int main()
 3 {
 4     double a=1.345678;
 5     double b=0.00001;
 6     double c=365.12345;
 7     printf("a=%f\n",a);
 8     printf("b=%f\n",b);
 9     printf("c=%f\n",c);
10     return 0;
11 }

運行結果:

 

 4、浮點類型所占位元組

1 //測量浮點型數據類型所占用的位元組
2 #include<stdio.h>
3 int main()
4 {
5     printf("float=%d\n",sizeof(float));
6     printf("double=%d\n",sizeof(double));
7     return 0;
8 }

運行結果:

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、什麼是事務 事務就是一系列的業務邏輯的操作,必須要全部執行成功,否則每個操作所執行的內容都要撤銷。 二、事務的四大特性 1.原子性(atomicity):事務雖然有一系列的操作,但要把它看作一個整體(單一原子),要麼都成功,要麼都失敗; 2.一致性(consistency):事務必須是使資料庫從 ...
  • Nginx平滑升級版本 一,查看現目前版本,準備預升級版本的安裝包 #查看nginx版本 /usr/local/nginx/sbin/nginx -v #測試nginx訪問是否正常,此處開放的為19999埠 #新建下載目錄 mkdir -p /home/nginx #下載預升級版本的安裝包 wge ...
  • 在學習之前,我們先瞭解一個網站mybatis-spring,這是mybatis-spring整合的官方文檔,裡面有詳細的教程,網址如下: https://mybatis.org/spring/zh/index.html 一、什麼是mybatis-spring 以下是mybatis-spring官方給 ...
  • 2022-09-29 問題描述: 在“setting.py”的配置文件中修改資料庫引擎中,將系統預設的"sqlite3"尾碼改為了“sql”。出現問題。 原因分析: 問題查看: 修改後: 上述問題修改後,在“setting”中設置資料庫的其他內容(主機、埠、用戶、密碼、使用的指定數據名的資料庫), ...
  • 在Word中創建報告時,我們經常會遇到這樣的情況:我們需要將數據從Excel中複製和粘貼到Word中,這樣讀者就可以直接在Word中瀏覽數據,而不用打開Excel文檔 ...
  • 近期在處理一個將NVR錄像機上的錄像下載到伺服器並通過瀏覽器播放的需求。 梳理記錄下過程,做個備忘,同時遇到的一些細節問題解決,也供需要的同學參考。 需求比較簡單,就是把指定時間段的錄像上傳到伺服器保存,並且允許用戶通過web頁面web瀏覽器,進行播放, 並且可以拖動控制播放進度。效果如。 一、 視 ...
  • Python常用的英語單詞就那麼幾個,多打就熟悉了 說來好笑,我壓根就沒記英語單詞… 真的就是純靠多打多練, 畢竟打多了之後肌肉記憶就在那裡了 下麵就給大家帶來常用python清單彙總~ 一、互動式環境與print輸出(https://jq.qq.com/?_wv=1027&k=2Q3YTfym) ...
  • 一、線程的概念線程是CPU分配資源的基本單位。當一程式開始運行,這個程式就變成了一個進程,而一個進程相當於一個或者多個線程。當沒有多線程編程時,一個進程相當於一個主線程;當有多線程編程時,一個進程包含多個線程(含主線程)。使用線程可以實現程式大的開發。 多個線程可以在同一個程式中運行,並且每一個線程 ...
一周排行
    -Advertisement-
    Play Games
  • 在C#中使用SQL Server實現事務的ACID(原子性、一致性、隔離性、持久性)屬性和使用資料庫鎖(悲觀鎖和樂觀鎖)時,你可以通過ADO.NET的SqlConnection和SqlTransaction類來實現。下麵是一些示例和概念說明。 實現ACID事務 ACID屬性是事務處理的四個基本特征, ...
  • 我們在《SqlSugar開發框架》中,Winform界面開發部分往往也用到了自定義的用戶控制項,對應一些特殊的界面或者常用到的一些局部界面內容,我們可以使用自定義的用戶控制項來提高界面的統一性,同時也增強了使用的便利性。如我們Winform界面中用到的分頁控制項、附件顯示內容、以及一些公司、部門、菜單的下... ...
  • 在本篇教程中,我們學習瞭如何在 Taurus.MVC WebMVC 中進行數據綁定操作。我們還學習瞭如何使用 ${屬性名稱} CMS 語法來綁定頁面上的元素與 Model 中的屬性。通過這些步驟,我們成功實現了一個簡單的數據綁定示例。 ...
  • 是在MVVM中用來傳遞消息的一種方式。它是在MVVMLight框架中提供的一個實現了IMessenger介面的類,可以用來在ViewModel之間、ViewModel和View之間傳遞消息。 Send 接受一個泛型參數,表示要發送的消息內容。 Register 方法用於註冊某個對象接收消息。 pub ...
  • 概述:在WPF中,通過EventHandler可實現基礎和高級的UI更新方式。基礎用法涉及在類中定義事件,併在UI中訂閱以執行更新操作。高級用法藉助Dispatcher類,確保在非UI線程上執行操作後,通過UI線程更新界面。這兩種方法提供了靈活而可靠的UI更新機制。 在WPF(Windows Pre ...
  • 概述:本文介紹了在C#程式開發中如何利用自定義擴展方法測量代碼執行時間。通過使用簡單的Action委托,開發者可以輕鬆獲取代碼塊的執行時間,幫助優化性能、驗證演算法效率以及監控系統性能。這種通用方法提供了一種便捷而有效的方式,有助於提高開發效率和代碼質量。 在軟體開發中,瞭解代碼執行時間是優化程式性能 ...
  • 概述:Cron表達式是一種強大的定時任務調度工具,通過配置不同欄位實現靈活的時間規定。在.NET中,Quartz庫提供了簡便的方式配置Cron表達式,實現精準的定時任務調度。這種靈活性和可擴展性使得開發者能夠根據需求輕鬆地制定和管理定時任務,例如每天備份系統日誌或其他重要操作。 Cron表達式詳解 ...
  • 概述:.NET提供多種定時器,如System.Windows.Forms.Timer適用於UI,System.Web.UI.Timer用於Web,System.Diagnostics.Timer用於性能監控,System.Threading.Timer和System.Timers.Timer用於一般 ...
  • 問題背景 有同事聯繫我說,在生產環境上,訪問不了我負責的common服務,然後我去檢查common服務的health endpoint, 沒問題,然後我問了下異常,timeout導致的System.OperationCanceledException。那大概率是客戶端的問題,會不會是埠耗盡,用ne ...
  • 前言: 在本篇 Taurus.MVC WebMVC 入門開發教程的第四篇文章中, 我們將學習如何實現數據列表的綁定,通過使用 List<Model> 來展示多個數據項。 我們將繼續使用 Taurus.Mvc 命名空間,同時探討如何在視圖中綁定並顯示一個 Model 列表。 步驟1:創建 Model ...