C語言的相關基礎概念和常用基本數據類型

1.相關概念

變量與常量的定義

常量:在程序運行中其值不能改變的量。

變量:在程序運行中其值可以改變的量。

存儲器的區分? ? ? ?

RAMROM
中文名易失存儲器不易失存儲器
特點掉電丟失數據,但存取快掉電不丟失數據,但存取幔

標識符

標識符只能由數字、字母和下劃線組成,需要區分字母大小寫且開頭不能由數字組成。

進制之間的轉換

?

1位8進制數對應3位2進制數,1位16進制數對應4位2進制數。

8/16進制數2進制表示(8j進制數)2進制表示(16進制數)
00000000
10010001
20100010
30110011
41000100
51010101
61100110
71110111
8/1000
9/1001
A/1010
B/1011
C/1100
D/1101
E/1110
F/1111

2.常用基本數據類型

整型數據

無符號數據范圍有符號(可以存儲負數)數據范圍占用空間(字節)
短整型unsigned short0~(2^16)-1short-2^15~(2^15)-12
整型unsigned int0~(2^32)-1int-2^31~(2^31)-14
長整型unsigned long0~(2^64)-1long-2^63~(2^63)-18
超長整形unsigned long long0~(2^64)-1long long-2^63~(2^63)-18

以整型(int)為例

.任何整型變量在存儲時都是以16進制的形式存儲。

.一般情況下,整型數據都是以小段存儲的形式儲存,即存儲時小位的值置于前面的位置,因此查? ? ?看時需將數據顛倒。

.int 存儲時占用4個字節,32個比特位,其中第一個比特位用于存儲該整型數據的符號,即1為負數,0位正數。

eg1: int 123

十進制數2進制表示(除以2取余)16進制表示(4位2進制表示一位16進制)
123000000000000000000000000011110110x0000007B

存儲形式

7B
00
00
00

eg2:? ?int -123

二進制表示(源碼),該整型的絕對值用二進制表示

00000000000000000000000001111011

反碼,即將源碼的0變為1,1變為0

11111111111111111111111110000100

補碼,即反碼-1

11111111111111111111111110000011

將補碼轉化為16進制數,再以eg1形式存儲

整型溢出:

#include <stdio.h>int main(void)
{int i;int j;i = FFFFFFFF;j = i + 1;printf("%d\n%d\n",i,j);return 0;
}

輸出結果

浮點型

floa(單精度浮點型)double(雙精度浮點型)
占用空間(字節)48

以floa 為例

存儲形式:

符號位(占用1比特位):是1為負數,是0為正數。

階碼位(占用8比特位):127+小數點移動的位數。

尾數位(占用23比特位):只存取用科學計數法表示的2進制數的小數部分。

eg3: -100.125

整數部分:100------1100100

小數部分(乘2取整數部分):0.125------001

科學計數法表示:1100100.001------1.100100001*2^6

小數點移動6位,則階碼位為:127+6------10000101

-100.125補碼為:1100001010010000100000000000000

轉化為16進制為:C2C84000

字符型

定義:

????????簡單來看,字符類型在計算機內部和整數存儲方式相同,標準ASCII碼使用8位作為一個字符的存儲單元。在程序設計中字符的常量使用單引號表示,盡量避免使用整型數據表示字符常量。對于ASCI碼表中的非打印字符,可以使用其ASCII值或者轉義序列來表示,通常使用反斜杠“\”來表示字符的轉義。對于打印字符,采用%c與%d將會輸出不同類型的數據。

區分:

eg4:? '1'-----字符(占用1個字節)

? ? ? ? 1------整型(占用4個字節)

? ? ? ? “1”------字符串(占用8個字節)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/88991.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/88991.shtml
英文地址,請注明出處:http://en.pswp.cn/web/88991.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Spring boot整合dubbo+zookeeper

Spring boot整合dubbozookeeper 下文將簡述springboot整合dubbozookeeper實現apiproviderconsumer模式&#xff0c;Api用于定于interface,provider和consumer依賴Api,provider實現api接口&#xff0c;consumer調用provider。 spring boot版本&#xff1a;3.5.3 jdk版本&#xf…

