版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
C語言程序設(shè)計基礎(chǔ)與實踐模塊一編程技術(shù)基礎(chǔ)任務(wù)1.4變量與常量C語言程序設(shè)計基礎(chǔ)與實踐課程組04技能點拓展03技能點詳解02技能點分析目錄CONTENTS任務(wù)1.4變量與常量01問題引入05技能點檢測一問題引入
唯物辯證法告訴我們:無論是自然界、人類社會還是人的思維都是在不斷地運動、變化和發(fā)展的,事物的發(fā)展具有普遍性和客觀性。在人類社會發(fā)展的歷史長河中,變化的是推動社會發(fā)展的建設(shè)者,不變的是向前發(fā)展的方向;我國在堅持中國特色社會主義發(fā)展道路中,變化的是不同時代中國共產(chǎn)黨領(lǐng)導(dǎo)的全國人民的奮斗歷程,不變的是中國共產(chǎn)黨的道路自信和初心使命。在大千世界中,存在許多變和不變的量,那么在計算機編程中如何使用這些量呢?04技能點拓展03技能點詳解02技能點分析目錄CONTENTS01問題引入05技能點檢測任務(wù)1.4變量與常量二技能點分析1、了解變量及變量的數(shù)據(jù)類型;2、了解常量及常量的數(shù)據(jù)類型;3、掌握變量的定義和使用方法。學(xué)習(xí)目標(biāo)1.變量是什么?定義變量的格式是什么?2.變量命名必須遵守哪些規(guī)則?3.定義常量方式有哪些?各個方式定義的格式是什么?4.字符常量和字符串常量有何區(qū)別?學(xué)期預(yù)習(xí)04技能點拓展03技能點詳解02技能點分析目錄CONTENTS01問題引入05技能點檢測任務(wù)1.4變量與常量三技能點詳解——1變量C語言代碼是從前往后依次執(zhí)行,變量在使用之前必須定義或者聲明。變量定義就是要告訴編譯器要創(chuàng)建的這個變量存儲什么類型的數(shù)據(jù),以便編譯器給該類型數(shù)據(jù)分配相應(yīng)大?。ㄗ止?jié)數(shù))的內(nèi)存空間,并對該內(nèi)存空間命名(即變量名)。三技能點詳解——1變量1)變量的定義在變量定義時,需要指定一個數(shù)據(jù)類型,并包含了該類型的一個或多個變量名的列表,定義格式為:
數(shù)據(jù)類型
變量名1[,變量名2,變量名3…];例如:
intsum;
floata2,A2,_a2;變量命名必須遵守以下C標(biāo)識符命名規(guī)則:(1)第1個字符必須是字母或下劃線;(2)其余字符可以是字母、下劃線和數(shù)字;(3)字母區(qū)分大小寫;(4)用戶自定義標(biāo)識符不能與C語言的保留字或預(yù)定義標(biāo)識符同名,并應(yīng)盡量做到“見名知意”,以增加程序的可讀性。三技能點詳解——1變量C語言中只有32個保留字(關(guān)鍵字),如表1.4.1所示。表1.4.1C語言中的保留字autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunionunsignedvoidvolatilewhile例如,有效的變量名:inta;int_ab;inta30;無效的變量名:int2a;intab;intshort;2)變量的賦值變量定義后,就可以向變量代入值即變量賦值,在程序中,變量賦值可以用賦值語句來實現(xiàn),其格式為:
變量名=值的表達式;其中:“=”是賦值運算符,將“=”右邊的“變量的值”代入到左邊的變量中存儲,關(guān)于賦值運算符的詳細內(nèi)容將在后續(xù)任務(wù)中講解?!爸档谋磉_式”可以是某一常數(shù)值或某一變量名或表達式。三技能點詳解——1變量三技能點詳解——1變量例如: My_family_name='張';//向變量My_family_name賦值字符‘張’My_age=19;//向變量My_age賦值19i=a;//將儲存在變量a中的值賦給變量iSum=8+10;//將8加上10的結(jié)果18賦給變量Sumtemp=a+6;//將變量a的值加上6的結(jié)果賦給變量temp程序中首次向變量中代入值稱為變量賦初值或變量的初始化。如:inti,j;i=0;j=5;變量定義的同時也可進行變量的初始化,如上面的代碼可寫成:inti=0,j=5;三技能點詳解——1變量3)變量的作用域C語言中變量的作用域是指一個變量在程序中起作用的區(qū)域,一般可以理解為變量所在的{}的包圍區(qū)域。所有的變量都有自己的作用域,變量按照作用域的范圍可分為:局部變量和全局變量。決定變量作用域的是變量定義的位置。在程序塊(一個{}內(nèi))定義的變量(稱為局部變量或內(nèi)部變量),只在該程序塊{}中起作用。也就是說,一個變量從被定義的位置開始,到包含該變量定義的程序塊最后的大括號為止,這一區(qū)間內(nèi)是起作用的。例如:voidmain(void){ intx=2;//定義內(nèi)部變量x,只在main函數(shù)中有效}三技能點詳解——1變量
而在C程序的所有函數(shù)外部定義的變量(稱為全局變量或外部變量),從定義位置開始,到該整個程序的結(jié)尾都是起作用的。例如:intx=2;//定義外部變量x,整個程序中有效voidmain(void){ ……}C語言規(guī)定在同一作用域中不能定義同名的變量,也就是說在不同的作用域中可以定義同名變量,但在實際編程中不推薦這樣做。三技能點詳解——1變量4)變量的聲明變量在程序中必須先聲明后使用,變量的聲明是用于向程序表明變量的類型和名字,但聲明不一定引起內(nèi)存的分配。定義也是聲明,當(dāng)定義變量時我們聲明了它的類型和名字。如果在一個程序源文件函數(shù)內(nèi)想使用該文件的外部變量或一個源文件使用另一個源文件中定義的外部變量,則應(yīng)該在使用之前用關(guān)鍵字extern對該變量作“外部變量聲明”,表示該變量是一個已經(jīng)定義的外部變量。有了此聲明,就可以從“聲明”處起,合法地使用該外部變量。外部變量聲明的格式為:
extern數(shù)據(jù)類型外部變量名;三技能點詳解——1變量例如,引用同一個文件中的變量:voidfunc(void){
extern
intx;//聲明后面定義的外部變量xx=2;}intx;//定義外部變量x,
引用另一個文件中的變量:main.c:#include
<stdio.h>
voidmain(void){
extern
intx;//聲明func.c中定義的外部變量xprintf("main.cx=%d\n",x);}func.c:#include
<stdio.h>
intx=2;//定義外部變量x并初始化為2
voidfunc(void){printf("func.cx=%d\n",x);}三技能點詳解——2常量
常量是固定值,在程序執(zhí)行期間不會改變。這些固定的值,又叫做字面量。常量可以是任何的基本數(shù)據(jù)類型,比如整數(shù)常量、浮點常量、字符常量,或字符串字面值,也有枚舉常量。常量就像是常規(guī)的變量,只不過常量的值在定義后不能進行修改。1)整數(shù)常量整數(shù)常量可以是十進制、八進制或十六進制的常量。前綴指定基數(shù):0x或0X表示十六進制,O表示八進制,不帶前綴則默認(rèn)表示十進制。三技能點詳解——2常量
整數(shù)常量也可以帶一個后綴,后綴是U和L的組合,U表示無符號整數(shù)(unsigned),L表示長整數(shù)(long)。后綴可以是大寫,也可以是小寫,U和L的順序任意。下面列舉幾個整數(shù)常量的實例: 213//十進制數(shù)213 O213//八進制數(shù)213,等于十進制數(shù)139 215u//無符號的整數(shù)215 0xFeeL//十六進制的長整數(shù)Fee 0xFF03aul//十六進制的無符號長整數(shù)FF03a 078//非法的:8不是八進制的數(shù)字
032UU//非法的:不能重復(fù)后綴
2)浮點常量
浮點常量由整數(shù)部分、小數(shù)點、小數(shù)部分和指數(shù)部分組成。您可以使用小數(shù)形式或者指數(shù)形式來表示浮點常量。
當(dāng)使用小數(shù)形式表示時,必須包含整數(shù)部分、小數(shù)部分,或同時包含兩者。當(dāng)使用指數(shù)形式表示時,必須包含小數(shù)點、指數(shù),或同時包含兩者。帶符號的指數(shù)是用e或E引入的。下面列舉幾個浮點常量的實例: 3.14159//合法的 314159E-5L//合法的 510E//非法的:不完整的指數(shù)
210f//非法的:沒有小數(shù)或指數(shù)
.e55//非法的:缺少整數(shù)或分?jǐn)?shù)
三技能點詳解——2常量三技能點詳解——2常量3)字符常量字符常量是括在單引號中,如'2'、'a'、'E'、''等,每個字符占一個字節(jié),可以存儲在
char
類型的簡單變量中。在計算機中,字符按ASCII值存放,上述對應(yīng)的4個字符的ASCII值為50、97、69、32等,字符常量可以是一個普通的字符(例如'x')、一個轉(zhuǎn)義序列(例如'\t')。在C中,有一些特定的字符,當(dāng)它們前面有反斜杠時,它們就具有特殊的含義,不同于字符原有的意義,故稱“轉(zhuǎn)義”字符,例如,在前面的案例printf函數(shù)的格式串中用到的“\n”就是一個轉(zhuǎn)義字符,其意義是“換行”。常用轉(zhuǎn)義字符如表1.4.2所示。三技能點詳解——2常量表1.4.2常用轉(zhuǎn)義字符表轉(zhuǎn)義序列含義轉(zhuǎn)義序列含義\\\字符\n換行\(zhòng)''字符\r回車\""字符\t水平制表\??字符\v垂直制表\a警報鈴聲\ooo一到三位的八進制數(shù)\b退格\xhh…一個或多個數(shù)字的十六進制數(shù)\f換頁%%百分號%三技能點詳解——2常量4)字符串常量字符串字面值或常量是括在雙引號""中的,如"Hello,world!",它們在內(nèi)存中是按照每個字符的ASCII碼連續(xù)存放的,并在結(jié)尾處添加了一結(jié)束標(biāo)志'\0',對應(yīng)的ASCII值為0,這樣n個字符組成的字符串需占用n+1個字節(jié)。這里需注意的是:(1)字符串中包含有雙引號字符時,字符雙引號必須用轉(zhuǎn)義字符表示;(2)一個字符串需占用兩行時,需采用兩對雙引號,如"Thisstring""istoolong!";案例1.4.1變量的作用域在變量的不同作用域中定義同名變量,并通過在各個作用域中輸出變量值檢驗變量的作用域范圍。/***********************************************內(nèi)容簡述:檢驗同名變量在不同作用域的作用范圍***********************************************/#include
<stdio.h>
intx=1;//定義外部變量x,在以下程序代碼中有效voidfunc(void){ printf("funcx=%d\n",x);}voidmain(void){
intx=2;//x位于main函數(shù)下的{}中,是內(nèi)部變量,只在main函數(shù)中有效 func();//調(diào)用函數(shù)func(),即執(zhí)行func()下面的{}中的printf printf("mainx=%d\n",x); {
intx=3;//x位于{}中的程序塊,只在該塊中有效 printf("blockx=%d\n",x);}}
三技能點詳解——案例案例1.4.2字符運算與轉(zhuǎn)義字符字符常量在內(nèi)存中存儲和運算時都是以ASCII碼形式進行的,同時在使用printf()函數(shù)在屏幕輸出時需要使用一些轉(zhuǎn)義字符或格式控制字符來獲得所需的輸出格式/************************************************內(nèi)容簡述:求’A’+1的結(jié)果并將結(jié)果以字符和整數(shù)
兩種格式輸出以及幾種轉(zhuǎn)義字符的使用***********************************************/#include
<stdio.h>
main(){
charc='A';//定義字符型變量c并初始化為'A'c=c+1;//c+1的結(jié)果賦給c
printf("\n%c\t%d\n",c,c);//以字符和整數(shù)格式輸出變量c的值printf("ThetokenofRMBis:\n\t\tY\b=\n");}三技能點詳解——案例案例1.4.3extern聲明外部變量本案例是說明在一個函數(shù)內(nèi)部如何聲明引用外部變量。/********************************************************內(nèi)容簡述:
使用extern關(guān)鍵字在同文件的函數(shù)中引用聲明外部變量*******************************************************/#include
<stdio.h>
//函數(shù)外定義變量x和y
intx=10;//定義外部變量xinty=20;//定義外部變量y
intaddtwonum(void){
extern
intx;//函數(shù)內(nèi)聲明變量x和y為外部變量
extern
inty;//給外部變量(全局變量)x和y賦值x=1;y=2;}voidmain(void){intresult;addtwonum();//調(diào)用函數(shù)result=x+y;printf("result為:%d\n",result);}三技能點詳解——案例04技能點拓展03技能點詳解02技能點分析目錄CONTENTS01問題引入05技能點檢測任務(wù)1.4變量與常量四技能點拓展——1#define定義標(biāo)識符常量
使用#define預(yù)處理指令定義符號常量的格式為:#define
標(biāo)識符常量
例如:#definePI3.1415926
這里標(biāo)識符通常使用“見名知義”的大寫英文字符串或英文單詞表示。例如:
編寫程序求不同大小的長方形課桌面的面積。我們知道課桌有大有小,長寬不一,假設(shè)某一課桌的長為1.2m,寬為0.6m,求桌面的面積,程序如下:四技能點拓展——1#define定義標(biāo)識符常量#include
<stdio.h>
#defineLENGTH1.2//使用#define定義標(biāo)識符常量LENGTH代替實型常量1.2#defineWIDTH0.6//使用#define定義標(biāo)識符常量WIDTH代替0.6#defineNEWLINE'\n'//使用#define定義標(biāo)識符常量NEWLINE代替'\n'
voidmain(void){
floatarea;//定義浮點型變量area來存儲面積
area=LENGTH*WIDTH;//利用長X寬求面積printf("
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024事業(yè)單位聘用合同糾紛處理與法律適用總結(jié)3篇
- 2024年多功能設(shè)備維護合作協(xié)議2篇
- 2024年度數(shù)據(jù)保密與信息安全認(rèn)證協(xié)議3篇
- 2025年拉薩貨運上崗證考試題庫1387題
- 洛陽文化旅游職業(yè)學(xué)院《黑臭水體治理技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 科技創(chuàng)新資金撥付管理
- 甘肅省隴南市2024-2025學(xué)年高一上學(xué)期期中考試歷史試卷(解析版)
- 信息技術(shù)部門組織結(jié)構(gòu)
- 城市綠化監(jiān)控系統(tǒng)安裝合同
- 2024年廢棄水塘承包合同最長期限3篇
- 國開電大本科《管理英語4》機考真題(第0005套)
- D500-D505 2016年合訂本防雷與接地圖集
- 贈與合同模板
- 元宇宙技術(shù)與應(yīng)用智慧樹知到答案章節(jié)測試2023年中國科學(xué)技術(shù)大學(xué)
- 醫(yī)療整形美容門診病例模板
- 貼面 貼面修復(fù)
- 人教版七年級生物上冊期末試卷及答案
- 道路運輸液體危險貨物罐式車輛常壓罐體定期檢驗規(guī)則
- GB/T 34112-2022信息與文獻文件(檔案)管理體系要求
- 圍手術(shù)期的抗凝治療ACCP-8指南解讀
- GB/T 26150-2019免洗紅棗
評論
0/150
提交評論