2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、,C程序設(shè)計教程,孫爽滋,,課程要求,參閱《計算機文化基礎(chǔ)》一書第1、2章,課前請做好預(yù)習(xí),保持課堂安靜,頭腦清醒,思維活躍,認真、獨立、按時完成并提交作業(yè),重視上機實踐,有效利用寶貴的上機時間,,,,,第1章 C語言程序設(shè)計初步,,,第1章 C語言程序設(shè)計初步,1.1 程序設(shè)計語言1.1.1 程序設(shè)計語言的發(fā)展,第一代:機器語言==〉CPU指令系統(tǒng)由0、1序列構(gòu)成的指令碼組成 如:10000

2、000 加 10010000 減 優(yōu)點:機器可直接執(zhí)行,速度快。 缺點:程序長,難記,難理解,不易查錯。,第二代:匯編語言= =〉用助記符描述的指令系統(tǒng)。如:Mov Ax,[bp+4] push d1, 優(yōu)點:比機器語言較易理解,執(zhí)行速度快。

3、 缺點:難度大,非專業(yè)人士難以掌握。,面向機器的語言,第三代:面向過程的高級語言= =〉或稱算法語言。如: Fortran,Basic,Pascal,C 等等。 優(yōu)點:靈活,易于理解,容易查錯。 缺點:對大型程序而言維護性較差,對“擬定”好的 程序難以擴充,修改(所謂牽一而動百)。,客觀世界可以分類,對象是類的實例對象是數(shù)據(jù)和方法的封裝對象間通過發(fā)送和接受消息發(fā)生聯(lián)系程序設(shè)計關(guān)鍵是定義

4、類,并由類派生對象,第四代:非過程化的高級語言==〉是一種面向?qū)ο蟮脑O(shè)計 語言,如:C++,Java 等等。 優(yōu)點:靈活、易于理解、維護、修改、擴充。 缺點:掌握難度較大。,,,,Ada,,ALGOL60,,ALGOL68,,,Pascal,,,Modula-2,,,,,CPL,,,BCPL,,B,,C,,C++,,,Java,,,,,,LISP,,,PROLOG,,,,COBOL,,,,FORTRAN77

5、,FORTRAN,,,PL/1,,,,Simula 67,,,,Smalltalk 80,,,,BASIC,,ANSI-BASIC,,QBASIC,VB,FORTRAN90,第1章 C語言程序設(shè)計初步,<,>,,第1章 C語言程序設(shè)計初步,?1. 1960年出現(xiàn)了Algol60語言,但該語言主要面向問題,與硬件較遠,故英國劍橋大學(xué)推出了CPL(Combined Programming Language),? 2. 1967年

6、,Matin Richards對CPL進行改進、簡化、推出了BCPL (Basic Combined Programming Language),附:C語言發(fā)展過程,? 3. 1970年,美國貝爾實驗室Ken Thomson 以BCPL為基礎(chǔ),再次簡化推出了B語言,并寫了第一個UNIX系統(tǒng)。,? 4. 1972年美國貝爾實驗室D.M. Ritchie 在B語言基礎(chǔ)上設(shè)計出了C語言,并用其將UNIX系統(tǒng)全部改寫并實現(xiàn)。,附: C語言發(fā)展過

7、程,第1章 C語言程序設(shè)計初步,附: C語言發(fā)展過程,? 5. 經(jīng)進一步改進,至1977年出現(xiàn)了與具體機器無關(guān)的C編譯文本,從而使C語言廣泛應(yīng)用,各種機器皆可使用。,? 6. 1978年,美國Brain W.Kernighan與 Dennis. M. Ritchie 聯(lián)合出版一書《The C Programming Language》成為 ANSI C之基礎(chǔ)。,第1章 C語言程序設(shè)計初步,附: C語言發(fā)展過程,注:以ANSI C 為基礎(chǔ)

8、: 不同機器有不同版本,尤其是函數(shù)均應(yīng)參考 相應(yīng)的版本。,特別說明: C語言的編譯環(huán)境有多種 如:Turbo C, Borland C, Microsoft C 等,? 7. 1983年,美國標準化協(xié)會(ANSI) 制定了ANSI C。,第1章 C語言程序設(shè)計初步,1.1.2 程序設(shè)計語言的支持環(huán)境,<,>,,第1章 C語言程序設(shè)計初步,1.1.3 源程序的編輯、編

