版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
單元程序設(shè)計基礎(chǔ)知識主要內(nèi)容2.1數(shù)據(jù)表示2.1.1數(shù)據(jù)類型〔難點〕2.1.2常量〔重點〕2.1.3變量〔重點〕2.2數(shù)據(jù)操作2.2.1運算符與表達(dá)式〔重點難點〕2.2.2類型轉(zhuǎn)換〔難點〕2.3算法與三種根本程序構(gòu)造2.3.2三種根本程序構(gòu)造〔重點難點〕程序設(shè)計根底問題引入通過編程解決問題,其本質(zhì)是對數(shù)據(jù)的操作,這些數(shù)據(jù)可能是數(shù)學(xué)問題中的數(shù)值〔整數(shù)或小數(shù)〕,可能是信息處理中的文字〔字符或字符串〕,也可能是更復(fù)雜的數(shù)據(jù)或文件那么在C語言中如何表示這些數(shù)據(jù)?如何對數(shù)據(jù)間的運算進(jìn)展描述?【引例】根據(jù)三角形的三個邊長,計算三角形的面積,其計算公式為:area=〔其中a、b、c為三角形的三個邊長,s=(a+b+c)/2〕試分析:在這個問題中涉及哪些數(shù)據(jù):;其中量有:;未知量有:。abc2.1數(shù)據(jù)表示
2.1.1數(shù)據(jù)類型2.1.2常量
2.1.3變量
2.1.1數(shù)據(jù)類型2.1數(shù)據(jù)表示計算機處理數(shù)據(jù)信息時,需要明確數(shù)據(jù)到底是什么類型,以便分配適宜的存儲空間,并按照相應(yīng)的規(guī)那么進(jìn)展操作。所以在程序編寫時要對數(shù)據(jù)進(jìn)展明確的類型說明。2.1.1數(shù)據(jù)類型2.1數(shù)據(jù)表示程序演示
運行結(jié)果:【例2-1】計算并輸出半徑為r的圓的面積。#include<stdio.h> //包含標(biāo)準(zhǔn)輸入輸出頭文件voidmain() //主函數(shù){
floatr,area;//數(shù)據(jù)準(zhǔn)備,定義半徑r和面積areaprintf("請輸入半徑:");//提示語scanf("%f",&r); //輸入半徑值rarea=*r*r; //數(shù)據(jù)計算,將結(jié)果賦值給area
printf("該圓的面積為:%f.\n",area);//輸出面積值}數(shù)據(jù)類型:r,area為float〔實型〕變量:r,area常量3.14〔π〕根本數(shù)據(jù)類型有三種:整型(int)字符型(char)實型單精度型〔float〕雙精度型double)2.1.1數(shù)據(jù)類型2.1數(shù)據(jù)表示1.整型2.1.1數(shù)據(jù)類型2.1數(shù)據(jù)表示名稱符號存儲空間數(shù)的范圍短整型short2字節(jié)(16位)-32768~+32767(-215~+215-1)基本整型int2字節(jié)(16位)-32768~+32767(-215~+215-1)4字節(jié)(32位)-2147483648~+2147483647(-231~+231-1)長整型long4字節(jié)(32位)-2147483648~+2147483647(-231~+231-1)無符號短整型unsignedshort2字節(jié)(16位)0~65535(0~216-1)無符號基本整型unsignedint2字節(jié)(16位)0~65535(0~216-1)4字節(jié)(32位)0~4294967295(0~232-1)無符號長整型unsignedlong4字節(jié)(32位)0~4294967295(0~232-1)2.浮點型
浮點型又分為單精度和雙精度。其符號表示、所占存儲空間大小、有效數(shù)字及數(shù)的范圍如表。
2.1.1數(shù)據(jù)類型2.1數(shù)據(jù)表示名稱符號存儲空間有效數(shù)字?jǐn)?shù)的絕對值范圍單精度浮點型float4字節(jié)(32位)6~73.4×10-38~3.4×1038雙精度浮點型double8字節(jié)(64位)15~161.7×10-308~1.7×10308程序的構(gòu)造特點字符型數(shù)據(jù)涵蓋了ASCII碼字符集中每一個字符,包括可直接顯示的字符和32個控制字符,見附錄A。字符型用char表示,占存儲空間1個字節(jié)〔8位〕,實際上存放的是該字符所對應(yīng)的ASCII碼值〔一個整數(shù)〕,所以字符型和整型的關(guān)系非常特殊,二者經(jīng)?!盎齑瞑?,如’A’+1代表字母’B’。2.1.1數(shù)據(jù)類型2.1數(shù)據(jù)表示2.1.2常量2.1數(shù)據(jù)表示常量按照數(shù)據(jù)類型來分有:整型常量浮點型常量字符常量字符串常量按照表現(xiàn)形式來分有:直接常量符號常量1.直接常量(1)整型常量整型常量有十進(jìn)制、八進(jìn)制和十六進(jìn)制三種表示方式,如表2-3所示。
2.1.2常量2.1數(shù)據(jù)表示表示方式前置符號標(biāo)志構(gòu)成示例十進(jìn)制無0~9、正負(fù)號65,-57八進(jìn)制00~7、正負(fù)號032,027,-033十六進(jìn)制0x或0X0~9,a~f(或A~F)、正負(fù)號0x101,0Xff整型常量默認(rèn)為根本整型,可以在整型常量后加小寫字母l或大寫字母L得到相應(yīng)的長整型常量。例30000為int型65536為longint型例(1)20023L(2)06708302(3)0x200xfff0xh31.直接常量(2)浮點型常量浮點型常量有十進(jìn)制小數(shù)和指數(shù)形式兩種表示方式。
2.1.2常量2.1數(shù)據(jù)表示表示方式符號標(biāo)志構(gòu)成示例規(guī)則十進(jìn)制小數(shù)小數(shù)點.0~9、正負(fù)號和小數(shù)點1.23,.23,-1.必須有唯一的小數(shù)點指數(shù)字母e或E0~9、正負(fù)號、e或E1.23e3,1.23E3字母e或E前必有數(shù),e或E后必為整數(shù)eEe2e3、、e是不合法的指數(shù)形式(3)字符型常量用單撇引號括起來的單一字符稱之為字符型常量。轉(zhuǎn)義字符表示時以反斜杠“\〞作為標(biāo)志符號。字符型常量在內(nèi)存中占1個字節(jié)。2.1.2常量2.1數(shù)據(jù)表示例如:1.'a','B','9','*'是合法的直接字符常量。2.單引號、雙引號和反斜杠等具有特殊用途的字符只能用轉(zhuǎn)義字符表示,即'\''、'\"'、'\\'。3.'\n','\030','\x19'是合法的轉(zhuǎn)義字符常量,分別代表回車換行、↑、和↓等控制字符。2.1.2常量2.1數(shù)據(jù)表示表示形式含義\n回車換行(將光標(biāo)移到下一行開頭)\t橫向跳格(Tab)\b退格(將光標(biāo)前移一列)\a警告(產(chǎn)生聲音提示信號)\\輸出反斜杠\\’輸出單引號’\
"輸出雙引號”\dddddd為1至3為八進(jìn)制數(shù),如’\101’代表A,’\37’代表▼符號\xhhHh為1至2位十六進(jìn)制數(shù),如’\x1E’代表▲符號1.直接常量(3)字符型常量--常見的轉(zhuǎn)義字符及其含義如表2-5所示
2.1.2常量2.1數(shù)據(jù)表示1.直接常量(4)字符串常量字符串常量就是用雙撇引號括起來的一串字符序列,字符串中含有的字符個數(shù)是該字符串的長度。字符串存儲時,每個字符占1個字符,并在字符串的結(jié)尾自動加上一個字符串完畢標(biāo)志’\0’,因此字符串的存儲長度比字符串的字符個數(shù)多1。a
a\0例
‘a(chǎn)’“a”例空串“”\02.符號常量符號常量標(biāo)識符通常大寫,以便和其他標(biāo)識符相區(qū)別。另外,宏定義命令和頭文件包含命令一樣都屬于編譯預(yù)處理,需要寫在程序開頭位置。
2.1.2常量2.1數(shù)據(jù)表示#define符號常量標(biāo)識符常量值
#include<stdio.h> #definePI3.14//定義符號常量PI代表voidmain() {floatr,area; printf("請輸入半徑:");scanf("%f",&r); area=PI*r*r; printf("該圓的面積為:%f.\n",area);}2.1.2常量2.1數(shù)據(jù)表示【例2-4】使用符號常量實現(xiàn)【例2-1】——計算并輸出半徑為r的圓的面積。#define符號常量標(biāo)識符常量值【隨堂練習(xí)2-1】1.判斷以下常量表示正確與否?整型常量:32768、037、081、0x4f、0xAH字符型常量:'a'、'101'、65、'\x21'2.字符串常量“Howareyou?\n〞的字符串長度為()個字節(jié),它占用的存儲空間為()個字節(jié)。3.“d:\windows\info.txt〞在C語言程序設(shè)計時應(yīng)描述為()。4.在編程處理物理力學(xué)相關(guān)運算時,常將重力加速度G定義為符號常量,其定義語句可描述為()。2.1.2常量2.1數(shù)據(jù)表示1.變量〔1〕概念:在程序運行過程中其值可以改變的量稱為變量〔2〕變量定義的一般格式為:類型標(biāo)識符變量名1,變量名2,…,變量名n;2.1.3變量2.1數(shù)據(jù)表示注意:變量必須先定義,后使用。數(shù)據(jù)類型,即決定分配字節(jié)數(shù)和數(shù)的表示范圍合法標(biāo)識符例:inta,b,c;floatdata;例1intstudent;stadent=19;/*Undefinedsymbol‘statent’infunctionmain*/
1.變量〔3〕【例2-5】1).floatr,area;2).doublea,b,c;3).inti=1,s;4).longm,k;5).charch;
2.1.3變量2.1數(shù)據(jù)表示變量定義后,系統(tǒng)會根據(jù)變量的類型分配相應(yīng)的存儲空間。
注意區(qū)分變量名與變量值…...地址inta=1,b=-3,c;abc2字節(jié)2字節(jié)2字節(jié)地址地址…...內(nèi)存1-3隨機數(shù)1.變量〔4〕【隨堂練習(xí)2-2】1.以下變量定義中合法的是:〔1〕longdo=0xfd;〔2〕intmax=min=0;〔3〕doublef,inta;〔4〕charch="A";2.1.3變量2.1數(shù)據(jù)表示數(shù)據(jù)操作2.2.1運算符與表達(dá)式2.2.2類型轉(zhuǎn)換
運算符:在運算數(shù)據(jù)時,用來表示各種運算的符號
1.運算符的種類1)算術(shù)運算符+-*/%++--2)關(guān)系運算符><==>=<=!=3)邏輯運算符!&&||4)位運算符>><<~|^&5)賦值運算符=及其擴展賦值6)條件運算符?:7)逗號運算符
,8)指針運算符*&2.2.1運算符與表達(dá)式數(shù)據(jù)操作
2.2.1運算符與表達(dá)式數(shù)據(jù)操作運算符含義舉例結(jié)果說明+加法運算符a+ba與b的和無-減法運算符a-ba與b的差無*乘法運算符a*ba與b的乘積由于鍵盤無×號,乘法運算以*代替。/除法運算符a/ba除以b的商由于鍵盤無÷號,除法運算以/代替。注意:兩個整數(shù)相除的結(jié)果為整數(shù),如3/2的結(jié)果為1,舍去小數(shù)部分。%求余運算符a%ba除以b的余數(shù)求余運算%僅用于整數(shù)間的運算,若存在負(fù)整數(shù),則余數(shù)的正負(fù)號與被除數(shù)相同,如-3%2的結(jié)果為-1。++自增1運算符a++或++a使a的值加1++和--為單目運算,且只能用于單一變量運算++a和--a,是在使用a之前,先使a的值加1或減1a++和a--,是在使用a之后,再使a的值加1或減1--自減1運算符a--或--a使a的值減11.算術(shù)運算符和表達(dá)式
1.算術(shù)運算符和表達(dá)式
【例2-6】分析程序輸出結(jié)果。#include<stdio.h> voidmain() {inta=3,b=-5,i=2,j=2;
printf("%d,%d,%d,%d,%d\n",a+b,a-b,a*b,a/b,a%b);printf("%d,%d,%d,%d\n",a++,b--,++i,--j);printf("%d,%d,%d,%d\n",a,b,i,j);}2.2.1運算符與表達(dá)式數(shù)據(jù)操作程序演示
運行結(jié)果:2.賦值運算符和表達(dá)式2.2.1運算符與表達(dá)式數(shù)據(jù)操作簡單賦值運算符:=復(fù)合賦值運算符:+=-=*=/=%=x*=y+8x=x*(y+8)x%=3x=x%3s+=is=s+3說明:賦值運算符左側(cè)必須是變量,不能是常量或表達(dá)式賦值運算時,賦值號右邊表達(dá)式值自動轉(zhuǎn)換成其左邊變量的類型例inti;floatj;i=2.56;//結(jié)果i=2;j=i;//;例:a=b=c=5a=(b=5)a=5+(c=6)a=(b=4)+(c=6)a=(b=10)/(c=2)//表達(dá)式值為5,a,b,c值為5//b=5;a=5//表達(dá)式值11,c=6,a=11//表達(dá)式值10,a=10,b=4,c=6//表達(dá)式值5,a=5,b=10,c=2(1)不同類型數(shù)據(jù)運算時,自動轉(zhuǎn)換成同一類型,再進(jìn)展計算.doublefloatLongunsignedintchar,short低高說明:必定的轉(zhuǎn)換運算對象類型不同時轉(zhuǎn)換2.2.2類型轉(zhuǎn)換數(shù)據(jù)操作(2)也可以對數(shù)據(jù)類型進(jìn)展強制轉(zhuǎn)換例(int)(x+y)(int)x+y(double)(3/2)(int)2.6說明:強制轉(zhuǎn)換得到所需類型的中間變量,原變量類型不變例main(){floatx;inti;x=3.6;i=(int)x;printf(“x=%f,i=%d〞,x,i);}結(jié)果:x=3.600000,i=3精度損失問題較高類型向較低類型轉(zhuǎn)換時可能發(fā)生2.2.2類型轉(zhuǎn)換數(shù)據(jù)操作【隨堂練習(xí)2-3】;intb;b=(int)a;,執(zhí)行該語句后,變量b的值為3,變量a的值還是,并且變量a的類型也不改變,依舊是double類型。2.有定義語句:charch='M';,寫出將變量ch變?yōu)樾懽帜傅谋磉_(dá)式:
。2.2.1類型轉(zhuǎn)換數(shù)據(jù)操作2.3算法與三種根本程序構(gòu)造2.3.1算法及其描述
2.3.2三種基本程序結(jié)構(gòu)1.算法的概念對于計算機程序可處理的問題來說,程序中所用到的數(shù)據(jù)以及對這些數(shù)據(jù)的類型和數(shù)據(jù)組織形式的描述稱之為“數(shù)據(jù)構(gòu)造〞.對數(shù)據(jù)處理所采用的方法和步驟等操作的描述稱為“計算機算法〞。作為程序設(shè)計人員,必須認(rèn)真考慮和設(shè)計數(shù)據(jù)構(gòu)造和操作步驟〔即算法〕。著名計算機科學(xué)家沃思〔NikiklausWirth〕提出一個公式:2.3.1算法及其描述2.3算法與三種根本程序構(gòu)造程序=數(shù)據(jù)構(gòu)造+算法
2.3.1算法及其描述2.3算法與三種根本程序構(gòu)造圖形符號名稱含義起止框算法的起點和終點,是任何流程圖比不可少的輸入、輸出框數(shù)據(jù)的輸入和輸出操作處理框各種形式數(shù)據(jù)的處理判斷框判斷條件是否成立,成立時在出口處標(biāo)注“是”或“Y”,不成立時標(biāo)注“否”或“N”特定過程一個特定過程,如函數(shù)流程線連接各個圖框,表示執(zhí)行的順序連接點表示與流程圖其它部分相連流程圖符號
下面對【例2-1】的算法描述改用流程圖的方法表示
2.3.1算法及其描述2.3算法與三種根本程序構(gòu)造開始結(jié)束計算圓的面積areaarea=3.14*r*r輸入半徑r值輸出面積值area1.順序構(gòu)造順序構(gòu)造指算法的實現(xiàn)過程按照相應(yīng)的步驟依次順序執(zhí)行,直至完畢。順序構(gòu)造是最簡單的一種根本構(gòu)造。2.3.2三種基本程序結(jié)構(gòu)2.3算法與三種根本程序構(gòu)造1.順序構(gòu)造
2.3.2三種基本程序結(jié)構(gòu)2.3算法與三種根本程序構(gòu)造開始結(jié)束計算圓的面積areaarea=3.14*r*r輸入半徑r值輸出面積值area2.選擇構(gòu)造又稱為分支構(gòu)造,此構(gòu)造中必包含一個條件判斷,根據(jù)判斷結(jié)果從兩種或多種路徑中選擇其中的一條執(zhí)行。2.3.2三種基本程序結(jié)構(gòu)2.3算法與三種根本程序構(gòu)造2.選擇構(gòu)造
2.3.2三種基本程序結(jié)構(gòu)2.3算法與三種根本程序構(gòu)造結(jié)束計算圓的面積areaarea=3.14*r*rr是否合
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 吉林省長春市九臺區(qū)2024-2025學(xué)年七年級上學(xué)期期中教學(xué)質(zhì)量監(jiān)測地理試題(含答案)
- 2024年度云南省高校教師資格證之高等教育法規(guī)押題練習(xí)試卷A卷附答案
- 2024-2025學(xué)年天津市河北區(qū)美術(shù)中學(xué)九年級(上)第一次月考數(shù)學(xué)試卷(無答案)
- 低空經(jīng)濟(jì)產(chǎn)業(yè)園經(jīng)濟(jì)效益評估
- 低空經(jīng)濟(jì)公司運營管理報告
- 贛南師范大學(xué)《美術(shù)基礎(chǔ)與欣賞》2023-2024學(xué)年第一學(xué)期期末試卷
- 贛南師范大學(xué)《電視劇研究》2021-2022學(xué)年第一學(xué)期期末試卷
- 重慶市名校聯(lián)盟 2024-2025學(xué)年度第一期第一次聯(lián)合考試 歷史試卷(含答案)
- 阜陽師范大學(xué)《體育保健學(xué)》2022-2023學(xué)年第一學(xué)期期末試卷
- 阜陽師范大學(xué)《工筆人物》2022-2023學(xué)年第一學(xué)期期末試卷
- 鐵路橋涵鋼筋混凝土結(jié)構(gòu)設(shè)計規(guī)范(正文)
- 2024年國開電大 高級財務(wù)會計 形考任務(wù)4答案
- DB11∕T 1580-2018 生產(chǎn)經(jīng)營單位安全生產(chǎn)應(yīng)急資源調(diào)查規(guī)范
- 電鍍工初中高,技師,高級技師試題庫
- 《三、-設(shè)置幻燈片的切換效果》教學(xué)設(shè)計 2024-2025學(xué)年初中信息技術(shù)人教版七年級上冊
- 國債資金管理辦法
- 離婚冷靜期范本2024年
- 《量子化學(xué)計算方法》課件
- 2023-2024學(xué)年全國初三上化學(xué)人教版期中考試試卷(含答案解析)
- 第六單元《采摘節(jié)-混合運算》(大單元教學(xué)設(shè)計)-2023-2024學(xué)年三年級上冊數(shù)學(xué)青島版
- 山東省青島市西海岸新區(qū)2023-2024學(xué)年三年級上學(xué)期期中數(shù)學(xué)試題
評論
0/150
提交評論