C語言數據類型和變量(二)

目錄

1.數據類型的取值范圍

2.變量

2.1 變量的創建

2.2 變量的分類

2.3全局變量和局部變量在內存中的存儲?編輯

3. 算術操作符:+ 、 - 、* 、/? 、%

?3.1 + 和 -

3.2 *

3.3 /

3.4 %


1.數據類型的取值范圍

每一種數據類型有自己的取值范圍,也就是存儲的數值的最大值和最小值的區間

如果要查看當前系統上不同數據類型的極限值:

limits.h 文件中說明了整型類型的取值范圍

float.h 這個頭文件中說明浮點型類型的取值范圍

? SCHAR_MIN , SCHAR_MAX :signed char 的最小值和最大值。
? SHRT_MIN , SHRT_MAX :short 的最小值和最大值。
? INT_MIN , INT_MAX :int 的最小值和最大值。
? LONG_MIN , LONG_MAX :long 的最小值和最大值。
? LLONG_MIN , LLONG_MAX :long long 的最小值和最大值。
? UCHAR_MAX :unsigned char 的最大值。
? USHRT_MAX :unsigned short 的最大值。
? UINT_MAX :unsigned int 的最大值。
? ULONG_MAX :unsigned long 的最大值。
? ULLONG_MAX :unsigned long long 的最大值。

2.變量
2.1 變量的創建

?C語言中把經常變化的值稱為變量,不變的值稱為常量

data_type? ?name;
? ? ? |? ? ? ? ? ? ? ? ?|
? ? ? |? ? ? ? ? ? ? ? ?|
?數據類型? ? 變量名

int age; //整型變量
char ch; //字符變量
double weight; //浮點型變量

變量在創建的時候給一個初始值(賦值),即初始化

int age = 18;
char ch = 'w';
double weight = 48.0;
unsigned int height = 100;

這種變量為局部變量,局部變量未初始化則為隨機值

2.2 變量的分類

? 全局變量:在大括號外部定義的變量就是全局變量
? 全局變量的使用范圍更廣,可以在整個工程的任意位置使用
? 局部變量:在大括號內部定義的變量就是局部變量
? 局部變量的使用范圍是比較局限,只能在自己所在的局部范圍內使用

#include <stdio.h>
int global = 2023;//全局變量
int main()
{int local = 2018;//局部變量printf("%d\n", local);printf("%d\n", global);return 0;
}

當局部變量和全局變量同名的時候,局部變量優先使用

#include <stdio.h>
int n = 1000;
int main()
{int n = 10;printf("%d\n" n);//打印的結果是10return 0;
}

2.3全局變量和局部變量在內存中的存儲

程序運行起來要在是要在內存中申請空間,內存分為三個區域:棧區堆區靜態區

1. 局部變量是放在內存的棧區

2. 全局變量是放在內存的靜態區

3. 堆區是用來動態內存管理的

3. 算術操作符:+ 、 - 、* 、/? 、%

C語言中為了方便運算,提供了一系列操作符,其中有一組操作符叫:算術操作符。分別是: + - * \ % ,這些操作符都是雙目操作符
注:操作符也被叫做:運算符

?3.1 + 和 -

+ 和 -? 都是有2個操作數的,位于操作符兩端的就是它們的操作數,這種操作符也叫雙目操作符

#include <stdio.h>
int main()
{int x = 4 + 22;int y = 61 - 23;printf("%d\n", x);printf("%d\n", y);return 0;
}
3.2 *
#include <stdio.h>
int main()
{int num = 5;printf("%d\n", num * num); // 輸出 25return 0;
}
3.3 /

除號的兩端如果是整數,執行的是整數除法,得到的結果也是整數

#include <stdio.h>
int main()
{float x = 6 / 4;int y = 6 / 4;printf("%f\n", x); // 輸出 1.000000printf("%d\n", y); // 輸出 1return 0;
}

上面示例中,盡管變量x 的類型是float (浮點數),但是6 / 4 得到的結果是1.0而不是1.5,這是因

為C語言的整數除法是整除,只會返回整數部分,丟棄小數部分。

如果希望得到浮點數的結果,兩個運算數必須至少有一個浮點數,這時 C 語言就會進行浮點數除

#include <stdio.h>
int main()
{float x = 6.0 / 4; // 或者寫成 6 / 4.0printf("%f\n", x); // 輸出 1.500000return 0;
}

同理:

#include <stdio.h>
int main()
{int score = 5;score = (score / 20) * 100;return 0;
}

上面的代碼,你可能覺得經過運算, score 會等于25 ,但是實際上score 等于0 。這是因為score /