ImportError: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.32‘ not found

簡介&#xff1a;在復現 VLM-R1 項目并嘗試將其中的 GRPO 算法應用到自己的任務時&#xff0c;按照官方文檔配置好環境后&#xff0c;運行過程中遇到了一個非常離譜的錯誤&#xff1a; ImportError: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.32 not found 這個問題極…

基于Spring Boot的生活用品電商網站的設計與實現

第1章 摘要隨著電商行業的飛速發展&#xff0c;生活用品電商網站作為線上購物的一部分&#xff0c;逐漸成為消費者日常購物的重要渠道。為提升網站的管理效率和用戶體驗&#xff0c;設計并實現了一款基于Spring Boot的生活用品電商網站。該系統通過合理的架構設計&#xff0c;提…

數據結構 單鏈表(1)

1.概念和結構概念&#xff1a;鏈表是一種物理存儲結構上非連續、非順序的存儲結構&#xff0c;數據元素的邏輯順序是通過鏈表中的指針鏈接次序實現的。通過指針鏈接次序實現的要怎么理解呢?這是一張鏈表的結構圖:與順序表不同的是&#xff0c;鏈表里的每節“車廂” (仔細觀察這…

Python爬蟲實戰:研究PyMongo庫相關技術

1. 引言 在當今信息爆炸的時代,互聯網上存在著海量的有價值數據。如何高效地獲取這些數據并進行存儲和分析,成為了數據科學領域的重要研究方向。網絡爬蟲作為一種自動化的數據采集工具,可以幫助我們從網頁中提取所需的信息。而 MongoDB 作為一種流行的 NoSQL 數據庫,能夠靈…

【世紀龍科技】邁騰B8汽車整車檢測與診斷仿真實訓系統

在汽車技術日新月異的今天&#xff0c;如何培養既懂理論又精實踐的高素質汽修人才&#xff0c;成為職業教育領域亟待突破的課題。江蘇世紀龍科技憑借深厚的技術積淀與教育洞察&#xff0c;重磅推出《汽車整車檢測與診斷仿真實訓系統》&#xff0c;以邁騰B8為原型&#xff0c;通…

.net服務器Kestrel配置Nginx作為反向代理

.NET服務器Kestrel配置Nginx作為反向代理 在ASP.NET Core應用程序的部署過程中&#xff0c;Kestrel是一款輕量級的跨平臺Web服務器。不過&#xff0c;直接將其暴露在互聯網上并非明智之舉。為了增強安全性、提升性能以及提高可伸縮性&#xff0c;我們可以借助Nginx作為反向代理…

MyBatis 在執行 SQL 時找不到名為 name 的參數

MyBatis 在執行 SQL 時找不到名為 name 的參數&#xff0c;因為當接口方法有多個參數時&#xff0c;沒有使用 Param(“name”) 明確指定參數名。 其他人說只有springboot1.x的版本才會出現該問題&#xff0c;但是我在使用2.x的版本時也出現了該問題Not found 參數 于是便回根溯…

【Git】git的回退功能

Git 的回退功能非常強大&#xff0c;但因為有多個命令&#xff0c;初學者很容易混淆。我們來系統地梳理一下最核心的幾個“回退”指令&#xff1a;git reset、git revert 和 git restore。 我會按照使用場景和安全級別來為你講解。核心區別&#xff1a;reset vs revert 這是最重…

STM32新建工程

1、新建工程 Keil5中&#xff0c;新建Project&#xff0c;選擇STM32Project文件夾&#xff0c;在此文件夾下新建一個文件夾“STM32工程模板”&#xff0c;然后給工程文件起名字“Project”選擇器件型號 2、添加啟動文件 新建start文件夾復制啟動文件&#xff1a;固件庫文件夾……

網絡傳輸過程

https傳輸過程客戶端發起HTTPS請求操作&#xff1a;用戶在瀏覽器輸入 https://www.example.com 技術細節&#xff1a; 客戶端向服務器443端口發起TCP連接 發送Client Hello消息&#xff08;包含支持的TLS版本、加密套件、客戶端隨機數&#xff09; 安全意義&#xff1a;建立安全…