9、譯、連接和執(zhí)行,<,>,,第1章 C語言程序設(shè)計初步,1. 編輯,:建立源程序。,2.編譯,3.連接,:二進制目標代碼與系統(tǒng)標準模塊連 接,生成可執(zhí)行文件。,:檢查源程序中的語法錯誤,并建立目 標代碼。,4.運行,:要計算機執(zhí)行指定的命令。,程序代碼的錄入,生成源程序*.c,語法分析查錯,翻譯生成目標程序*.obj,與其它目標程序或庫鏈接裝配,生成可執(zhí)行程序*.exe,第1章 C語言程序設(shè)計初步,1.1

10、.3 源程序的編輯、編譯、連接和執(zhí)行,第1章 C語言程序設(shè)計初步,Turbo C向用戶提供了一個集成開發(fā)環(huán)境——把程序的編輯(Edit)、編譯(Compile)、連接(Link)和運行(Run)等操作全部集中在一個界面上進行。準備工作——安裝 Turbo C。為了能使用Turbo C,必須先將Turbo C編譯程序裝入磁盤的某一目錄下,例如放在D盤根目錄下一級TC子目錄下。,附:用Turbo C 運行C程序的步驟,調(diào)用 Turbo

11、 C程序。DOS狀態(tài)下,進入TC所在子目錄,從鍵盤鍵入“tc” 命令即可。WINDOWS狀態(tài)下,雙擊“tc”圖標,菜單區(qū),,,編輯區(qū),,狀態(tài)區(qū),調(diào)用 Turbo C程序。DOS狀態(tài)下,進入TC所在子目錄,從鍵盤鍵入“tc” 命令即可。WINDOWS狀態(tài)下,雙擊“tc”圖標,菜單區(qū),編輯區(qū),狀態(tài)區(qū),,在集成開發(fā)環(huán)境的上部,有一行“主菜單”, 其 中包括下面8個菜單項:File Edit Run Compile Pro

12、ject Option Debug Break/Watch以上8個菜單項分別代表:文件操作、編輯、運行、編譯、項目文件、選項、調(diào)試、中斷/觀察等功能。用鍵盤上的“←”和“→”鍵可以選擇菜單條中所需要的菜單命令。,File菜單,,File下拉菜單,,執(zhí)行Load子菜單,,Load對話框,,編輯(Edit)C語言源文件。根據(jù)需要輸入或修改源程序。,調(diào)用 Turbo C程序。DOS狀態(tài)下,進入TC所在子目錄,從鍵盤鍵入“tc” 命

13、令即可。WINDOWS狀態(tài)下,雙擊“tc”圖標,編譯(Compile)源程序。選擇“Compile”菜單并在其下拉菜單中選擇“Compile to OBJ”命令 ,則進行編譯,得到一個后綴為.obj的目標程序。,連接(Link)目標程序,生成可執(zhí)行文件。選擇菜單命令“Compile/Link EXE file”, 進行連接操作,可得到一個后綴為.exe的可執(zhí)行文件。,在編譯或連接時,屏幕上會顯示有無錯誤和有幾個錯誤的提示,在屏幕的下半

14、部分顯示出有錯誤的行和錯誤的原因。根據(jù)提示信息修改源程序,再次進行編譯和連接。,,出錯,按任意鍵繼續(xù),編輯狀態(tài)下,按F9鍵進行編譯,在編譯或連接時,屏幕上會顯示有無錯誤和有幾個錯誤的提示,在屏幕的下半部分顯示出有錯誤的行和錯誤的原因。根據(jù)提示信息修改源程序,再次進行編譯和連接。,,出錯信息窗,在編譯或連接時,屏幕上會顯示有無錯誤和有幾個錯誤的提示,在屏幕的下半部分顯示出有錯誤的行和錯誤的原因。根據(jù)提示信息修改源程序,再次進行編譯和連接。