20 是整除,會得到一個整數值0 ,所以乘以100 后得到的也是0

為了得到預想的結果,可以將除數20 改成20.0 ,讓整除變成浮點數除法。

#include <stdio.h>
int main()
{int score = 5;score = (score / 20.0) * 100;return 0;
}

3.4 %

運算符 % 表示求模運算,即返回兩個整數相除的余值。這個運算符只能用于整數,不能用于浮點

1)正數求模

#include <stdio.h>
int main()
{int x = 6 % 4; // 2return 0;
}

2)負數求模

負數求模的結果的正負號由第一個運算數的正負號決定

#include <stdio.h>
int main()
{printf("%d\n", 11 % -5); // 1printf("%d\n",-11 % -5); // -1printf("%d\n",-11 % 5); // -1return 0;
}

第一個運算數的正負號( 11 或-11 )決定了結果的正負號

謝謝觀看

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

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

相關文章

mapper.xml 文件對應的 Dao 接口原理

在 Java 框架如 MyBatis 中&#xff0c;Mapper.xml 文件是用于定義 SQL 查詢的配置文件&#xff0c;而對應的 Dao 接口&#xff08;Mapper 接口&#xff09;則提供了與 XML 文件中的 SQL 查詢相對應的方法。這種設計模式使得 Java 代碼與 SQL 語句解耦&#xff0c;提高了代碼的…

盤點亞馬遜5大實用選品思路(圖文講解+選品案例)

一、7天藍海選品法 市場上很多工具一般都是近30天的跨境商品數據&#xff0c;而店雷達亞馬遜選品&#xff0c;可以篩選出上架近7天的亞馬遜產品&#xff0c;避免在已經市場相對飽和的賽道&#xff0c;中小賣家還要擠破頭去搶蛋糕。我們更應該學會在市場反饋好的新品中找到出單…

Git刪除了文件拉取時失敗

本地刪除了一些文件&#xff0c;遠端的另一個提交修改了被刪除的文件&#xff0c;vs里拉取時提示未處理的提交&#xff0c;無法繼續操作&#xff0c;git gui里顯示很多unstaged change的項 解決辦法&#xff1a; 1、用git bash的git rm --cached filename或 git rm -r --cached…

GBASE8S如何使用dbexport實現單表的還原和實現數據庫的復制

(一) 通過dbexport實現單表數據還原 1. 測試前的信息查看 本次以test庫的表test21為例 [gbasedbtiZ2ze5s78e4tanwe5q2znxZ ~]$ dbaccess test - Your evaluation license will expire on 2025-05-26 00:00:00Database selected.> select * from test21;id name1 a2 b3 c3…

探索Vue.js的無限可能 —— vuejs-challenges

vuejs-challenges&#xff1a;挑戰自我&#xff0c;共同成長&#xff0c;Vue.js挑戰等你來戰&#xff01;- 精選真開源&#xff0c;釋放新價值。 概覽 vuejs-challenges是一個專為Vue.js學習者和開發者設計的開源項目。它通過提供一系列精心設計的挑戰&#xff0c;幫助參與者深…

使用 JavaScriptCore 進行跨語言調用

使用 JavaScriptCore 進行跨語言調用時&#xff0c;既可以在 Native 代碼中執行 JavaScript 代碼&#xff0c;也可以在 JavaScript 中調用 Native 方法。以下是詳細的實現步驟和示例。 1. 在 Native 代碼中執行 JavaScript 代碼 使用 JavaScriptCore 框架&#xff0c;可以在 …

手把手教你一步一步通過AI助手生成利潤表分析報告

AI助手之利潤表分析報告-操作篇 以下為文字整理部分&#xff1a; 如果要手工制作一份這樣的利潤分析報告大概要多久時間&#xff1f;從準備數據做成表格&#xff0c;到完成報告&#xff0c;至少需要1天的時間吧&#xff0c;特別是敲文字報告的時候&#xff0c;生怕把數字搞錯要…

什么是森林防火氣象站?作用?

森林防火氣象站用精準的數據和先進的技術&#xff0c;守護著森林的安全。本文將帶您了解其重要性、工作原理以及在森林防火中的實際應用。 一、森林防火氣象站的重要性 森林火災是森林生態系統的大敵&#xff0c;它能在短時間內燒毀大片森林&#xff0c;破壞生態平衡&#xff0…

5、Redis 緩存設計相關知識點

1. 多級緩存架構 多級緩存架構是一種通過在應用層和數據庫層之間添加多個緩存層來提高系統性能和可用性的架構設計。這種設計能夠有效減少數據庫負載,并提高數據訪問速度。常見的多級緩存包括本地緩存、分布式緩存和數據庫緩存。 本地緩存:本地緩存位于應用服務器本地,響應…

