變數的基本使用

来源:https://www.cnblogs.com/GQH1000/p/18430906
-Advertisement-
Play Games

C語言里提供了一組工具,他們叫做標準函數;每個標準函數用來解決一個常見問題 不同標準函數名字不同,可以在程式里編寫函數調用語句使用標準函數 printf標準函數可以用來把程式里的數字顯示在終端視窗里 為了使用這個標準函數需要包含stdio.h頭文件 可以在雙引號里使用占位符(%+類型)把數字轉移到雙 ...


C語言里提供了一組工具,他們叫做標準函數;每個標準函數用來解決一個常見問題

不同標準函數名字不同,可以在程式里編寫函數調用語句使用標準函數

printf標準函數可以用來把程式里的數字顯示在終端視窗里

為了使用這個標準函數需要包含stdio.h頭文件

可以在雙引號里使用占位符(%+類型)把數字轉移到雙引號的後面

雙引號後面的數字可以是一個計算公式,電腦先計算出公式的結果然後替換掉雙引號裡面的占位符

不同類型的數字和不同的占位符配合使用,整數類型數字應該和%d占位符配合使用

可以在一條語句里使用多個占位符,這個時候就應該在雙引號後面提供多個數字,數字個數和占位符個數一樣

程式里所有數字必須記錄到記憶體里

記憶體由大量的位元組構成,每個位元組可以用來記錄一個數字

每個位元組有一個編號,這個編號叫做位元組的地址,不同位元組的地址不同

所有位元組的地址從0開始依次向上遞增

位元組之間有前後順序,地址小的位元組在前,地址大的位元組在後

可以把幾個相鄰的位元組合併成一個整體用來記錄一個數字

記憶體里用來記錄一個數字的所有位元組叫做一個存儲區

一個存儲區只能記錄一種類型的數字,存儲區也有地址,存儲區的地址是他所包含的位元組中最前面那個位元組的地址

C語言程式里變數用來代表存儲區,對變數的操作也就是對他所代表存儲區的操作

變數必須先聲明然後才能使用,變數聲明語句可以用來聲明語句

變數聲明語句讓電腦為程式分配存儲區;可以在一條語句里聲明多個同類型變數

程式中可以向變數里存放數字也可以從變數里獲取數字

賦值語句可以向變數里存放數字;賦值語句里使用賦值操作符(=)

賦值操作符要求左邊的內容必須可以代表存儲區(這種內容叫左值);變數是最常見的左值

賦值操作符右邊的內容必須可以代表數字,賦值語句可以把賦值操作符右邊的數字放到左邊的存儲區里

可以在聲明變數的時候立刻對變數進行賦值,這叫做變數的初始化

C語言里所有變數都應該初始化

可以在程式里直接把變數當作數字使用,這就是從變數里獲得數字的方法

變數名稱既可以代表存儲區也可以代表存儲區里的數字,由環境決定

如何判斷一個變數到底代表存儲區還是數字

方法:將變數名稱換為0,根據左邊名稱右邊數字可以確定是做存儲區還是數字

存儲區的地址也可以代表存儲區,在變數名稱前加上符號&就可以得到存儲區的地址

可以使用%p做占位符把地址數據顯示在電腦屏幕上

程式中可以使用變數代表一個固定的數字

程式中可以使用變數代表一組數字(變數在不同的時候代表不同的數字)

作業:編寫程式在屏幕上顯示以下內容

5

54

543

5432

54321

雙引號里和雙引號後面不能出現數字

點擊查看代碼
#include<stdio.h>
int main(){
    int num=54321,base=10000,num1=10;
    printf("%d\n",num/base);
    base=base/num1;
    printf("%d\n",num/base);
    base=base/num1;
    printf("%d\n",num/base);
    base=base/num1;
    printf("%d\n",num/base);
    base=base/num1;
    printf("%d\n",num/base);
    return 0;
}

C語言字元類型

字元類型的名稱是char