15、,按回車鍵回到編輯程序狀態(tài),編輯后,按F9鍵重新編譯,在編譯或連接時,屏幕上會顯示有無錯誤和有幾個錯誤的提示,在屏幕的下半部分顯示出有錯誤的行和錯誤的原因。根據(jù)提示信息修改源程序,再次進行編譯和連接。,編譯(F9)成功后,RUN,按ALT+F5看結(jié)果,在編譯或連接時,屏幕上會顯示有無錯誤和有幾個錯誤的提示,在屏幕的下半部分顯示出有錯誤的行和錯誤的原因。根據(jù)提示信息修改源程序,再次進行編譯和連接。,直接按CTRL+F9,按ALT+F5

16、看結(jié)果,,第1章 C語言程序設(shè)計初步,1.2 計算機中的數(shù)據(jù)1.2.1進位計數(shù)制,是人們利用符號來計數(shù)的方法。一種進位計數(shù)制包含一組數(shù)碼符號和兩個基本因素 (1)基: 數(shù)制所使用的數(shù)碼個數(shù)稱為“基”。 (2)權(quán): 數(shù)制每一位所具有的值稱為“權(quán)”。,第1章 C語言程序設(shè)計初步,1.2 計算機中的數(shù)據(jù)1.2.2 二進制計數(shù)及其運算,?二進制特點,(1)易于物理實現(xiàn) (2)運算規(guī)則簡單: R &#

17、215;(R+1)/2種規(guī)則 (3)機器運行可靠性高 (4)通用性強適于數(shù)值信息和非數(shù)值信息的處理。,?二進制數(shù)的表示方法,(1)數(shù)碼為2個:0和1。 (2)進位方法:逢2進1,借1當(dāng)2。 (3)位權(quán):……23,22,21,20,2-1,2-2,2-3…… (4)舉例:01011010.01=0×27+1×26+0×25+1×24+1×23

18、 +0×22+1×21+0×20+0×2-1+1×2-2,?二進制數(shù)的算術(shù)運算規(guī)則:,第1章 C語言程序設(shè)計初步,1.2 計算機中的數(shù)據(jù)1.2.2 二進制計數(shù)及其運算,(1) 加法: 0+0=0 0+1=1+0=1 1+1=10 (有進位),(3) 乘法:  0×0=1×

19、;0=0×1=0  1×1=1,(4) 除法: 0÷1=0 1÷1=1,(2) 減法:  0-0=1-1=0 1-0=1  0-1=1 (向高位借位),?二進制數(shù)的算術(shù)運算規(guī)則:,[例1] 1010+0111=? [例2] 1010-0111=?,第1章 C語言程序設(shè)計初步, 1010 1010

20、 + 0111 -0111 10001 0011,1.2 計算機中的數(shù)據(jù)1.2.3 不同進制之間的轉(zhuǎn)換,第1章 C語言程序設(shè)計初步,1.二、八、十六進制 ?十進制 ? 原則:按位權(quán)展開法 即把一個任意R進制數(shù)轉(zhuǎn)換成十進制數(shù),其十 進制數(shù)值為每一位數(shù)字與其位權(quán)之積的和。,[例1] 101101.01B=1&

21、#215;25+0×24+1×23+1×22+0×21 +1×20 +0×2-1 +1×2-2=45.25 [例2] 1705.25O=1×83+7×82+0×81 +5×80 +2×8-1

22、 +5×8-2 =965.328125 [例3] 49B7.1H=4×163+9×162+11×161+7×160 +1×16-1 =18871.0625,1.2 計算機中的數(shù)據(jù)1.2.3 不同進制之間的轉(zhuǎn)換,

23、第1章 C語言程序設(shè)計初步,2.二、八、十六進制 ?十進制 ?原則:整數(shù)部分除R取余倒排序法 小數(shù)部分乘R取整順排序法 ? [例1] 725.625=( ? )B,[解1] 整數(shù)部分: 2|725 2|362 …………余數(shù)=1 2|181 …………余數(shù)=0

24、 2|90 …………余數(shù)=1 2|45 …………余數(shù)=0 2|22 …………余數(shù)=1 2|11 …………余數(shù)=0 2|5 …………余數(shù)=1 2|2 …………余數(shù)=1 2|1 …………余數(shù)=

25、0 0 …………余數(shù)=1 ?商為0,轉(zhuǎn)換結(jié)束,,,[例1] 725.625=( ? )B=1011010101.101,第1章 C語言程序設(shè)計初步,小數(shù)部分: 0.625 × 2 1.250…整數(shù)=1