高通平臺Display顯示架構

目錄 一、顯示整體架構二、SurfaceFlinger三、HWC四、Gralloc五、DisplayManagerService六、WindowManagerService 一、顯示整體架構 二、SurfaceFlinger SurfaceFlinger是一個系統服務&#xff0c;如&#xff1a;audioflinger等等&#xff0c;這個系統服務主要實現了Surface的…

通過升級nginx完美修復nginx相關漏洞

目錄 前言1 安全評估報告的漏洞信息1.1 nginx漏洞概況1.2 nginx漏洞詳細信息1.3 安裝的軟件信息 2 問題分析3 Nginx從1.18版本升級到1.26版本的步驟與說明3.1 查看現有Nginx配置參數3.2 下載新版本Nginx3.3 配置新版本Nginx3.4 編譯新版本Nginx3.5 備份舊版本Nginx的二進制文件…

github 設置中文,親測有效

點進去 安裝 選上面第二個&#xff0c;不行再選第一個 GitHub - maboloshi/github-chinese: GitHub 漢化插件&#xff0c;GitHub 中文化界面。 (GitHub Translation To Chinese)

常見網絡攻擊方式及防御方法

1. DDOS攻擊&#xff08;分布式拒絕服務攻擊&#xff09; 概念&#xff1a;借助于C/S&#xff08;客戶端/服務器&#xff09;技術&#xff0c;將多個計算機聯合起來作為攻擊平臺&#xff0c;對一個或多個目標發動DDOS攻擊&#xff0c;從而成倍地提高拒絕服務攻擊的威力。防護方…

springboot 配置加密,jasypt加解密命令

位置&#xff1a;Maven倉庫中\org\jasypt\jasypt\1.9.3 java -cp jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input123456 passwordmysalt algorithmPBEWithMD5andDES ----ENVIRONMENT----------------- Runtime: Oracle Corporation Java HotSpot?…

sideloadly 蘋果自簽和sidestore手機續簽ipa記錄

sideloadly 地址&#xff1a;https://sideloadly.io/#download 直接安裝對應系統軟件&#xff0c;然后吧ipa 拖到里面續簽&#xff0c;缺點每7天需要電腦續簽 如果續簽保留數據需要對應的位置開啟 enable file sharing 勾選 和 bundle id 修改 注意的地方需要電腦和手機appi…

氣象觀測站:時刻注視著天空的變化

在廣袤無垠的地球上&#xff0c;氣象觀測站時刻注視著天空的變化&#xff0c;記錄著大自然的脈動。它們是我們理解和應對氣候變化、極端天氣事件的重要工具。 一、氣象觀測站的基本構成 氣象觀測站包括一系列的氣象儀器和設備&#xff0c;用于測量和記錄各種氣象參數。這些參數…

軟考《信息系統運行管理員》-2.5信息系統運維管理系統與專用工具

2.5信息系統運維管理系統與專用工具 信息系統運維管理系統功能框架 信息系統運維管理系統是站在運維管理的整體視角&#xff0c;基于運維流程&#xff0c;以服務為導向的業務 服務管理和運維管理支撐平臺&#xff0c;提供統一管理門戶&#xff0c;最終幫助運維對象實現信息系…

【AI原理解析】-AI native模型微調

目錄 一、模型微調的定義與重要性 二、模型微調的步驟 三、模型微調的優勢與挑戰 四、模型微調的應用場景 五、模型微調的未來發展方向 一、模型微調的定義與重要性 定義&#xff1a;模型微調是指在預訓練模型的基礎上&#xff0c;使用特定任務的數據對模型進行再訓練&am…

Zabbix 配置SNMP監控

Zabbix SNMP監控介紹 Zabbix提供了強大的SNMP監控功能&#xff0c;可以用于監控網絡設備、服務器和其他支持SNMP協議的設備。SNMP&#xff08;Simple Network Management Protocol&#xff0c;簡單網絡管理協議&#xff09;是一種廣泛用于網絡管理的協議。它用于監控網絡設備&…

CVPR 2024最佳論文分享:打破剛性的超分辨率圖像處理GNN

CVPR 2024最佳論文分享&#xff1a;打破剛性的超分辨率圖像處理GNN CVPR&#xff08;Conference on Computer Vision and Pattern Recognition&#xff09;是計算機視覺領域最有影響力的會議之一&#xff0c;主要方向包括圖像和視頻處理、目標檢測與識別、三維視覺等。近期&am…