【LeetCode 3440. 重新安排會議得到最多空余時間 II】解析

目錄LeetCode中國站原文原始題目題目描述示例1&#xff1a;示例2&#xff1a;示例3&#xff1a;示例4&#xff1a;講解1. 新規則&#xff0c;新挑戰2. 收益從何而來&#xff1f;兩種可能性的誕生3. 我們的終極策略4. 當策略被壓縮到極致第一次遍歷&#xff1a;從左到右&#xf…

C++卸載了會影響電腦正常使用嗎?解析C++運行庫的作用與卸載后果

卸載C運行庫可能導致常用軟件癱瘓&#xff01;這些不起眼的組件為Photoshop、游戲等提供關鍵支持&#xff0c;多個版本共存是正常現象&#xff0c;隨意清理會引發程序報錯甚至閃退。一、前言&#xff1a;C不是“編程語言”那么簡單很多用戶在電腦中看到“Microsoft Visual C Re…

前端vue對接海康攝像頭流程

1、拆包攝像頭、插電源2、下載SADP&#xff08;設備網絡搜索&#xff09;&#xff0c;連接設備&#xff0c;獲取ip地址 下載地址&#xff1a;https://partners.hikvision.com/tools 找到自己的設備類型DS開頭3、攝像頭鏈接wifi、網線 登錄設備預覽配置網頁-配置網絡-可預覽等 4…

org.casic.javafx.control.PaginationPicker用法

org.casic.javafx.control.PaginationPicker 是 CASIC&#xff08;或某位作者&#xff09;基于 JavaFX 自制的分頁控件&#xff0c;功能比官方 Pagination 更完整&#xff0c;支持&#xff1a;首頁 / 上一頁 / 下一頁 / 尾頁按鈕頁碼快速跳轉每頁條數自定義總數據量、當前頁碼、…

下載 | Win10 2021精簡版,預裝應用極少!(7月更新、Win 10 IoT LTSC 2021版、適合老電腦安裝)

? 【資源A047】Win10 IoT LTSC 2021精簡版 &#x1f536;Windows 10 IoT 企業版 LTSC 2021 正式版更新中。LTSC是長期服務渠道版本&#xff0c;網友俗稱“老壇酸菜版”&#xff0c;相當于精簡版Win10&#xff0c;精簡了很多預裝應用&#xff0c;同時更新頻率也更低&#xff0c…

Web3:Foundry使用指南

Foundry目錄1. 前言2. 什么是Foundry3. 安裝與環境配置1. 安裝工具2. 重新加載 .bashrc3. 檢查環境變量 PATH4. 手動運行 foundryup4. Foundry的基本使用1.創建一個新的Foundry項目2. 編寫智能合約3. 編譯智能合約4. foundry.toml 主要作用5.部署智能合約5. Cli參考1. forge2. …

uniapp+unipush推送配置

APP推送記錄 一、使用框架 Uniappunipush推送插件 二、需要提前準備的 1.準備自有證書 可以用這個網站—香蕉云編&#xff08;用于安卓 ios證書生成&#xff09;https://www.yunedit.com/update/androidzhengshu/list 安卓證書生成后&#xff0c;下載證書&#xff0c;除了原文…

CentOS系統哪些版本?分別適用于那些業務或網站類型?

CentOS&#xff08;Community ENTerprise Operating System&#xff09;是一款開源的企業級 Linux 操作系統&#xff0c;因其穩定性、安全性和長期支持周期&#xff0c;廣泛應用于服務器環境。以下是 CentOS 的主要版本及其適用場景的詳細介紹。1. CentOS 主要版本CentOS 的版本…

【前端】【Iconify圖標庫】【vben3】createIconifyIcon 實現圖標組件的自動封裝

&#x1f9e9; Vue 圖標管理全攻略&#xff1a;Iconify createIconifyIcon 封裝最佳實踐 在前端項目中&#xff0c;圖標無處不在。按鈕需要圖標&#xff0c;導航需要圖標&#xff0c;提示信息也少不了圖標。如何優雅、高效地使用圖標&#xff0c;是每個中大型 Vue 項目不可回…