版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C語(yǔ)言程序設(shè)計(jì)課程簡(jiǎn)介C語(yǔ)言是理工科的一門(mén)基礎(chǔ)課程,其目標(biāo)是培養(yǎng)大家初步的編程思想,并通過(guò)學(xué)習(xí)C語(yǔ)言的語(yǔ)法,來(lái)實(shí)現(xiàn)控制計(jì)算機(jī)解決實(shí)際問(wèn)題,同時(shí)也培養(yǎng)大家的程序編寫(xiě)習(xí)慣。在學(xué)習(xí)的過(guò)程中,還初步培養(yǎng)大家的團(tuán)隊(duì)合作精神。學(xué)時(shí)安排總學(xué)時(shí):68學(xué)時(shí)周學(xué)時(shí):4學(xué)時(shí)課程類(lèi)型:必修課程考核要求考核方式:平時(shí)成績(jī)(40%)+期末考試(60%)平時(shí)成績(jī)組成:考勤40%,作業(yè)60要求:每堂課必須帶教材、筆、草稿紙主要參考書(shū)目參考資料:1、譚浩強(qiáng),《C程序設(shè)計(jì)》(第四版),清華大學(xué)出版社2、譚浩強(qiáng),《C程序設(shè)計(jì)試題匯編》(第三版),清華大學(xué)出版社3、全國(guó)計(jì)算機(jī)等級(jí)考試教程:《筆試模擬考場(chǎng)二級(jí)C》和《上機(jī)考試題庫(kù)》,電子科技大學(xué)出版社C語(yǔ)言的學(xué)習(xí)方法多讀多看別人寫(xiě)的程序,代碼量由小到大,初學(xué)時(shí)讀簡(jiǎn)單的程序,慢慢過(guò)渡到讀一些經(jīng)典的算法程序。關(guān)鍵是要邊讀邊理解別人解決問(wèn)題的思路,并記住這種思路。模仿讀完別人的程序后,模仿著寫(xiě)出同樣的程序。在模仿的過(guò)程中也是要根據(jù)你讀程序時(shí)理解到的思路來(lái)寫(xiě)程序。改寫(xiě)能夠比較熟練地模仿后,就可以自問(wèn)自答,“如果要加一個(gè)什么功能,我應(yīng)該怎么去編寫(xiě)程序?”、“如果要實(shí)現(xiàn)那個(gè)功能,應(yīng)該怎么做?”等,寫(xiě)完后進(jìn)行調(diào)試。編寫(xiě)根據(jù)所掌握的一些常見(jiàn)編程思路,獨(dú)立編寫(xiě)簡(jiǎn)單的程序,或者將幾個(gè)簡(jiǎn)單的功能通過(guò)某種方法組合到一個(gè)程序中。不斷地訓(xùn)練這種能力,就能夠?qū)懗鲈絹?lái)越復(fù)雜的程序了。第一章緒論本次課內(nèi)容:什么是程序?程序設(shè)計(jì)的一般過(guò)程算法及其描述方法簡(jiǎn)單C程序介紹C語(yǔ)言的特點(diǎn)C語(yǔ)言程序的基本構(gòu)成和程序的風(fēng)格C程序的上機(jī)過(guò)程1.1問(wèn)題求解與程序設(shè)計(jì)有問(wèn)題需要解決的人問(wèn)題是豐富多彩的人具有思維人可以解決問(wèn)題的計(jì)算機(jī)計(jì)算機(jī)只認(rèn)識(shí)0和1計(jì)算機(jī)沒(méi)有思維計(jì)算機(jī)人和計(jì)算機(jī)通過(guò)程序進(jìn)行溝通程序需要解決問(wèn)題的人沒(méi)有思維的計(jì)算機(jī)1.1問(wèn)題求解與程序設(shè)計(jì)程序與程序設(shè)計(jì)
程序是能夠?qū)崿F(xiàn)特定功能的指令序列的集合,這些指令序列描述了計(jì)算機(jī)求解某一問(wèn)題的工作步驟。
程序設(shè)計(jì)是給出解決特定問(wèn)題的程序的過(guò)程,是軟件構(gòu)造活動(dòng)中的重要組成部分。程序設(shè)計(jì)往往以某種程序設(shè)計(jì)語(yǔ)言為工具,給出這種語(yǔ)言下的程序。程序設(shè)計(jì)過(guò)程應(yīng)當(dāng)包括分析、設(shè)計(jì)、編碼、測(cè)試、排錯(cuò)等不同階段。
程序員:專(zhuān)業(yè)的程序設(shè)計(jì)人員稱(chēng)為程序員。程序設(shè)計(jì)的一般過(guò)程
1.1問(wèn)題求解與程序設(shè)計(jì)問(wèn)題算法程序想法抽象模型基本思路數(shù)據(jù)表示數(shù)據(jù)處理程序語(yǔ)言設(shè)計(jì)方法編程環(huán)境人(設(shè)計(jì)方案)計(jì)算機(jī)(執(zhí)行方案)1.2算法及其描述方法1.2.1算法及其特性1.2.2算法的描述方法1.2.1算法及其特性算法
對(duì)特定問(wèn)題的求解步驟的一種描述,是指令的有限序列。算法特性:算法必須滿(mǎn)足5個(gè)特性:有0個(gè)或多個(gè)輸入有1個(gè)或多個(gè)輸出有窮性:一個(gè)算法必須總是執(zhí)行有窮步之后結(jié)束(對(duì)任何合法的輸入),且每一步都在有窮時(shí)間內(nèi)完成。確定性:算法中的每一條指令必須有確切的含義,不存在二義性。并且,在任何條件下,對(duì)于相同的輸入只能得到相同的輸出??尚行裕核惴枋龅牟僮骺梢酝ㄟ^(guò)已經(jīng)實(shí)現(xiàn)的基本操作執(zhí)行有限次來(lái)實(shí)現(xiàn)。1.2.2算法的描述方法【問(wèn)題】求兩個(gè)自然數(shù)的最大公約數(shù)本題可以采用歐幾里德算法,即輾轉(zhuǎn)相除法算法的描述有以下三種常用方法:自然語(yǔ)言程序流程圖偽代碼算法的描述方法【問(wèn)題】求兩個(gè)自然數(shù)的最大公約數(shù)?!鞠敕ā吭O(shè)兩個(gè)自然數(shù)是m和n,歐幾里得算法的基本思想是將m和n輾轉(zhuǎn)相除法直到余數(shù)為0。例如:m=35,n=25,m除以n的余數(shù)用r表示,計(jì)算過(guò)程如下:被除數(shù)m除數(shù)n余數(shù)r352510251051050當(dāng)余數(shù)r為0時(shí),n就是所求的最大公約數(shù)。
算法的描述方法-自然語(yǔ)言步驟1:將m除以n得到余數(shù)r。步驟2:若r等于0,則n為最大公約數(shù),算法結(jié)束;否則執(zhí)行步驟3。步驟3:將n的值放在m中,將r的值放在n中,重新執(zhí)行步驟1。2.程序流程圖1.2算法及其描述方法–流程圖N開(kāi)始輸入m和n
r=m%nr=0m=n;n=r輸出n結(jié)束Y圖形符號(hào)名稱(chēng)含義起止框表示算法的開(kāi)始或結(jié)束處理框表示處理或運(yùn)算等功能輸入/輸出框表示進(jìn)行輸入/輸出操作判斷框根據(jù)給定的條件是否滿(mǎn)足決定執(zhí)行兩條路徑中的某一條路徑控制流表示算法執(zhí)行的路徑,箭頭代表方向1.2算法及其描述方法-偽代碼3.偽代碼S1.r=m%n;S2.
循環(huán)直到r=0
S2.1m=n;
S2.2n=r;
S2.3r=m%n;
S3.
輸出n;偽代碼介于自然語(yǔ)言和程序設(shè)計(jì)語(yǔ)言之間結(jié)構(gòu)、語(yǔ)句和控制成分處理和條件
1.2.2算法的描述方法例題1.1用偽代碼描述求解下列問(wèn)題的算法:(1)兩個(gè)瓶子A和B分別盛裝醬油和醋,要求將兩瓶的液體互換,即A瓶裝醋,B瓶裝醬油(2)將3個(gè)數(shù)由小到大排序例如C/C++程序:1.4程序設(shè)計(jì)語(yǔ)言的基本構(gòu)成基本符號(hào)單詞語(yǔ)句函數(shù)程序詞法規(guī)則語(yǔ)法規(guī)則功能邏輯有機(jī)組合類(lèi)比自然語(yǔ)言:基本符號(hào)——字母單詞——單詞語(yǔ)句——句子函數(shù)——段落程序——文章1.4.1基本字符集將一些特定的字符按照一定的規(guī)則進(jìn)行排列就組成了程序,這些特定的字符構(gòu)成了程序設(shè)計(jì)語(yǔ)言的基本字符集。C/C++語(yǔ)言的基本字符集包括:1.英文字母:包括26個(gè)大寫(xiě)英文字母A~Z和26個(gè)小寫(xiě)英文字符a~z;2.數(shù)字:包括0~9等10個(gè)數(shù)字;3.空白符:包括空格符、回車(chē)符、制表符;4.特殊字符:包括29個(gè)特殊字符。其他任何符號(hào)不允許出現(xiàn)在用這種程序設(shè)計(jì)語(yǔ)言編寫(xiě)的程序中breakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforifintlongreturnshortsignedstaticstructswitchtypedefunionunsignedvoidwhile1.4程序設(shè)計(jì)語(yǔ)言的基本構(gòu)成詞法單位程序設(shè)計(jì)語(yǔ)言的詞法單位也稱(chēng)為單詞,是由基本字符集中的字符根據(jù)詞法規(guī)則組合而成的。程序設(shè)計(jì)語(yǔ)言中基本的單詞有關(guān)鍵字、標(biāo)識(shí)符、運(yùn)算符、分隔符等四種。1.關(guān)鍵字關(guān)鍵字(也稱(chēng)保留字)是程序設(shè)計(jì)語(yǔ)言預(yù)先聲明的單詞,關(guān)鍵字的拼寫(xiě)是固定的,具有特殊的含義和作用。C/C++語(yǔ)言的常用關(guān)鍵字如表詞法單位1.4程序設(shè)計(jì)語(yǔ)言的基本構(gòu)成2.標(biāo)識(shí)符標(biāo)識(shí)符是編程人員聲明的單詞,用來(lái)表示各種程序?qū)ο螅ㄈ缱兞?、?lèi)型、函數(shù)、文件等)的名字。不同的程序設(shè)計(jì)語(yǔ)言對(duì)于標(biāo)識(shí)符的構(gòu)成遵循不同的規(guī)則,C/C++語(yǔ)言中標(biāo)識(shí)符的構(gòu)成規(guī)則如下:(1)以字母(大寫(xiě)或小寫(xiě))或下劃線“_”開(kāi)始;(2)可以由字母(大寫(xiě)或小寫(xiě))、下劃線“_”或數(shù)字(0~9)組成;(3)大寫(xiě)字母和小寫(xiě)字母代表不同的標(biāo)識(shí)符;標(biāo)識(shí)符的命名規(guī)則1、以下選項(xiàng)中合法的用戶(hù)標(biāo)識(shí)符是A)LongB)_2TestC)3DmaxD)A.dat2、以下有4組用戶(hù)標(biāo)識(shí)符,其中合法的一組是A)For-subCaseB)4dDOSizeC)f2_G3IFSizeD)WORDvoiddefineABC詞法單位1.4程序設(shè)計(jì)語(yǔ)言的基本構(gòu)成3.運(yùn)算符運(yùn)算符是程序設(shè)計(jì)語(yǔ)言預(yù)先規(guī)定的操作符,用于實(shí)現(xiàn)特定的算術(shù)運(yùn)算或邏輯運(yùn)算。C/C++語(yǔ)言提供了非常豐富的運(yùn)算符,包括算術(shù)運(yùn)算符、賦值運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符等。+-*/%=+=-=*=/=%=&|!~.^++--<<<<<<=<<=<=<===!=&=|=^=&&||<<?-<C/C++語(yǔ)言的運(yùn)算符1.4.3語(yǔ)法單位表達(dá)式:由運(yùn)算符、運(yùn)算對(duì)象(也稱(chēng)操作數(shù))和圓括號(hào)組成,能夠?qū)?shù)據(jù)進(jìn)行各種運(yùn)算處理。將代數(shù)式寫(xiě)成C語(yǔ)言表達(dá)式:程序設(shè)計(jì)語(yǔ)言的語(yǔ)法單位是由單詞根據(jù)語(yǔ)法規(guī)則構(gòu)成的。最常見(jiàn)的語(yǔ)法單位是表達(dá)式和語(yǔ)句,是構(gòu)成程序的基本成分。1.4.3語(yǔ)法單位語(yǔ)句:是描述動(dòng)作的基本單位,用來(lái)向計(jì)算機(jī)系統(tǒng)發(fā)出操作指令。程序的功能就是通過(guò)一系列語(yǔ)句來(lái)實(shí)現(xiàn)的。模塊:是能夠完成某種功能并可重復(fù)執(zhí)行的一段程序。程序1.4程序設(shè)計(jì)語(yǔ)言的基本構(gòu)成一個(gè)程序可以是非常簡(jiǎn)單的,也可以是特別復(fù)雜的,這取決于程序所要實(shí)現(xiàn)的功能和具體的程序設(shè)計(jì)語(yǔ)言。任何一種程序設(shè)計(jì)語(yǔ)言對(duì)于程序的構(gòu)成都有具體的規(guī)定,程序必須嚴(yán)格按照該語(yǔ)言規(guī)定的語(yǔ)法和表達(dá)方式編寫(xiě)。第1部分:預(yù)處理命令數(shù)據(jù)類(lèi)型定義或全局變量定義函數(shù)聲明第2部分:主函數(shù)第3部分:其他函數(shù)定義C程序格式和結(jié)構(gòu)特點(diǎn)/*example1.1ThefirstCProgram*/#include<stdio.h<main(){printf(“Hello,World!”);//每條語(yǔ)句分號(hào)結(jié)束}注釋編譯預(yù)處理主函數(shù)語(yǔ)句輸出:Hello,World!例1.1第一個(gè)程序:屏幕上輸出:Hello,World!例1.2/*example1.2calculatethesumofaandb*/#include<stdio.h</*Thisisthemainprogram*/main()//主函數(shù){inta,b,sum;//定義變量a=10;b=24;//一行可以書(shū)寫(xiě)多條語(yǔ)句
sum=add(a,b);//調(diào)用函數(shù)printf(“sum=%d\n”,sum);//輸出}/*Thisfunctioncalculatesthesumofxandy*/intadd(intx,inty)//用戶(hù)自定義函數(shù){intz;z=x+y;return(z);}運(yùn)行結(jié)果:sum=34函數(shù)預(yù)處理命令注釋函數(shù)與主函數(shù)程序由一個(gè)或多個(gè)函數(shù)組成必須有且只能有一個(gè)主函數(shù)main()程序執(zhí)行從main開(kāi)始,在main中結(jié)束,其它函數(shù)通過(guò)嵌套調(diào)用得以執(zhí)行。程序語(yǔ)句C程序由語(yǔ)句組成。一行可以寫(xiě)多條語(yǔ)句,一條語(yǔ)句也可以分寫(xiě)在多行上用“;”作為語(yǔ)句終止符注釋塊注釋?zhuān)?**/為注釋行注釋?zhuān)?/C程序結(jié)構(gòu)特點(diǎn)#include<*.h<main(){
變量定義;數(shù)據(jù)輸入;計(jì)算;數(shù)據(jù)輸出;}#include<*.h<intmain(){
變量定義;數(shù)據(jù)輸入;計(jì)算;數(shù)據(jù)輸出;return0;}c程序結(jié)構(gòu)://************************************************//*程序:example1.cpp*//*功能:求兩個(gè)整數(shù)的和
*//*作者:劉莉*//*時(shí)間:2010年12月20日*//************************************************#include<stdio.h<//預(yù)編譯命令intmain()//主函數(shù){intx,y,z;//定義變量
printf(“請(qǐng)輸入兩個(gè)整數(shù):”);//
提示信息
scanf(“%d%d”,&x,&y);//輸入數(shù)據(jù)z=x+y;//處理數(shù)據(jù)printf(“這兩個(gè)整數(shù)的和是:%d\n”,z);//輸出結(jié)果return0;}
//主函數(shù)結(jié)束示例:計(jì)算兩個(gè)整數(shù)的和1.5程序的上機(jī)環(huán)境1編程環(huán)境2上機(jī)步驟3調(diào)試打開(kāi)文件菜單輸入新建文件
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)產(chǎn)品種植技術(shù)考核試卷
- 體育經(jīng)紀(jì)人職業(yè)生涯規(guī)劃方法探討與分析報(bào)告總結(jié)與展望考核試卷
- 2025年建筑施工短期雇傭合同3篇
- 二零二五年度出國(guó)勞務(wù)派遣安全防護(hù)及應(yīng)急預(yù)案合同3篇
- 全面風(fēng)險(xiǎn)管理導(dǎo)向下A商業(yè)銀行內(nèi)部審計(jì)評(píng)價(jià)指標(biāo)體系優(yōu)化研究
- 基于電感測(cè)微儀的機(jī)床傳動(dòng)誤差檢測(cè)方法及系統(tǒng)研究
- 基于車(chē)輛狀態(tài)估計(jì)的電動(dòng)汽車(chē)橫縱向穩(wěn)定性控制研究
- 2025年房產(chǎn)抵押與反抵押合同3篇
- 計(jì)及風(fēng)電不確定性的統(tǒng)一潮流控制器優(yōu)化配置研究
- 2025年度土地承包經(jīng)營(yíng)權(quán)登記代理服務(wù)合同2篇
- 小兒甲型流感護(hù)理查房
- 霧化吸入療法合理用藥專(zhuān)家共識(shí)(2024版)解讀
- 寒假作業(yè)(試題)2024-2025學(xué)年五年級(jí)上冊(cè)數(shù)學(xué) 人教版(十二)
- 銀行信息安全保密培訓(xùn)
- 市政道路工程交通疏解施工方案
- 2024年部編版初中七年級(jí)上冊(cè)歷史:部分練習(xí)題含答案
- 拆遷評(píng)估機(jī)構(gòu)選定方案
- 床旁超聲監(jiān)測(cè)胃殘余量
- 上海市松江區(qū)市級(jí)名校2025屆數(shù)學(xué)高一上期末達(dá)標(biāo)檢測(cè)試題含解析
- 綜合實(shí)踐活動(dòng)教案三上
- 《新能源汽車(chē)電氣設(shè)備構(gòu)造與維修》項(xiàng)目三 新能源汽車(chē)照明與信號(hào)系統(tǒng)檢修
評(píng)論
0/150
提交評(píng)論