




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)(C語言)EXIT授課:計(jì)算機(jī)教研室2號(hào)教學(xué)樓4樓總體安排 學(xué)習(xí)目標(biāo) 學(xué)習(xí)方法 基本要求積極調(diào)整思維方式。理解概念多做練習(xí)。上課積極聽講,記錄重點(diǎn)、難點(diǎn)。按時(shí)、獨(dú)立完成作業(yè)。上機(jī)實(shí)習(xí)充分準(zhǔn)備,實(shí)習(xí)后認(rèn)真總結(jié)。理解計(jì)算機(jī)解題的思想和過程。2.學(xué)會(huì)使用C語言進(jìn)行簡單程序設(shè)計(jì)3.逐步形成良好的程序設(shè)計(jì)風(fēng)格??倢W(xué)時(shí)為60其中:上課/上機(jī)=30/303/55考核: 期末:筆試+上機(jī) 平時(shí):作業(yè)+出勤課程的安排3/55補(bǔ)充一點(diǎn):程序設(shè)計(jì)語言是國家對計(jì)算機(jī)能力檢測的重要內(nèi)容目錄第1章程序設(shè)計(jì)及C語言概況第2章C語言基礎(chǔ)第3章順序結(jié)構(gòu)第4章選擇結(jié)構(gòu)第5章循環(huán)結(jié)構(gòu)第6章函數(shù)第7章
編譯預(yù)處理第8章
數(shù)組第9章
指針第10章結(jié)構(gòu)體與共用體第11章位運(yùn)算第12章文件上機(jī)安排1.1程序設(shè)計(jì)的基本概念1.2算法1.3結(jié)構(gòu)化程序設(shè)計(jì)方法1.4c語言的初步知識(shí)本章小結(jié)及作業(yè)第1章程序設(shè)計(jì)及C語言概況#include"stdio.h"main(){floatr,s;r=3;s=3.14159*r*r;printf("s=%f",s);}1.程序和程序設(shè)計(jì)語言1.1程序設(shè)計(jì)的基本概念人們把這種計(jì)算機(jī)能夠識(shí)別并可以執(zhí)行的指令序列稱為程序。程序設(shè)計(jì)語言是計(jì)算機(jī)能夠理解和識(shí)別的語言。求圓的面積0000111111111111110001111111101111101010000000011111111111010110001110源程序目標(biāo)程序編譯解釋r=?S=3.14159*r*r程序設(shè)計(jì)
分析、理解問題解決方案(大致的思路),建立數(shù)學(xué)模型求解步驟和流程(算法)(文字、符號(hào)等的描述)使用程序設(shè)計(jì)語言編寫源程序運(yùn)行調(diào)試程序整理輸出結(jié)果,寫出相關(guān)文檔分析問題確定處理方案確定操作步驟編寫程序上機(jī)運(yùn)行程序整理結(jié)果圖1.1程序設(shè)計(jì)的一般過程back1.1程序設(shè)計(jì)的基本概念
1.算法及算法的特性
算法是對具體問題求解步驟的一種描述。
2.特性
①有窮性。②確定性。不會(huì)產(chǎn)生二義性。③可行性。算法中描述的操作在計(jì)算機(jī)上都是可實(shí)現(xiàn)的。④輸入。一個(gè)算法應(yīng)有零個(gè)或多個(gè)輸入。⑤輸出。一個(gè)算法應(yīng)有1個(gè)或多個(gè)輸入1.2算法3.算法的描述工具
(1)用自然語言表示算法
【例1.1】求兩個(gè)整數(shù)m與n的和步驟1:輸入整數(shù)n和m;步驟2:求和sum=m+n;步驟3:輸出兩數(shù)之和sum。N-S流程圖傳統(tǒng)流程圖(3)用偽代碼表示算法
(4)用程序設(shè)計(jì)語言表示算法(2)用流程圖表示算法1.2算法back程序的三種基本控制結(jié)構(gòu):①順序結(jié)構(gòu)步驟1:輸入整數(shù)n和m;步驟2:求和sum=m+n;步驟3:輸出兩數(shù)之和sum。圖1.3順序結(jié)構(gòu)AB(a)
(b)A
B
【例1.1】求兩個(gè)整數(shù)m與n的和輸入n和m求和sum=m+n
輸出sum【例1.1】算法1.3結(jié)構(gòu)化程序設(shè)計(jì)方法步驟1:輸入整數(shù)a和b;步驟2:判斷,如果a<b,則min=a,否則min=b;步驟3:輸出兩數(shù)中較小的數(shù)min。圖1.4選擇結(jié)構(gòu)假
真PAB(a)(b)P
真
假
A
B
【例1.2】求a、b兩個(gè)整數(shù)中較小的數(shù)。圖1.5【例1.2】算法輸入a,ba<b?YNmin=amin=b輸出min②選擇結(jié)構(gòu)③循環(huán)結(jié)構(gòu)圖1.6當(dāng)型循環(huán)結(jié)構(gòu)真假PA
(a)(b)A當(dāng)p為真圖1.7直到型循環(huán)結(jié)構(gòu)真假AP
(b)(a)直到P為假A步驟1:定義變量sum用來存放和值,并賦初值0;定義變量k,用來存放每一項(xiàng)的值,并賦初值1;步驟2:判斷k的值是否小于或等于100,如果是,則繼續(xù)執(zhí)行步驟3,否則轉(zhuǎn)到步驟5,退出循環(huán);步驟3:將sum與k的和賦給sum;步驟4:將k的值增1;返回步驟2重復(fù)執(zhí)行。步驟5:輸出和值sum?!纠?.3】計(jì)算1+2+3+4+…+100圖1.8【例1.3】算法sum=0,k=1k<=100?
sum=sum+kk=k+1輸出sum圖1.6當(dāng)型循環(huán)結(jié)構(gòu)真假PA(a)(b)A當(dāng)p為真三種基本控制結(jié)構(gòu)共有的特點(diǎn):有一個(gè)入口,有一個(gè)出口;結(jié)構(gòu)中每一部分都有被執(zhí)行到的機(jī)會(huì),也就是說,每一部分都有一條從入口到出口的路徑通過它(至少通過一次);沒有死循環(huán)(無終止的循環(huán))。順序結(jié)構(gòu)AB選擇結(jié)構(gòu)P真假AB當(dāng)型循環(huán)結(jié)構(gòu)A當(dāng)p為真直到型循環(huán)結(jié)構(gòu)直到P為假Aback(2).流行C語言編譯系統(tǒng) ①M(fèi)icrosoftC或稱MSC ②BorlandC
③TurboC ④QuickC
⑤Visualc++1.4C語言的初步知識(shí)(1).基于B語言,源于ALGOL60。
ALGOL60CPLBCPLB語言C語言(1960)(1963)(1967)(1970)(1972)ANSI標(biāo)準(zhǔn)1.C語言的起源與發(fā)展(1)語言簡潔、緊湊,使用方便、靈活。(2)支持結(jié)構(gòu)化程序設(shè)計(jì)。(3)運(yùn)算符豐富。(4)數(shù)據(jù)類型豐富。(5)較強(qiáng)的編譯預(yù)處理功能。(6)C語言的可移植性好。(7)C語言本身既有一般高級(jí)語言的優(yōu)點(diǎn),又有低級(jí)(匯編)語言的特點(diǎn)。(8)語法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大。
2.C語言的特點(diǎn)
3.C程序的構(gòu)成和書寫格式(1)C程序的構(gòu)成【例1.4】求兩個(gè)整數(shù)m與n的和。#include“stdio.h”main()/*主函數(shù)*/{intm,n,sum;/*定義變量m,n,sum*/m=5;n=3;/*給變量m,n賦值*/sum=m+n;/*求m+n的值,并賦給變量sum*/
printf(“sumis%d\n”,sum);
/*輸出sum的值*/}程序的運(yùn)行結(jié)果為:sumis8【例1.5】求兩個(gè)整數(shù)中的較小者#include“stdio.h”main()/*主函數(shù)*/{intx,y,m;/*定義變量*/
int
fun(inta,intb);/*函數(shù)的聲明*/
printf(“inputx,y:”);/*提示輸入數(shù)據(jù)*/
scanf("%d,%d",&x,&y);/*輸入變量x和y的值*/min=fun(x,y);/*調(diào)用fun函數(shù),將函數(shù)值賦給min*/
printf("min=%d\n",min);/*輸出min的值*/}int
fun(inta,intb)
/*定義fun函數(shù),值為整型,a,b為該函數(shù)的形式參數(shù)*/{intc;/*函數(shù)中用到的變量c也要定義*/
if(a<b)c=a;
elsec=b;
return(c);/*將c的值返回至調(diào)用處*/}(1)C程序的基本單位是==函數(shù)一個(gè)C程序包括:一個(gè)主函數(shù)main()和[若干個(gè)其它函數(shù)]
其它函數(shù)可以是庫函數(shù)或用戶函數(shù)(2)任何函數(shù)(包括主函數(shù)main())都是由函數(shù)說明和函數(shù)體兩部分組成。其一般結(jié)構(gòu)如下:[函數(shù)類型]函數(shù)名([參數(shù)表])/*函數(shù)說明部分*/{說明部分;執(zhí)行部分;/*函數(shù)體部分*/ }總結(jié):如,[例1.5]中的函數(shù)fun(),其函數(shù)說明各部分如下所示。函數(shù)類型函數(shù)名函數(shù)參數(shù)表↓↓↓
intfun(inta,intb)◆函數(shù)說明部分
[函數(shù)類型]函數(shù)名([函數(shù)參數(shù)表])
由函數(shù)類型(可缺省)、函數(shù)名和函數(shù)參數(shù)表(可缺省)三部分組成,其中函數(shù)參數(shù)表的格式為:
數(shù)據(jù)類型形參1[,數(shù)據(jù)類型形參2,……]◆函數(shù)體在函數(shù)說明部分的下面大括號(hào)(必須配對使用)內(nèi)的部分。函數(shù)體一般由說明語句和可執(zhí)行語句兩部分構(gòu)成:說明部分:
說明語句部分由變量定義、自定義類型定義、自定義函數(shù)說明、外部變量說明等組成。執(zhí)行部分:
一般由若干條可執(zhí)行語句構(gòu)成。int
fun(inta,intb)
/*定義fun函數(shù),值為整型,a,b為該函數(shù)的形式參數(shù)*/{intc;/*函數(shù)中用到的變量c也要定義*/
if(a<b)c=a;
elsec=b;
return(c);/*將c的值返回至調(diào)用處*/}(3)源程序書寫格式◆所有語句都必須以分號(hào)“;”結(jié)束?!舫绦蛐械臅鴮懜袷阶杂?,既允許1行內(nèi)寫幾條語句,也允許1條語句分寫在幾行上。
如: a=2;b=3; 與 a=2;
b=3; 等價(jià)◆允許使用
/*···*/對程序中任何部分作注釋?!?/p>
main()函數(shù)的位置隨意。程序總是從主函數(shù)開始執(zhí)行,而終止于主函數(shù)。#include"stdio.h"main(){intscore;
printf("Pleaseinputscore:");
scanf("%d",&score);
if(score>=85) {printf("A");
printf("\ngood!");}elseif(score>=60) {printf("B");
printf("\nworkhard"); }else {printf("C"); }}①程序:英文小寫字母(大寫字母習(xí)慣作為常量或其它用途)②程序中一般每一條語句占用一行。③不同層次的語句,從不同的起始位置開始。
(4)C程序的階梯式書寫格式編輯源程序(文件名.c)
裝配連接(文件名.exe)關(guān)鍵字?jǐn)?shù)據(jù)類型格式等等obj文件庫函數(shù)二進(jìn)制文件4.C語言程序的開發(fā)過程
編譯源程序(文件名.obj):目標(biāo)程序
執(zhí)行可執(zhí)行目標(biāo)程序,獲得運(yùn)行結(jié)果
使用文本編輯程序使用C語言編譯系統(tǒng)提供的編輯器back附加:VisualC++6.0集成環(huán)境1.啟動(dòng)VisualC++6.0環(huán)境2.編輯源程序文件3.編譯和連接4.執(zhí)行利用VisualC++6.0集成環(huán)境開發(fā)C程序的過程如下:附加:VisualC++6.0集成環(huán)境1.啟動(dòng)VisualC++6.0環(huán)境方法:單擊“開始”-“程序”-“MicrosoftVisualstudio6.0”-“MicrosoftVisualC++6.0”命令,啟動(dòng)VisualC++,VC6主窗口如下:菜單欄項(xiàng)目工作區(qū)標(biāo)題欄輸出區(qū)工具欄狀態(tài)欄文件編輯區(qū)附加:VisualC++6.0集成環(huán)境2.編輯源程序文件①單擊“文件”-“新建”,彈出“新建”對話框。②
選擇“工程”選項(xiàng)卡。單擊“Win32ConsoleApplication”選項(xiàng),在“工程名稱”文本框中輸入文件名,如工程1;“位置”文本框輸入或選擇存放位置D:\TEST;“平臺(tái)”文本框中選中復(fù)選框Win32;單擊“確定”按鈕,彈出“Win32ConsoleApplication-步驟1共1步”對話框。③在彈出的對話框中,顯示了4種項(xiàng)目類型,如圖所示,如選擇AnEmptyProject選項(xiàng),生成一個(gè)空白項(xiàng)目,然后單擊“完成”按鈕。④最后出現(xiàn)“新建工程信息”對話框,顯示要?jiǎng)?chuàng)建的新項(xiàng)目的基本信息,單擊“確定“按鈕。1)創(chuàng)建項(xiàng)目附加:VisualC++6.0集成環(huán)境2.編輯源程序文件①單擊“文件”-“新建”,彈出“新建”對話框。②
選擇“文件”選項(xiàng)卡。單擊“C++SourceFile”選項(xiàng),在“文件”文本框中輸入文件名(切記必須輸入擴(kuò)展名.c,否則創(chuàng)建的是.cpp文件),如11_1.c和“目錄”文本框輸入或選擇存放位置D:\TEST,單擊“確定”按鈕。系統(tǒng)自動(dòng)返回VC6主窗口。③顯示文件編輯區(qū)窗口,在文件編輯區(qū)窗口輸入源程序文件。必須輸入擴(kuò)展名.c1)創(chuàng)建和編輯C語言源程序文件附加:VisualC++6.0集成環(huán)境3.編譯和連接方法一:選擇主窗口菜單欄中“編譯”菜單項(xiàng);系統(tǒng)彈出下拉菜單,選擇“構(gòu)建”菜單命令。編譯編譯或組建編譯方法二:單擊主窗口編譯工具
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- YY/T 1860.1-2024無源外科植入物植入物涂層第1部分:通用要求
- 購房補(bǔ)充合同范本
- 城市垃圾處理站承包合同協(xié)議書
- 股權(quán)合伙合同協(xié)議
- 單位實(shí)習(xí)生勞動(dòng)合同范本
- 簡易短期借款合同文本
- 度工業(yè)用地使用權(quán)轉(zhuǎn)讓合同書
- 農(nóng)業(yè)技術(shù)合作協(xié)議合同范本
- 軟件租賃與服務(wù)合同
- 校園欺凌心理安全課件
- 同等學(xué)力英語申碩考試詞匯(第六版大綱)電子版
- 有機(jī)化學(xué)完整版本
- 銀行存管三方協(xié)議書
- 2024年新人教版化學(xué)九年級(jí)上冊全冊課件(新版教材)
- 教科版 二年級(jí)科學(xué)上冊第一單元第6課《不同的季節(jié)》同步練習(xí)(附答案解析)
- 山東省東營市2024年中考英語真題【附真題答案】
- 平安產(chǎn)險(xiǎn)產(chǎn)品定價(jià)模型優(yōu)化研究
- GB/T 12279.2-2024心血管植入器械人工心臟瓣膜第2部分:外科植入式人工心臟瓣膜
- JTG-3830-2018公路工程建設(shè)項(xiàng)目概算預(yù)算編制辦法
- 設(shè)備維護(hù)服務(wù)方案(2篇)
- 醫(yī)院檢驗(yàn)科實(shí)驗(yàn)室生物安全程序文件SOP
評(píng)論
0/150
提交評(píng)論