版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第1章 C語(yǔ)言程序設(shè)計(jì)基礎(chǔ)知識(shí)計(jì)算機(jī)基礎(chǔ)知識(shí)C語(yǔ)言程序基本知識(shí) 在計(jì)算機(jī)上執(zhí)行C語(yǔ)言程序?qū)W習(xí)目標(biāo) 掌握計(jì)算機(jī)運(yùn)算基礎(chǔ)理解計(jì)算機(jī)程序的基本概念熟悉C語(yǔ)言基礎(chǔ)知識(shí)了解C語(yǔ)言程序的結(jié)構(gòu)學(xué)會(huì)在VC環(huán)境下編輯、編譯、執(zhí)行C程序 能夠仿照例子用C語(yǔ)言編寫簡(jiǎn)單的程序1.1 計(jì)算機(jī)基礎(chǔ)知識(shí)1.1.1 計(jì)數(shù)制概念數(shù)制(二、八、十、十六);數(shù)制轉(zhuǎn)換1.1.2 數(shù)值和非數(shù)值的表示原碼、反碼和補(bǔ)碼;定點(diǎn)數(shù)和浮點(diǎn)數(shù)的表示1.1.3 計(jì)算機(jī)運(yùn)算基礎(chǔ)算術(shù)運(yùn)算;邏輯運(yùn)算1.1.4 程序與程序設(shè)計(jì)語(yǔ)言程序;程序設(shè)計(jì)語(yǔ)言;高級(jí)語(yǔ)言1.1.5 程序執(zhí)行高級(jí)語(yǔ)言處理程序計(jì)算機(jī)的二進(jìn)制世界計(jì)算機(jī)的世界是一個(gè)二進(jìn)制世界計(jì)算機(jī)是信息處理的
2、工具,任何信息必須被轉(zhuǎn)換成二進(jìn)制形式數(shù)據(jù)后才能由計(jì)算機(jī)進(jìn)行處理、存儲(chǔ)和傳輸計(jì)算機(jī)硬件系統(tǒng)的主要功能部件均是僅有兩種穩(wěn)定狀態(tài)(電位的高和低,用0和1這兩個(gè)數(shù)字表示)的電子元器件組成1. 進(jìn)位計(jì)數(shù)制:指用一組特定的數(shù)字符號(hào)按照一定的進(jìn)位規(guī)則來(lái)表示數(shù)的計(jì)數(shù)方法。使用任何一種計(jì)數(shù)制都必須了解兩個(gè)重要概念:基數(shù)和位權(quán)?;鶖?shù):進(jìn)位計(jì)數(shù)制中所使用的不同基本符號(hào)的個(gè)數(shù)。位權(quán):數(shù)碼在不同的位置上有不同的值,確定數(shù)位上實(shí)際值所乘因子。任意進(jìn)制的一個(gè)數(shù)都可以表示為它的各位數(shù)字與位權(quán)乘積之和。假設(shè)有一個(gè)R進(jìn)制的數(shù)P,共有m位整數(shù)和n位小數(shù),每位數(shù)字用 Di(-nim1 )表示,即P=Dm-1Dm-2D1D0D-1D-
3、n,它可展開(kāi)為:P = Dm-1Rm-1Dm-2Rm-2D0R0D-1R-1 D-nR-n此多項(xiàng)式的值即為R進(jìn)制的數(shù)P。1.1.1 計(jì)數(shù)制概念計(jì)算機(jī)內(nèi)部采用二進(jìn)制的主要原因(1)容易表示,電路簡(jiǎn)單可靠。二進(jìn)制數(shù)只有“0”和“1”兩個(gè)基本符號(hào),易于用兩種對(duì)立的物理狀態(tài)表示。例如,可用電燈開(kāi)關(guān)的“閉合”狀態(tài)表示“1”,用“斷開(kāi)”狀態(tài)表示“0”;晶體管的導(dǎo)通表示“1”,截止表示“0”。一切有兩種對(duì)立穩(wěn)定狀態(tài)的器件都可以表示二進(jìn)制的“0”和“1”。而十進(jìn)制數(shù)有10個(gè)基本符號(hào)( 09 ),要用10種狀態(tài)才能表示,實(shí)現(xiàn)起來(lái)很困難。(2)運(yùn)算簡(jiǎn)單。二進(jìn)制數(shù)的算術(shù)運(yùn)算特別簡(jiǎn)單,加法和乘法僅各有 3條運(yùn)算規(guī)則(
4、 00 = 0,01 = 1,11 = 1 0和00 = 0,01 = 0,11 = 1 ),運(yùn)算時(shí)不易出錯(cuò)。(3)邏輯性強(qiáng)。二進(jìn)制數(shù)的“1”和“0”正好可與邏輯值“真”和“假”相對(duì)應(yīng),這樣就為計(jì)算機(jī)進(jìn)行邏輯運(yùn)算提供了方便。算術(shù)運(yùn)算和邏輯運(yùn)算是計(jì)算機(jī)的基本運(yùn)算,采用二進(jìn)制可以簡(jiǎn)單方便地進(jìn)行這兩類運(yùn)算。2. 數(shù)制轉(zhuǎn)換(1) R進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)。轉(zhuǎn)換規(guī)則:將各位數(shù)碼與位權(quán)相乘求和,所得數(shù)即為轉(zhuǎn)換結(jié)果。例如:(10110.1)2 = 2 4 222 12-1 = (22.5)10(456.45)8 = 48 258 168048-158-2 =(302.578125)10(2AF)16 = 21
5、6 2A16 1F16 0 = 216161016 151 =(687)10()十進(jìn)制數(shù)轉(zhuǎn)換為R進(jìn)制數(shù)十進(jìn)制整數(shù)轉(zhuǎn)換為R進(jìn)制整數(shù)。轉(zhuǎn)換規(guī)則:“除R取余法”。即用十進(jìn)制數(shù)反復(fù)地除以基數(shù),記下每次得到的余數(shù),直至商為0。將所得余數(shù)按最后一個(gè)余數(shù)到第一個(gè)余數(shù)的順序依次排列起來(lái)即為轉(zhuǎn)換結(jié)果。 十進(jìn)制小數(shù)轉(zhuǎn)換成R進(jìn)制小數(shù)。轉(zhuǎn)換規(guī)則:“乘R取整法”。即用十進(jìn)制小數(shù)乘以基數(shù),得到一個(gè)乘積,將乘積的整數(shù)部分取出來(lái),將乘積的小數(shù)部分再乘以基數(shù)。重復(fù)以上過(guò)程,直至乘積的小數(shù)部分為 0或滿足轉(zhuǎn)換精度要求為止。最后將每次取得的整數(shù)依次從左到右排列即為轉(zhuǎn)換結(jié)果。一個(gè)十進(jìn)制數(shù)既有整數(shù)部分,又包括小數(shù)部分,要將其轉(zhuǎn)換成 R
6、進(jìn)制數(shù)的轉(zhuǎn)換規(guī)則是:將該十進(jìn)制數(shù)的整數(shù)部分和小數(shù)部分分別進(jìn)行轉(zhuǎn)換,然后將兩個(gè)轉(zhuǎn)換結(jié)果拼接起來(lái)即可。 例如,將83轉(zhuǎn)換成二進(jìn)制數(shù),逐次除2取余:可得到:(83)10 =(1010011)2例如,將0.8125轉(zhuǎn)換為二進(jìn)制小數(shù),逐次乘2取整:可得: (0.8125)10 =(0.1101)2 注意:并非所有的十進(jìn)制小數(shù)都能完全準(zhǔn)確地轉(zhuǎn)換成對(duì)應(yīng)的二進(jìn)制小數(shù),此時(shí)可以在采用在滿足題目所要求的精度條件下用0舍1入的方法進(jìn)行處理(類似于十進(jìn)制中的四舍五入的方法)。在轉(zhuǎn)換過(guò)程中,做的乘法次數(shù)越多,結(jié)果就越精確。例如,將0.335轉(zhuǎn)換為二進(jìn)制小數(shù),精確到0.001。 可得:(0.335)10 =(0.0101
7、)2 (0.011)2(3)二進(jìn)制數(shù)與八進(jìn)制、十六進(jìn)制數(shù)之間的轉(zhuǎn)換(3.1)二進(jìn)制數(shù)轉(zhuǎn)換為八進(jìn)制數(shù) 二進(jìn)制數(shù)轉(zhuǎn)換成八進(jìn)制數(shù):“三位并一位”,即以小數(shù)點(diǎn)為基準(zhǔn),整數(shù)部分從右至左,每三位一組,最高位不足時(shí)補(bǔ)0;小數(shù)部分從左至右,每三位一組,最低有效位不足時(shí)補(bǔ)0。然后,每組改成等值的一位八進(jìn)制數(shù)即可。例如:(3.2)八進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù) 八進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù):“一位拆三位”,即把一位八進(jìn)制數(shù)寫成等值的3位二進(jìn)制數(shù),然后按權(quán)連接即可。 (3.3)二進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù) 二進(jìn)制數(shù)轉(zhuǎn)換成十六進(jìn)制數(shù):“四位并一位”,即以小數(shù)點(diǎn)為基準(zhǔn),整數(shù)部分從右至左,每四位一組,最高位不足時(shí)補(bǔ)0;小數(shù)部分從左至右,每
8、四位一組,最低有效位不足時(shí)補(bǔ)0。然后,每組改成等值的一位十六進(jìn)制數(shù)即可。(3.4)十六進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù) 十六進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù):“一位拆四位”,即把一位十六進(jìn)制數(shù)寫成等值的四位二進(jìn)制數(shù),然后按權(quán)連接即可。1.1.2 數(shù)值和非數(shù)值的表示1原碼、反碼、補(bǔ)碼的表示計(jì)算機(jī)中參與運(yùn)算的數(shù)據(jù)有兩種:無(wú)符號(hào)數(shù)和有符號(hào)數(shù)數(shù)的值:二進(jìn)制,用0、1表示符號(hào):正、負(fù)號(hào)只能用0、1表示,且存放在最高數(shù)位上。正整數(shù):它的原碼、反碼、補(bǔ)碼相同,最高位為符號(hào)位(值為0),其它位是數(shù)值位,存放整數(shù)的二進(jìn)制形式。負(fù)整數(shù):三種編碼表示方式不相同。 (1)原碼 負(fù)數(shù)的原碼最高位為符號(hào)位,值為1,其它位是數(shù)值位,存放負(fù)整數(shù)絕對(duì)
9、值的二進(jìn)制形式。 如: -55原=10110111,-1原=10000001 在原碼表示中,0有兩種表示形式,即:+0原=00000000,-0原=10000000 (2)反碼負(fù)數(shù)的反碼最高位為符號(hào)位,值為1,數(shù)值位是原碼的數(shù)值位按位求反。 如: -55反=11001000,-1反=11111110 在反碼表示中,0也有兩種表示形式,即: +0反=00000000,-0反=11111111(3)補(bǔ)碼 負(fù)數(shù)的補(bǔ)碼最高位為符號(hào)位,值為1,數(shù)值位是原碼的數(shù)值位按位求反再加1,即反碼加1。 如:-55補(bǔ)=11001001,-1補(bǔ)=11111111 在補(bǔ)碼表示中,0只有一種表示形式,即: +0補(bǔ)=-0補(bǔ)
10、=00000000 計(jì)算機(jī)中將減法轉(zhuǎn)換為加法的基礎(chǔ)減去一個(gè)數(shù),等于加上這個(gè)負(fù)數(shù)的補(bǔ)碼。 高位丟失 負(fù)數(shù)的補(bǔ)碼 10000101 還原后的原碼:-52. 定點(diǎn)數(shù)和浮點(diǎn)數(shù)定點(diǎn)數(shù)小數(shù)點(diǎn)的位置固定的數(shù),小數(shù)點(diǎn)的位置是約定默認(rèn)的。 固定在機(jī)器數(shù)的最低位之后(稱為定點(diǎn)純整數(shù)),用于表示整數(shù)固定在符號(hào)位之后,數(shù)值位之前(稱為定點(diǎn)純小數(shù)),用于表示小于1的純小數(shù)。 定點(diǎn)數(shù)表示法簡(jiǎn)單直觀,但是表示的數(shù)值范圍受表示數(shù)據(jù)的字長(zhǎng)限制,運(yùn)算時(shí)容易產(chǎn)生溢出。 符號(hào)位隱含小數(shù)點(diǎn)位置定點(diǎn)整數(shù)表示 隱含小數(shù)點(diǎn)位置符號(hào)位定點(diǎn)小數(shù)表示浮點(diǎn)數(shù)小數(shù)點(diǎn)的位置可以變動(dòng)的數(shù),類似十進(jìn)制中的科學(xué)計(jì)數(shù)法。 在計(jì)算機(jī)中通常把浮點(diǎn)數(shù)分成階碼和尾數(shù)兩
11、部分來(lái)表示。 例:1100101.011=0.11001010112111,其中階碼是(111)2,尾數(shù)是(0.1100101011) 2。 -0.0000101101=-0.1011012-100,其中階碼是(-100)2,尾數(shù)是(-0.101101) 2。一般浮點(diǎn)數(shù)在機(jī)器中的格式為: 指數(shù)的符號(hào)位冪次尾數(shù)的符號(hào)位規(guī)格化之后小數(shù)的值N = 尾數(shù)基數(shù)階碼浮點(diǎn)數(shù) N = 尾數(shù)基數(shù)階碼浮點(diǎn)數(shù)是定點(diǎn)整數(shù)和定點(diǎn)小數(shù)的混合。階碼:是一個(gè)帶符號(hào)的整數(shù)(定點(diǎn)整數(shù))尾數(shù):用純小數(shù)表示數(shù)的有效部分(定點(diǎn)小數(shù))階碼的位數(shù)決定數(shù)的范圍,尾數(shù)的位數(shù)決定數(shù)的精度。例如:二進(jìn)制數(shù) -1001110110.101011 可
12、以寫成: -0.1001110110101011 21010 若規(guī)定階碼8位,尾數(shù)24位表示,則這個(gè)數(shù)在機(jī)器中的格式為: 0 0001010 1 100111011010101100000003. 非數(shù)值表示(文字和符號(hào))(1)ASCII碼 ASCII碼是美國(guó)國(guó)家標(biāo)準(zhǔn)信息交換碼 (American National Standard Code for Information Interchange )的簡(jiǎn)稱,是目前國(guó)際上使用最廣泛的字符編碼。 (2)二-十進(jìn)制編碼(BCD碼)(3)漢字編碼 輸入碼 交換碼 機(jī)內(nèi)碼 字形碼表1.2 ASCII字符編碼表 十進(jìn)制編碼值為031、127的是控制字符,
13、不可打印,32是空格,其余94個(gè)是普通字符,有具體字形,可打印。09、AZ、az 的編碼是順序排列的二進(jìn)制數(shù)的兩種基本運(yùn)算:算術(shù)運(yùn)算包括:加、減、乘、除。邏輯運(yùn)算包括:與、或、非。算術(shù)運(yùn)算規(guī)則:“逢二進(jìn)一,借一當(dāng)二”加:0+0=0 0+1=1 1+0=1 1+1=10(向高位進(jìn)一)減:0-0=0 1-0=1 1-1=0 0-1=1(向高位借一)乘:00=0 01=0 10=0 11=1除:01=0 11=1例: 111+1010=? 10.11010=?1.1.3 計(jì)算機(jī)運(yùn)算基礎(chǔ)1000111001 邏輯運(yùn)算邏輯量間的運(yùn)算稱為邏輯運(yùn)算,結(jié)果仍為邏輯量基本邏輯運(yùn)算包括與(運(yùn)算符)、或(運(yùn)算符)、
14、非(運(yùn)算符) 、異或(運(yùn)算符)邏輯與運(yùn)算規(guī)則:00=0 01=0 10=0 11=1邏輯或運(yùn)算規(guī)則:00=0 01=1 10=1 11=1邏輯非運(yùn)算規(guī)則:0=1 1=0 邏輯異或運(yùn)算規(guī)則: 00=0 01=1 10=1 11=0二進(jìn)制數(shù)的邏輯運(yùn)算11011101=001000101101110110110100110111011011010010010100111111011101110110110100011010011.1.4 程序設(shè)計(jì)語(yǔ)言和程序執(zhí)行機(jī)器語(yǔ)言機(jī)器語(yǔ)言:一系列的機(jī)器指令。與硬件密切相關(guān),計(jì)算機(jī)能直接識(shí)別、執(zhí)行,沒(méi)有通用性。例:0110000010000001 (加法)0110
15、000010000001 (加法)0100000001000010 (減法)0100000001000010 (減法)匯編語(yǔ)言匯編語(yǔ)言:機(jī)器語(yǔ)言符號(hào)化,面向機(jī)器的程序設(shè)計(jì)語(yǔ)言,通用性差。必須由匯編程序?qū)⑵浞g成機(jī)器語(yǔ)言程序后才可執(zhí)行。MOV AX, 300HADD BX, AXMOV 2100H, BX HLT匯編程序連接程序匯編連接匯編語(yǔ)言源程序機(jī)器語(yǔ)言目標(biāo)程序可執(zhí)行程序(.ASM)(.OBJ)(.EXE)運(yùn)行運(yùn)行結(jié)果高級(jí)語(yǔ)言高級(jí)語(yǔ)言:面向問(wèn)題的程序設(shè)計(jì)語(yǔ)言。通常源程序的每一條語(yǔ)句對(duì)應(yīng)一組機(jī)器指令,它必須經(jīng)過(guò)翻譯程序,翻譯成機(jī)器語(yǔ)言指令形式才能執(zhí)行。void main( ) int a, b
16、, c; a=300; b=18; c=a+b; printf(“ a+b= %dn”, c);編譯程序連接程序編譯連接高級(jí)語(yǔ)言源程序機(jī)器語(yǔ)言目標(biāo)程序可執(zhí)行程序運(yùn)行運(yùn)行結(jié)果解釋程序高級(jí)語(yǔ)言源程序解釋執(zhí)行運(yùn)行結(jié)果1.2 C語(yǔ)言程序基本知識(shí)1.2.1 簡(jiǎn)單C語(yǔ)言程序示例 【例1-1】第一個(gè)程序/* 例1.1源程序,屏幕上輸出字符串 */#include void main()printf(Welcome to CnA simple programn);注釋編譯預(yù)處理主函數(shù)語(yǔ)句輸出:Welcome to CA simple program【例1-2】 一個(gè)簡(jiǎn)單的加法計(jì)算程序,求兩個(gè)整數(shù)的和。#inc
17、lude void main() int x,y,sum; /定義變量 printf(Input data:n ); /顯示提示信息 scanf(%d, &x); /輸入一個(gè)整數(shù) printf(Input data:n ); /顯示提示信息 scanf(%d, &y); /輸入一個(gè)整數(shù) sum=x+y; /計(jì)算和 printf(sum=%dn, sum); /輸出和 程序運(yùn)行:Input data:34Input data:53sum=87 注釋【例1-3】 輸入三個(gè)數(shù)實(shí)數(shù),輸出其中的最大數(shù)。#includedouble max(double x, double y)/ 定義max函數(shù) dou
18、ble m;/ 定義變量m if (xy) m=x;/ 比較兩數(shù)x和y,較大者賦值給m else m=y; return m;/ 返回m的值void main() double a,b,c,t,maxdata; printf(Please input a b c:n ); scanf(%lf%lf%lf,&a,&b,&c); t=max(a,b); / 調(diào)用函數(shù)max,求a、b兩較大者 maxdata=max(t,c); / 調(diào)用函數(shù)max,求t、c兩較大者 printf(“max=%fn,maxdata); / 輸出maxdata 程序運(yùn)行:Please input a b c:7 9 -4max=9.000000函數(shù)1.2.2 C語(yǔ)言程序的結(jié)構(gòu)函數(shù) 有且只能有一個(gè)主函數(shù) main()編譯預(yù)處理“#”開(kāi)頭全局變量注釋 /* 注釋內(nèi)容 */ /
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 遼寧政法職業(yè)學(xué)院《建筑模型制作實(shí)踐》2023-2024學(xué)年第一學(xué)期期末試卷
- 蘭州交通大學(xué)《影視劇創(chuàng)作》2023-2024學(xué)年第一學(xué)期期末試卷
- 江西經(jīng)濟(jì)管理職業(yè)學(xué)院《中醫(yī)經(jīng)典傷寒論》2023-2024學(xué)年第一學(xué)期期末試卷
- 吉首大學(xué)《痕跡信息系統(tǒng)應(yīng)用》2023-2024學(xué)年第一學(xué)期期末試卷
- 湖南高爾夫旅游職業(yè)學(xué)院《建筑材料與構(gòu)造1》2023-2024學(xué)年第一學(xué)期期末試卷
- 黑龍江外國(guó)語(yǔ)學(xué)院《系統(tǒng)辨識(shí)及自適應(yīng)控制》2023-2024學(xué)年第一學(xué)期期末試卷
- 重慶建筑科技職業(yè)學(xué)院《光纖通信系統(tǒng)》2023-2024學(xué)年第一學(xué)期期末試卷
- 中央音樂(lè)學(xué)院《高級(jí)統(tǒng)計(jì)分析》2023-2024學(xué)年第一學(xué)期期末試卷
- 小學(xué)五年專項(xiàng)發(fā)展規(guī)劃(教學(xué)工作)
- 長(zhǎng)春工業(yè)大學(xué)人文信息學(xué)院《小學(xué)體育教師基本功》2023-2024學(xué)年第一學(xué)期期末試卷
- 產(chǎn)品質(zhì)量反饋、回復(fù)單
- GB/T 7424.2-2002光纜總規(guī)范第2部分:光纜基本試驗(yàn)方法
- 《材料分析測(cè)試技術(shù)》全套教學(xué)課件
- 人教版8年級(jí)上英語(yǔ)各單元語(yǔ)法課件大全
- (完整版)形式發(fā)票模版(國(guó)際件通用)
- 武漢東湖賓館建設(shè)項(xiàng)目委托代建合同
- 安徽大學(xué)大學(xué)生素質(zhì)教育學(xué)分認(rèn)定辦法
- 高度限位裝置類型及原理
- 中文版gcs electrospeed ii manual apri rev8v00印刷稿修改版
- 新生兒預(yù)防接種護(hù)理質(zhì)量考核標(biāo)準(zhǔn)
- 除氧器出水溶解氧不合格的原因有哪些
評(píng)論
0/150
提交評(píng)論