26、 0.250 × 2 0.500…整數(shù)=0 × 2 1.000…整數(shù)=1 0.000 積為0, 轉(zhuǎn)換結(jié)

27、束,139,(139)10=(10001011)2,除余法,(139)10=(?)2,第1章 C語言程序設(shè)計初步,,第1章 C語言程序設(shè)計初步,,,整數(shù)部分: 2|59 2|29 …………..余數(shù)=1 2|14 …………..余數(shù)=1 2|7 …………..余數(shù)=0

28、2|3 ……..……余數(shù)=1 2|1 …………..余數(shù)=1 0 …………..余數(shù)=1 ?商為0,轉(zhuǎn)換結(jié)束,提示: 若小數(shù)部分經(jīng)過乘2取整運算后,無法得到0.000,則當(dāng)達到題目要求的精度即可停止進制間的轉(zhuǎn)換。,=( 111011.0101001 )B,[例2] 59.32 [解2]

29、 小數(shù)部分: 0.32 × 2 0.64…...整數(shù)=0 × 2 1.28 …..整數(shù)=1 0.28 &

30、#215; 2 0.56……整數(shù)=0 × 2 1.12……整數(shù)=1 0.12 × 2 0.24……整數(shù)=0

31、 × 2 0.48…….整數(shù)=0 × 2   0.96…….整數(shù)=0,第1章 C語言程序設(shè)計初步,3.八、十六進制?二進制(1) 每一位八進制數(shù)對應(yīng)一個三位二進制數(shù),逐位展開。 (2) 每一位十六進制數(shù)對應(yīng)一個四位二進制數(shù),逐位展開。,第1章

32、 C語言程序設(shè)計初步,3.八、十六進制?二進制(1) 每一位八進制數(shù)對應(yīng)一個三位二進制數(shù),逐位展開。 (2) 每一位十六進制數(shù)對應(yīng)一個四位二進制數(shù),逐位展開。,[例] 1. 6 3571.402O=(?)B 2. 91a28.b71H=(?)B,4.八、十六進制?二進制 ?(1)二?八:將二進制數(shù)從小數(shù)點開始分別向左(即整數(shù)部分)或向右(即小數(shù)部分)每三位組成一組,不足三位補零;將每組三

33、位二進制數(shù)用相應(yīng)的一個八進制數(shù)表示。 ? (2) 二?十六:將二進制數(shù)從小數(shù)點開始分別向左(即整數(shù)部分)或向右(即小數(shù)部分)每四位組成一組,不足四位補零。將每組四位二進制數(shù)用相應(yīng)的十六進制數(shù)表示。,[例] 1. 11100.11001=(?)O=(?)H 2. 1011001.1101011=(?)O=(?)H,3.八、十六進制?二進制(1) 每一位八進制數(shù)對應(yīng)一個三位二進制數(shù),逐位展開。

34、 (2) 每一位十六進制數(shù)對應(yīng)一個四位二進制數(shù),逐位展開。,第1章 C語言程序設(shè)計初步,=011 100.110 010 =34.62O =0001 1100.1100 1000 =1c.c8H,第1章 C語言程序設(shè)計初步,?[解]: 1. 11100.11001=(?)O=(?)H,2. 1011001.1101011=(?)O=(?)H,=001 011 001.110 101 100 =131.65

35、4O,=0101 1001.1101 0110 =59.d6H,3. 3571.402O=(?)B =110 011 101 111 001.100 000 010B,4. 91a28.b71H=(?)B =1001 0001 1010 0010 1000.1011 0111 0001B,原碼表示法——最高位表示數(shù)的符號,其他為數(shù)值位。 如:[97

36、]原=01100001 ——若用8位表示一個整數(shù) [-97]原=11100001反碼表示法——正數(shù)的反碼等同于原碼 負數(shù)的反碼是將正數(shù)的原碼取反 如: [97]反= [97]原 =01100001 [-97]反= [97]原=10011110,附:原碼、反碼、補碼,第1章