字元類型里包含256個不同的字元數據('a','^等),每個字元數據可以用一個整數表示

字元數據和整數是可以互相替代的,ASCII碼表裡列出所有字元和整數之間的對應關係

ASCII碼表裡所有小寫英文字母是連續排序的,‘a’對應的整數最小,‘z’對應的整數最大

所有的大寫英文字母和阿拉伯數字字元也都符合這個規律

所有字元數據被分成兩組每組包含128個,其中一組字元數據對應的整數在所有電腦里都一樣,這些整數的範圍

從0到127

另外一組字元數據對應的整數在不同的電腦里不一樣,這些整數有可能從-128到-1也肯能從128到255

  ‘\n’		換行

  ‘\r’		回車

  ' \ \ '	代表字元\

  '\ '    ‘   代表字元 ’

  ' \ " '     代表字元 "

  短整數類型名稱是short

  這個類型里包含65536個不同的整數,其中一半是非負數,另一半是負數。這些數字以0為中心向兩邊擴展

  長整數類型名稱是long

  這個類型里包含2的32次方個不同的整數,其中一半是非負數,另一半是負數。這些數字以0為中心向兩邊擴展、

  整數類型名稱是int

在我們電腦里整數類型和長整數類型完全一樣

以上數據類型統一叫有符號類型

每個有符號類型對應一個無符號類型,無符號類型名稱就是在對應有符號類型名稱前加unsigned關鍵字
比如unsigned char,unsigned int 。
無符號類型所包含的數字個數對應有符號類型的個數一樣,但是  不包含負數。 

整數相關數據類型所包含的數字範圍互相重疊並且逐漸擴大

在不帶小數點的數字後加u表示數字的類型是無符號整數類型的

C語言里使用浮點類型表示帶小數點的數字,浮點類型分為單精度浮點類型和雙精度浮點類型

雙精度浮點類型可以記錄更多小數點後面的數位

單精度浮點類型名稱是float

雙精度浮點類型名稱是double

程式中帶小數點的數字預設是雙精度浮點類型的

帶小數點的數字後面加f表示數字的類型是單精度浮點類型(如:3.2f)

C語言里允許擴展新的數據類型

擴展出來新的數據類型叫複合數據類型

複合數據類型都需要編寫語句先創建出來然後才能使用

C99規範里引入布爾類型

這個類型里只包含0和1兩個整數,其中0表示假,1叫做真

真和假都叫做布爾值

C語言程式里任何整數都可以當作布爾值使用,0當作布爾值使用的時候是假,所有其他整數當布爾值使用的時候都是真

一般不需要再程式里使用布爾類型,直接把整數當布爾值使用就可以了

數據類型和占位符的對應關係

char和unsigned char	            %c

short  							%hd

unsigned short 					%hu

long						    %ld

unsigned long				    %lu

int								%d

unsigned int 					%u

float							%f   or %g

double							%lf  or  %lg

%f和%lf在顯示的時候會保留小數點後面無效的0,%g 和%lg不會保留

不同類型的存儲區所包含的位元組個數不同

sizeof關鍵字可以用來計算一個存儲區包含的位元組個數

char和unsigned char						1個位元組

short和unsigned short				    2個位元組

long 和unsigned long				    4個位元組

int和unsigned int						4個位元組

float									4個位元組

double								    8個位元組

sizeof關鍵字後的小括弧里對任何存儲區內容的修改不會真正發生

eg:

int num=0;

sizeof(num=10);

printf("num=%d\n",num);

此時num=0

作業:

編寫程式計算半徑為5.2的圓的周長並把結果顯示在屏幕上

2*3.14半徑

半徑應該記錄在變數里

點擊查看代碼
#include<stdio.h>
int main(){
  float r=5.2f;
  printf("Cir=%f\n",2*r*3.14);
  return 0;
}

作業:

編程在屏幕上顯示以下5行內容

54321

5432

543

54

5

每次顯示一行,雙引號裡面和後面都不能有數字

點擊查看代碼
#include<stdio.h>
int main(){
  int num=54321,num1=10;
  printf("%d\n",num);
  num=num/num1;
  printf("%d\n",num);
  num=num/num1;
  printf("%d\n",num);
  num=num/num1;
  printf("%d\n",num);
  num=num/num1;
  printf("%d\n",num);
  num=num/num1;
  return 0;
}

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

-Advertisement-
Play Games
更多相關文章
  • crontab -e 創建的定時任務使用的是系統時間。 什麼是系統時間? 系統時間是操作系統內部維護的一個時間戳,用於記錄系統啟動以來經過的時間,以及當前的日期和時間。 系統時間通常與硬體時鐘同步,以確保時間的準確性。 crontab 如何使用系統時間? crontab 在執行定時任務時,會根據系統 ...
  • shc介紹 shc是shell編譯器(Shell Compiler)的縮寫, 它可以對shell腳本進行編譯和加密。它能夠將shell腳本編譯為可執行的二進位文件,其中包含了腳本的功能和邏輯,而不暴露源代碼。可以說shc就是一個加密shell腳本的工具。shc的官方網址為:http://www.da ...
  • 在Linux伺服器的管理和維護過程中,掌握一些常用的命令是非常必要的。這些命令不僅可以幫助你更好地瞭解和控制系統,還能提高工作效率,減少錯誤發生的概率。本文將詳細介紹一些在Linux伺服器上常用的命令,覆蓋從基本的文件操作到高級的系統管理,力求內容全面,幫助讀者深入理解每一個命令的用法和原理。 一、 ...
  • 802.11 無線 WiFi 有 數據幀,管理幀、控制幀 三種類型幀。這些幀由 9 個部分組成:Frame Control,Duration ID,Address1,Address2,Address3,Seq-ctl,Address4,Frame Body,FCS。需要註意的是,有些組成部分在有些幀... ...
  • 位操作符: 可以直接操作二進位數位的內容;~是一個單目位操作符,它可以根據一個數字計算另外一個數字,這兩個數字所有二進位數位的內容都不同(按位取反),使用的時候這個符號應該寫在數字前面 雙目位操作符:包括按位與(&),按位或(|)以及按位異或(^),他們都可以把兩個數字對應二進位數位的內容做計算。 ...
  • #版本信息: NAME="openEuler"VERSION="22.03 (LTS-SP4)" #網卡信息: cat /etc/sysconfig/network-scripts/ifcfg-enp125s0f1TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY= ...
  • 本文介紹在Windows電腦中,下載、配置MobaXterm軟體,從而連接、操作遠程伺服器的方法。 因為是在Windows操作系統的電腦中連接伺服器,所以建議使用MobaXterm、PuTTY等可視化的遠程電腦管理軟體,來實現對伺服器的連接與後續相關操作。在本文中,我們就選擇基於MobaXterm ...
  • scanf標準函數可以從鍵盤得到數字並記錄到存儲區里,為了使用這個標準函數需要包含stdio.h這個頭文件 在scanf函數調用語句里應該使用存儲區的地址表示存儲區;雙引號里使用占位符表示存儲區的類型, 在scanf函數調用語句里儘量不要寫不是占位符的內容,如果用戶輸入的格式和程式要求的格式不同 程 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...