37、 C語言程序設(shè)計初步,如: [97]補=[97]反= [97]原 =01100001 [-97]補=1 0011110 +1 1 0011111,補碼表示法 ——正數(shù)的補碼等同于原碼 負數(shù)的補碼是將各位取反,末位加1,如: [2]補=[2]反= [2]原 =00000010[-2]補= 1 1111101

38、 + 1 1 1111110,,附:原碼、反碼、補碼,第1章 C語言程序設(shè)計初步,1.3.1 基本符號集 在C語言中可出現(xiàn)的字符:大小寫 英文字母、數(shù)字轉(zhuǎn)義字符和鍵盤字符。,第1章 C語言程序設(shè)計初步,1.3 C語言符號集,1.3.2 標識符

39、 用來標識變量名、函數(shù)名、數(shù)組名 和文件名等對象的有效字符序列。,1.3.1 基本符號集,第1章 C語言程序設(shè)計初步,1.3 C語言符號集,1.3.2 標識符,命名規(guī)則:(1)由英文字母、數(shù)字和下劃線組成,且首字符必須 是字符或下劃線(2)長度不限,但一般前8個字符有效 (3)不可和關(guān)鍵字同名(見表1-2)(4)嚴格區(qū)分大小寫(5)做到“見名知意”,第1章 C語言程序設(shè)計初步,1.4 用庫函數(shù)組裝C語言

40、,/* The first C Program*/#include main(){ printf(“Hello,World!”);},輸出:Hello,World!,第一個程序 Hello,World!,第1章 C語言程序設(shè)計初步,/* The first C Program-——modified!*/#include main(){ printf(“Hello,World!

41、”); getch();},,本程序的作用是在屏幕上輸出“Hello World!.”一行信息:其中 main 表示“主函數(shù)”。每一個C程序都必須有且只有一個 main 函數(shù);函數(shù)體由大括弧{}括起來;本例中主函數(shù)內(nèi)只有一個輸出語句-printf語句;“\n”是換行符,即在輸出“This is a C program.”后回車換行;每條語句最后有一分號;使用getch( )函數(shù)觀測程序在屏幕上的輸出結(jié)果。,

42、第二個程序:求任意兩個數(shù)中的大值。,第1章 C語言程序設(shè)計初步,1.5 自己設(shè)計C函數(shù),/*the example calculate the maximum of a and b*/#include /* This is the main program */main(){ int a,b,c; scanf(“%d%d”,&a,&b); c=max(a,b

43、); printf(”max= %d\n",c);}/* This function calculates the max of x and y */int max(int x,int y){ if(x>y) return (x); else return (y);},運行結(jié)果:12 24max=24,第二個程序:求任意兩個數(shù)中的大值。,第1章 C語言程序設(shè)計初步,/

44、*the example calculate the maximum of a and b*/#include /* This is the main program */main(){ int a,b,c; scanf(“%d%d”,&a,&b); c=max(a,b); printf(”max= %d\n",c);}/* This functi

45、on calculates the max of x and y */int max(int x,int y){ if(x>y) return (x); else return (y);},/*聲明部分,定義變量*/,/*通過鍵盤輸入變量a、b的值*/,/*調(diào)用max函數(shù),將得到的值賦給c*/,/*輸出c的值*/,格式特點習(xí)慣用小寫字母,大小寫敏感不使用行號,無程序行概念可使用空行和空格常用鋸齒

46、形書寫格式,<,>,main( ){ ………………. ……………… ………….. ………….. ……… ………. …………… ……………. ………………. ………………..},main( )

47、{ int i , j , sum; sum=0; for(i=1; i<10;i++) { for(j=1;j<10;j++) { sum+=i*j ; } } printf(“%d\n”,sum);},優(yōu)秀程序員的素質(zhì)之一:使用TAB縮進

48、{ }對齊有足夠的注釋有合適的空行,第1章 C語言程序設(shè)計初步,結(jié)構(gòu)特點函數(shù)與主函數(shù)程序由一個或多個函數(shù)組成必須有且只能有一個主函數(shù)main()程序執(zhí)行從main開始,在main中結(jié)束,其它函數(shù)通過嵌套調(diào)用得以執(zhí)行。程序語句C程序由語句組成用“;”作為語句終止符注釋/* */為注釋,不能嵌套不產(chǎn)生編譯代碼,<,>,,例: /*This is the main /* of exa

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論