眾賞文庫(kù)
全部分類
  • 抗擊疫情 >
    抗擊疫情
    病毒認(rèn)知 防護(hù)手冊(cè) 復(fù)工復(fù)產(chǎn) 應(yīng)急預(yù)案 防控方案 英雄事跡 院務(wù)工作
  • 成品畢設(shè) >
    成品畢設(shè)
    外文翻譯 畢業(yè)設(shè)計(jì) 畢業(yè)論文 開題報(bào)告 文獻(xiàn)綜述 任務(wù)書 課程設(shè)計(jì) 相關(guān)資料 大學(xué)生活 期刊論文 實(shí)習(xí)報(bào)告
  • 項(xiàng)目策劃 >
    項(xiàng)目策劃
    土地準(zhǔn)備 規(guī)劃設(shè)計(jì) 開工開盤 項(xiàng)目綜合 竣工移交 售后移交 智慧方案 安全專項(xiàng) 環(huán)境影響評(píng)估報(bào)告 可行性研究報(bào)告 項(xiàng)目建議書 商業(yè)計(jì)劃書 危害評(píng)估防治 招投標(biāo)文件
  • 專業(yè)資料 >
    專業(yè)資料
    人文法律 環(huán)境安全 食品科學(xué) 基礎(chǔ)建設(shè) 能源化工 農(nóng)林牧畜 綜合待分類 教育經(jīng)驗(yàn) 行政人力 企業(yè)管理 醫(yī)學(xué)衛(wèi)生 IT技術(shù) 土木建筑 考研專題 財(cái)會(huì)稅務(wù) 公路隧道 紡織服裝
  • 共享辦公 >
    共享辦公
    總結(jié)匯報(bào) 調(diào)研報(bào)告 工作計(jì)劃 述職報(bào)告 講話發(fā)言 心得體會(huì) 思想?yún)R報(bào) 事務(wù)文書 合同協(xié)議 活動(dòng)策劃 代理加盟 技術(shù)服務(wù) 求職簡(jiǎn)歷 辦公軟件 ppt模板 表格模板 融資協(xié)議 發(fā)言演講 黨團(tuán)工作 民主生活
  • 學(xué)術(shù)文檔 >
    學(xué)術(shù)文檔
    自然科學(xué) 生物科學(xué) 天文科學(xué) 醫(yī)學(xué)衛(wèi)生 工業(yè)技術(shù) 航空、航天 環(huán)境科學(xué)、安全科學(xué) 軍事 政學(xué) 文化、科學(xué)、教育、 交通運(yùn)輸 經(jīng)濟(jì) 語(yǔ)言、文字 文學(xué) 農(nóng)業(yè)科學(xué) 社會(huì)科學(xué)總論 藝術(shù) 歷史、地理 哲學(xué) 數(shù)理科學(xué)和化學(xué) 綜合性圖書 哲學(xué)宗教
  • 經(jīng)營(yíng)營(yíng)銷 >
    經(jīng)營(yíng)營(yíng)銷
    綜合文檔 經(jīng)濟(jì)財(cái)稅 人力資源 運(yùn)營(yíng)管理 企業(yè)管理 內(nèi)控風(fēng)控 地產(chǎn)策劃
  • 教學(xué)課件 >
    教學(xué)課件
    幼兒教育 小學(xué)教育 初中教育 高中教育 職業(yè)教育 成人教育 高等教育 考研資源 試題真題 作業(yè)習(xí)題 課后答案 綜合教學(xué)
  • 土木建筑 >
    土木建筑
    專項(xiàng)施工 應(yīng)急預(yù)案 建筑規(guī)范 工藝方案 技術(shù)交底 施工表格 圖片圖集
  • 課程導(dǎo)學(xué) >
    課程導(dǎo)學(xué)
    醫(yī)學(xué)綜合 中醫(yī)養(yǎng)生 醫(yī)學(xué)研究 身心發(fā)展 醫(yī)學(xué)試題 影像醫(yī)學(xué) 醫(yī)院辦公 外科醫(yī)學(xué) 老年醫(yī)學(xué) 內(nèi)科醫(yī)學(xué) 婦產(chǎn)科 神經(jīng)科 醫(yī)學(xué)課件 眼鼻喉科 皮膚病科 腫瘤科 兒科醫(yī)學(xué) 康復(fù)醫(yī)學(xué) 全科醫(yī)學(xué) 護(hù)理學(xué)科 針灸學(xué)科 重癥學(xué)科 病毒學(xué)科 獸醫(yī) 藥學(xué)
  • C#語(yǔ)言 (共3017 份)
  • 用時(shí):228ms
    • 簡(jiǎn)介:1616循環(huán)的嵌套循環(huán)的嵌套一個(gè)循環(huán)體內(nèi)又包含另一個(gè)完整的循環(huán)結(jié)構(gòu)稱為循環(huán)的嵌套。內(nèi)嵌的循環(huán)中還可以嵌套循環(huán),這就是多層循環(huán)。QVZ9NNLYN三種循環(huán)WHILE循環(huán)、DOWHILE循環(huán)和F循環(huán)可以互相嵌套。I4U0N7_GX下面幾種都是合法的形式4WU4D_OO1717幾種循環(huán)的比較幾種循環(huán)的比較1四種循環(huán)都可以用來處理同一問題,一般情況下它們可以互相代替。但一般不提倡用GOTO型循環(huán)。2在WHILE循環(huán)和DOWHILE循環(huán)中,只在WHILE后面的括號(hào)內(nèi)指定循環(huán)條件,因此為了使循環(huán)能正常結(jié)束,應(yīng)在循環(huán)體中包含使循環(huán)趨于結(jié)束的語(yǔ)句如I,或II1等。F循環(huán)可以在表達(dá)式3中包含使循環(huán)趨于結(jié)束的操作,甚至可以將循環(huán)體中的操作全部放到表達(dá)式3中。因此F語(yǔ)句的功能更強(qiáng),凡用WHILE循環(huán)能完成的,用F循環(huán)都能實(shí)現(xiàn)。D9YW5F573用WHILE和DOWHILE循環(huán)時(shí),循環(huán)變量初始化的操作應(yīng)在WHILE和DOWHILE語(yǔ)句之前完成。而F語(yǔ)句可以在表達(dá)式1中實(shí)現(xiàn)循環(huán)變量的初始化。J1P3G0WH4WHILE循環(huán)、DOWHILE循環(huán)和F循環(huán),可以用BREAK語(yǔ)句跳出循環(huán),用CONTINUE語(yǔ)句結(jié)束本次循環(huán)BREAK語(yǔ)句和CONTINUE語(yǔ)句見下節(jié)。而對(duì)用GOTO語(yǔ)句和IF語(yǔ)句構(gòu)成的循環(huán),不能用BREAK語(yǔ)句和CONTINUE語(yǔ)句進(jìn)行控制“TKAZ5W2KN0T1818BREAKBREAK語(yǔ)句和語(yǔ)句和CONTINUECONTINUE語(yǔ)句語(yǔ)句XMA8KJBR1U一般形式BREAK4_PE0MQ72L6KD注意注意BREAKBREAK語(yǔ)句不能用于循環(huán)語(yǔ)句和語(yǔ)句不能用于循環(huán)語(yǔ)句和SWITCHSWITCH語(yǔ)句之外的任何其他語(yǔ)句中。語(yǔ)句之外的任何其他語(yǔ)句中。0IYSY2FR1R100BREAK67IFN308CONTINUE9PRINTF“D″,N1011復(fù)制代碼說明當(dāng)N能被3整除時(shí),執(zhí)行CONTINUE語(yǔ)句,結(jié)束本次循環(huán)即跳過PRINTF函數(shù)語(yǔ)句,只有N不能被3整除時(shí)才執(zhí)行PRINTF函數(shù)。FMP2GK5UA0O31919程序舉例程序舉例YLN1M7S例66用Π4≈1131517公式求Π的近似值,直到某一項(xiàng)的絕對(duì)值小于為止。GXDE0YFP?QNS結(jié)構(gòu)化流程圖表示算法9RR7CMXY7V例17求FIBONACCI數(shù)列前40個(gè)數(shù)。1INCLUDE2VOIDMAIN34LONGINTF1,F(xiàn)25INTI6F11F217FI1I20I89PRINTF″LDLD″,F(xiàn)1,F(xiàn)210IFI2011PRINTF″N″12F1F1F213F2F2F11415復(fù)制代碼
      下載積分: 6 賞幣
      上傳時(shí)間:2024-03-10
      頁(yè)數(shù): 6
      6人已閱讀
      ( 4 星級(jí))
    • 簡(jiǎn)介:自定義數(shù)據(jù)類型自定義數(shù)據(jù)類型結(jié)構(gòu)體結(jié)構(gòu)體結(jié)構(gòu)體是程序員在程序中自定義的一種數(shù)據(jù)類型,在說明和使用之前必須先定義它,也就是構(gòu)造它。定義一個(gè)結(jié)構(gòu)體的語(yǔ)法格式如下STRUCT結(jié)構(gòu)體類型名成員1的數(shù)據(jù)類型名成員1名稱;成員2的數(shù)據(jù)類型名成員2名稱;成員N的數(shù)據(jù)類型名成員N名稱;結(jié)構(gòu)體變量表成員初始化;注意成員可以由若干個(gè)不同的數(shù)據(jù)類型組成,每個(gè)成員也可以是結(jié)構(gòu)體,即可以嵌套定義。例如STRUCTSTUDENTLONGNUMNAMESEXFLOATSCE已經(jīng)定義的某種結(jié)構(gòu)體類型可以視為一種標(biāo)準(zhǔn)的數(shù)據(jù)類型,它的使用方法與標(biāo)準(zhǔn)數(shù)據(jù)類型使用方法相同,可以用來定義變量、數(shù)組、指針。結(jié)構(gòu)體變量說明結(jié)構(gòu)體變量說明結(jié)構(gòu)體變量的說明在程序的變量說明部分給出,一般在結(jié)構(gòu)定義之后,它的語(yǔ)法格式如下STRUCT結(jié)構(gòu)類型名結(jié)構(gòu)變量名表;例如STRUCTSTUDENTSTU;指出了結(jié)構(gòu)變量STU是STUDENT類型的變量,它由四個(gè)成員組成,每個(gè)成員的數(shù)據(jù)類型和名字都與STUDENT結(jié)構(gòu)定義中給出的相同。系統(tǒng)完全按照結(jié)構(gòu)定義時(shí)制定的內(nèi)存模式為結(jié)構(gòu)變量分配內(nèi)存空間??梢栽诙x結(jié)構(gòu)體類型的同時(shí)給出結(jié)構(gòu)體變量。STRUCTSTUDENTLONGNUMCHANAME20CHASEXFLOATSCESTU1STU2這種形式與前面給出的結(jié)構(gòu)定義和結(jié)構(gòu)說明分開處理效果相同。三種訪問結(jié)構(gòu)體成員的方式結(jié)構(gòu)變量。成員名(結(jié)構(gòu)指針變量)。成員名結(jié)構(gòu)指針變量成員名結(jié)構(gòu)體與數(shù)組結(jié)構(gòu)體與數(shù)組相同結(jié)構(gòu)的結(jié)構(gòu)體變量組成的數(shù)組,簡(jiǎn)稱結(jié)構(gòu)數(shù)組。STRUCTSTUDENTLONGNUMNAME20SEXSTRUCTBIRTHDAYBIRFLOATSCESTUDENTS35上面定義了一個(gè)結(jié)構(gòu)數(shù)組STUDENTS,共35個(gè)元素,STUDENTS0STUDENTS34。每個(gè)數(shù)組元素都具有STRUCTSTUDENT的結(jié)構(gòu)形式,用來描述一個(gè)學(xué)生的相關(guān)信息。結(jié)構(gòu)數(shù)組名STUDENTS表示該數(shù)組存儲(chǔ)的首地址。結(jié)構(gòu)數(shù)組在說明的同時(shí)也可以對(duì)它進(jìn)行初始化賦值。語(yǔ)法格式如下STRUCT結(jié)構(gòu)體名結(jié)構(gòu)數(shù)組名數(shù)組長(zhǎng)度初始數(shù)據(jù);與其他數(shù)組一樣,結(jié)構(gòu)體數(shù)組的元素也可以用指針來引用。但指針應(yīng)說明為數(shù)組元素類型的指針,并將數(shù)組名或者數(shù)組的第0個(gè)元素的地址賦給指針變量。引用上述結(jié)構(gòu)體數(shù)組STUDENTS元素的指針變量說明如下STRUCTSTUDENTPSTUDENTS;或者STRUCTSTUDENTP則P為指向結(jié)構(gòu)數(shù)組的指針變量,且P指向該結(jié)構(gòu)數(shù)組的0號(hào)元素,P1指向1號(hào)元素,PI指向第I號(hào)元素。PNUM或PNUM表示引用STUDENTS0NUMPNUM或PNUM表示引用STUDENTS1NUMC語(yǔ)言中規(guī)定,定義某個(gè)結(jié)構(gòu)體時(shí),其成員的類型可以是該結(jié)構(gòu)體本身,但是這個(gè)成員只能是指針變量或指針數(shù)組,不能使普通變量或數(shù)組。結(jié)構(gòu)體與函數(shù)結(jié)構(gòu)體與函數(shù)結(jié)構(gòu)體作為函數(shù)的參數(shù)可以采用三種方式進(jìn)行傳遞將結(jié)構(gòu)體成員作為單獨(dú)的參數(shù)傳遞給函數(shù);
      下載積分: 6 賞幣
      上傳時(shí)間:2024-03-14
      頁(yè)數(shù): 6
      13人已閱讀
      ( 4 星級(jí))
    • 簡(jiǎn)介:創(chuàng)建完整的示例VISUALC項(xiàng)目1創(chuàng)建一個(gè)名為CEXCELDATA的新文件夾。示例程序?qū)⒃诖宋募A中存儲(chǔ)EXCEL工作簿。2創(chuàng)建一個(gè)新工作簿,以供示例向其中寫入數(shù)據(jù)A在EXCEL中啟動(dòng)一個(gè)新工作簿。B在新工作簿的SHEET1上,在單元格A1中鍵入FIRSTNAME,在單元格B1中鍵入LASTNAME。C選擇A1B1。D在“插入”菜單上,指向“名稱”,然后單擊“定義”。鍵入名稱MYTABLE,然后單擊“確定”。E將該工作簿另存為CEXCELDATABOOK7XLS。F退出EXCEL。3啟動(dòng)MICROSOFTVISUALSTUDIO2005或MICROSOFTVISUALSTUDIO。在“文件”菜單上,指向“新建”,然后單擊“項(xiàng)目”。在“VISUALC項(xiàng)目”或“VISUALC”下,選擇“WINDOWS應(yīng)用程序”。默認(rèn)情況下會(huì)創(chuàng)建FM1。4添加對(duì)EXCEL對(duì)象庫(kù)和ADODB主互操作程序集的引用。為此,請(qǐng)按照下列步驟操作A在“項(xiàng)目”菜單上,單擊“添加引用”。B在“”選項(xiàng)卡上,找到“ADODB”,然后單擊“選擇”。注意在VISUALSTUDIO2005中,您不需要單擊“選擇”。10111213PRIVATEVOIDBUTTON1_CLICKOBJECTSENDERSYSTEMEVENTARGSE141516替換為EXCELOBJECTREFERENCESPRIVATEEXCELAPPLICATIONM_OBJEXCELNULLPRIVATEEXCELWKBOOKSM_OBJBOOKSNULLPRIVATEEXCEL_WKBOOKM_OBJBOOKNULLPRIVATEEXCELSHEETSM_OBJSHEETSNULLPRIVATEEXCEL_WKSHEETM_OBJSHEETNULLPRIVATEEXCELRANGEM_OBJRANGENULLPRIVATEEXCELFONTM_OBJFONTNULLPRIVATEEXCELQUERYTABLESM_OBJQRYTABLESNULLPRIVATEEXCEL_QUERYTABLEM_OBJQRYTABLENULLFREQUENTYUSEDVARIABLEFOPTIONALARGUMENTSPRIVATEOBJECTM_OBJOPTSYSTEMREFLECTIONMISSINGVALUEPATHSUSEDBYTHESAMPLECODEFACCESSINGSTINGDATAPRIVATEOBJECTM_STRSAMPLEFOLDER“CEXCELDATA“PRIVATESTRINGM_STRNTHWIND“CPROGRAMFILESMICROSOFTOFFICEOFFICE10SAMPLESNTHWINDMDB“PRIVATEVOIDFM1_LOADOBJECTSENDERSYSTEMEVENTARGSECOMBOBOX1DOWNSTYLECOMBOBOXSTYLEDOWNLISTCOMBOBOX1ITEMSADDRANGENEWOBJECT“USEAUTOMATIONTOTRANSFERDATACELLBYCELL“
      下載積分: 6 賞幣
      上傳時(shí)間:2024-03-15
      頁(yè)數(shù): 15
      8人已閱讀
      ( 4 星級(jí))
    • 簡(jiǎn)介:“C語(yǔ)言程序設(shè)計(jì)語(yǔ)言程序設(shè)計(jì)B”指導(dǎo)書指導(dǎo)書(第(第2版)版)北京航空航天大學(xué)北京航空航天大學(xué)機(jī)械工程及自動(dòng)化學(xué)院機(jī)械工程及自動(dòng)化學(xué)院2012081課程總體目標(biāo)課程總體目標(biāo)經(jīng)過本門課程的大量上機(jī)實(shí)踐,使得學(xué)生能夠掌握C語(yǔ)言編程解決實(shí)際問題的能力。采用課堂講授、知識(shí)點(diǎn)單項(xiàng)上機(jī)練習(xí)、基于項(xiàng)目的大作業(yè)課后綜合上機(jī)實(shí)踐相結(jié)合的方式,以切實(shí)提高學(xué)生的實(shí)踐能力,為后續(xù)軟件技術(shù)基礎(chǔ)等課程奠定堅(jiān)實(shí)基礎(chǔ)。
      下載積分: 6 賞幣
      上傳時(shí)間:2024-03-16
      頁(yè)數(shù): 24
      13人已閱讀
      ( 4 星級(jí))
    • 簡(jiǎn)介:C如何獲取其他程序LISTVIEW控件中的內(nèi)容含源碼分類C代碼片段2014032510531099人閱讀評(píng)論1收藏舉報(bào)源碼下載地址源碼下載地址點(diǎn)擊打開鏈接點(diǎn)擊打開鏈接需求需求獲取其他程序中的LISTVIEW控件的文本內(nèi)容原理原理進(jìn)程之間是相互隔離的,數(shù)據(jù)是不能共享的(有些特例)LVM_GETTITEMTEXT將一個(gè)數(shù)據(jù)緩沖區(qū)提供給LISTVIEW32控件,你不能把你的進(jìn)程的數(shù)據(jù)緩沖提供給另外的程序,所以要用OPENPROCESS打開“任務(wù)管理器”進(jìn)程然后在“任務(wù)管理器進(jìn)程”中申請(qǐng)足夠長(zhǎng)度的內(nèi)存VIRUALALLOCEX,將這個(gè)內(nèi)存地址提供給LISTVIEW32使用SENDMESSAGE發(fā)送LVM_GETTITEMTEXT消息待SENDMESSAGE返回后用READPROCESSMEMY讀取這段內(nèi)存的數(shù)據(jù),即LISTVIEW控件的文本內(nèi)容API函數(shù)函數(shù)FINDWINDOW查找窗口FINDWINDOWEX在窗口列表中尋找與指定條件相符的第一個(gè)子窗口SENDMESSAGEGETWINDOWTHREADPROCESSID找出某個(gè)窗口的創(chuàng)建者線程或進(jìn)程返回創(chuàng)建者的標(biāo)志符OPENPROCESS打開一個(gè)已存在的進(jìn)程對(duì)象并返回進(jìn)程的句柄VIRTUALALLOCEX為指定的進(jìn)程分配內(nèi)存地址成功則返回分配內(nèi)存的首地址READPROCESSMEMY從指定內(nèi)存中讀取字節(jié)集數(shù)據(jù)WRITEPROCESSMEMY將數(shù)據(jù)寫入內(nèi)存中CLOSEHLEVIRTUALFREEEX在其它進(jìn)程中釋放申請(qǐng)的虛擬內(nèi)存空間USINGSYSTEMTHREADINGTASKSUSINGSYSTEMWINDOWSFMSUSINGSYSTEMRUNTIMEINTEROPSERVICESNAMESPACE讀取其他軟件LISTVIEW控件的內(nèi)容PUBLICPARTIALCLASSFM1FMINTHWND窗口句柄INTPROCESS進(jìn)程句柄INTPOINTERPRIVATECONSTUINTLVM_FIRST0X1000PRIVATECONSTUINTLVM_GETHEADERLVM_FIRST31PRIVATECONSTUINTLVM_GETITEMCOUNTLVM_FIRST4獲取列表行數(shù)PRIVATECONSTUINTLVM_GETITEMTEXTLVM_FIRST45獲取列表內(nèi)的內(nèi)容PRIVATECONSTUINTLVM_GETITEMWLVM_FIRST75
      下載積分: 6 賞幣
      上傳時(shí)間:2024-03-14
      頁(yè)數(shù): 18
      16人已閱讀
      ( 4 星級(jí))
    • 簡(jiǎn)介:C抽象類和接口的區(qū)別關(guān)系項(xiàng)目抽象類接口概念類是抽象了對(duì)象,抽象類是抽象了類,是抽象中的抽象更像一個(gè)規(guī)范,準(zhǔn)則,規(guī)定是否能被實(shí)例化否否是否被繼承可以可以繼承自一個(gè)類可以繼承自一個(gè)類(單繼承)一個(gè)類可以繼承自多個(gè)接口(多繼承)是否被實(shí)現(xiàn)如果包含抽象方法,抽象方法必須定義在抽象類里,只能聲明,不能被實(shí)現(xiàn),但其派生類必須實(shí)現(xiàn)其方法定義接口只能聲明,不能被實(shí)現(xiàn),但其派生類必須實(shí)現(xiàn)其方法抽象類主要用于關(guān)系密切的對(duì)象而接口適合為不相關(guān)的類提供通用功能抽象類里面可以有非抽象方法但接口里只能有抽象方法抽象類是對(duì)根源的抽象。抽象類表示的是,這個(gè)對(duì)象是什么。接口是對(duì)動(dòng)作的抽象接口表示的是,這個(gè)對(duì)象能做什么抽象類更多的是定義在一系列緊密相關(guān)的類間而接口大多數(shù)是關(guān)系疏松但都實(shí)現(xiàn)某一功能的類中抽象類是從一系列相關(guān)對(duì)象中抽象出來的概念,因此反映的是事物的內(nèi)部共性接口是為了滿足外部調(diào)用而定義的一個(gè)功能約定,因此反映的是事物的外部特性支持回調(diào)10盡量避免使用繼承來實(shí)現(xiàn)組建功能,而是使用黑箱復(fù)用,即對(duì)象組合。因?yàn)槔^承的層次增多,造成最直接的后果就是當(dāng)你調(diào)用這個(gè)類群中某一類,就必須把他們?nèi)考虞d到棧中后果可想而知(結(jié)合堆棧原理理解)。同時(shí),有心的朋友可以留意到微軟在構(gòu)建一個(gè)類時(shí),很多時(shí)候用到了對(duì)象組合的方法。比如中,PAGE類,有SERVERREQUEST等屬性,但其實(shí)他們都是某個(gè)類的對(duì)象。使用PAGE類的這個(gè)對(duì)象來調(diào)用另外的類的方法和屬性,這個(gè)是非?;镜囊粋€(gè)設(shè)計(jì)原則。11如果抽象類實(shí)現(xiàn)接口,則可以把接口中方法映射到抽象類中作為抽象方法而不必實(shí)現(xiàn),而在抽象類的子類中實(shí)現(xiàn)接口中方法四、抽象類和接口的使用1如果預(yù)計(jì)要?jiǎng)?chuàng)建組件的多個(gè)版本,則創(chuàng)建抽象類。抽象類提供簡(jiǎn)單的方法來控制組件版本。2如果創(chuàng)建的功能將在大范圍的全異對(duì)象間使用,則使用接口。如果要設(shè)計(jì)小而簡(jiǎn)練的功能塊,則使用接口。3如果要設(shè)計(jì)大的功能單元,則使用抽象類如果要在組件的所有實(shí)現(xiàn)間提供通用的已實(shí)現(xiàn)功能,則使用抽象類。4抽象類主要用于關(guān)系密切的對(duì)象;而接口適合為不相關(guān)的類提供通用功能。抽象類主要用于關(guān)系密切的對(duì)象;而接口適合為不相關(guān)的類提供通用功能。以下是我在網(wǎng)上看到的幾個(gè)形象比喻真的非常不錯(cuò)呵呵1飛機(jī)會(huì)飛,鳥會(huì)飛,他們都繼承了同一個(gè)接口“飛”;但是F22屬于飛機(jī)抽象類,鴿子屬于鳥抽象類。2就像鐵門木門都是門(抽象類),你想要個(gè)門我給不了(不能實(shí)例化),但我可以給你個(gè)具體的鐵門或木門(多態(tài));而且只能是門,你不能說它是窗(單繼承);一個(gè)門可以有鎖(接口)也可以有門鈴(多實(shí)現(xiàn))。門(抽象類)定義了你是什么,接口(鎖)規(guī)定了你能做什么(一個(gè)接口最好只能做一件事,你不能要求鎖也能發(fā)出聲音吧(接口污染))。
      下載積分: 5 賞幣
      上傳時(shí)間:2024-03-15
      頁(yè)數(shù): 3
      8人已閱讀
      ( 4 星級(jí))
    • 簡(jiǎn)介:項(xiàng)目四,項(xiàng)目要點(diǎn)數(shù)組的定義和使用數(shù)組的存儲(chǔ)結(jié)構(gòu)數(shù)組的輸入輸出字符串處理函數(shù)學(xué)習(xí)目標(biāo)使用數(shù)組處理同一類型的大批數(shù)據(jù)使用字符數(shù)組處理字符串使用二維數(shù)組處理字符串,C語(yǔ)言程序設(shè)計(jì),工作任務(wù)導(dǎo)入,工作任務(wù)一個(gè)班上50位學(xué)生參與考試,考了3門課程,現(xiàn)要求按總成績(jī)的高低輸出成績(jī)單引導(dǎo)問題1、課程的成績(jī)?nèi)绾未鎯?chǔ)2、學(xué)生信息如何存儲(chǔ)3、如何對(duì)成績(jī)進(jìn)行排序,任務(wù)1輸入/輸出多個(gè)學(xué)生一門課程的成績(jī),MAIN{INTI,X,S0FORI0I50I{SCANF“D”,SX}PRINTF“F\N”,S/500},只用了三個(gè)變量就解決了問題,但數(shù)據(jù)沒有保存。,如果需要把成績(jī)按從高到低的順序全部打印出來,怎么辦,計(jì)算50個(gè)學(xué)生成績(jī)的平均分,,任務(wù)1輸入/輸出多個(gè)學(xué)生一門課程的成績(jī),一維數(shù)組的定義,數(shù)據(jù)類型數(shù)組名常量表達(dá)式;,數(shù)組元素的數(shù)據(jù)類型,遵循C語(yǔ)言標(biāo)識(shí)符規(guī)則,數(shù)組長(zhǎng)度幾個(gè)數(shù)組元素,任務(wù)1輸入/輸出多個(gè)學(xué)生一門課程的成績(jī),411一維數(shù)組,例如INTA5;,說明常量表達(dá)式表示元素的個(gè)數(shù),即數(shù)組長(zhǎng)度。常量表達(dá)式中可以包括常量和符合常量,不能包含變量。,任務(wù)1輸入/輸出多個(gè)學(xué)生一門課程的成績(jī),411一維數(shù)組,INTI5INTAI/數(shù)組長(zhǎng)度為變量/,任務(wù)1輸入/輸出多個(gè)學(xué)生一門課程的成績(jī),411一維數(shù)組,以下對(duì)一維整型數(shù)組A的正確定義的是A、INTA10B、INTN10,ANC、INTNINTAND、DEFINESIZE10SCANF“D”,NINTASIZE,任務(wù)1輸入/輸出多個(gè)學(xué)生一門課程的成績(jī),412一維數(shù)組的引用,表示引用數(shù)組A中的第2個(gè)元素,數(shù)組名下標(biāo)表達(dá)式;,表示引用數(shù)組A中的第6個(gè)元素,表示引用數(shù)組A中的第16個(gè)元素,,,,若一個(gè)數(shù)組長(zhǎng)度為N,其下標(biāo)值范圍是0~N1,C語(yǔ)言規(guī)定只能逐個(gè)引用數(shù)組元素而不能一次引用整個(gè)數(shù)組。,任務(wù)1輸入/輸出多個(gè)學(xué)生一門課程的成績(jī),412一維數(shù)組的引用,輸入5個(gè)學(xué)生的數(shù)學(xué)成績(jī),計(jì)算平均分,將平均分輸出到屏幕上。VOIDMAIN{INTI,MATHSCORE5,SUM0FLOATAVERAGEFORI0I5I{SCANF“D“,}FORI0I5I{SUMSUMMATHSCOREI}AVERAGESUM/50PRINTF“F“,AVERAGE},數(shù)組元素的地址也是通過“修改為AVERAGESUM/5結(jié)果如何2、練習(xí)從鍵盤輸入5個(gè)學(xué)生的成績(jī),求出并輸出分?jǐn)?shù)最高的學(xué)生序號(hào)及最高成績(jī)。。,數(shù)組的賦值只能逐個(gè)對(duì)數(shù)組元素賦值,不能直接對(duì)數(shù)組名賦值。因數(shù)組在內(nèi)存占一片連續(xù)的存儲(chǔ)空間,可用循環(huán)語(yǔ)句處理數(shù)組。,任務(wù)1輸入/輸出多個(gè)學(xué)生一門課程的成績(jī),412一維數(shù)組的引用,(1)在定義數(shù)組時(shí),對(duì)全部數(shù)組元素賦初值此時(shí)可以省略數(shù)組的長(zhǎng)度,任務(wù)1輸入/輸出多個(gè)學(xué)生一門課程的成績(jī),413一維數(shù)組的初始化,C語(yǔ)言程序設(shè)計(jì),任務(wù)1輸入/輸出多個(gè)學(xué)生一門課程的成績(jī),413一維數(shù)組的初始化,(2)在定義數(shù)組時(shí),對(duì)部分?jǐn)?shù)組元素賦初值,C語(yǔ)言程序設(shè)計(jì),任務(wù)1輸入/輸出多個(gè)學(xué)生一門課程的成績(jī),413一維數(shù)組的初始化,(3)當(dāng)初值的個(gè)數(shù)多于數(shù)組元素的個(gè)數(shù)時(shí),編譯出錯(cuò),任務(wù)1輸入/輸出多個(gè)學(xué)生一門課程的成績(jī),412一維數(shù)組的引用,例用初始化方法,把10個(gè)學(xué)生的數(shù)學(xué)成績(jī)存儲(chǔ)在數(shù)組中,再?gòu)逆I盤輸入一個(gè)考分,查找該分?jǐn)?shù)是否在數(shù)組中,如果是,則輸出它是第幾名學(xué)生的成績(jī)。。VOIDMAIN{INTI,A10{56,65,76,68,92,37,87,51,73,48}INTFINDPRINTF“請(qǐng)輸入要查找的分?jǐn)?shù)\N“SCANF“D“,FORI0I10I{IFAIFIND/查找到了/{PRINTF“D“,I1BREAK}}},任務(wù)1輸入/輸出多個(gè)學(xué)生一門課程的成績(jī),413一維數(shù)組,練習(xí)一個(gè)班50位同學(xué)參加了一次C語(yǔ)言程序設(shè)計(jì)考試,現(xiàn)要輸入全班同學(xué)的成績(jī),并按逆序輸出。,任務(wù)2排序?qū)W生成績(jī),任務(wù)1中已經(jīng)輸入了50個(gè)同學(xué)的成績(jī)到數(shù)組中,現(xiàn)在需要確定如何對(duì)學(xué)生成績(jī)從低到高進(jìn)行排序。,,兩層循環(huán)結(jié)構(gòu)外層循環(huán)每次把操作范圍內(nèi)最大的數(shù)放到最后位置內(nèi)層循環(huán)每次把較大的數(shù)放到靠后的位置,任務(wù)2排序?qū)W生成績(jī),有數(shù)組A,其元素值為7、1、5、6、9、3,現(xiàn)要把該數(shù)組按從小到大的順序排列并輸出。,MAIN{INTA{7,1,5,6,9,3}INTI,J,TPRINTF“THESORTEDNEMBERS\N”FORI0I6IPRINTF“\N”,XI},FORI0IXJ1{TXJXJXJ1XJ1T},任務(wù)2排序?qū)W生成績(jī),任務(wù)2排序?qū)W生成績(jī),421冒泡法排序,1、上例中,如果要按從大到小的順序排序,該如何修改程序呢2、練習(xí)一個(gè)班50位同學(xué)參加了一次C語(yǔ)言程序設(shè)計(jì)考試,現(xiàn)要輸入全班同學(xué)的成績(jī),并按從低到高排序并輸出。,任務(wù)3處理多位學(xué)生多門課程的成績(jī),一個(gè)班上50位學(xué)生參與考試,考了3門課程,現(xiàn)要求按總成績(jī)的高低輸出成績(jī)單。如果僅僅使用一維數(shù)組進(jìn)行上述處理,是很困難的,此時(shí)需要使用二維數(shù)組。,X00X01X02X10X11X12,數(shù)據(jù)類型數(shù)組名常量表達(dá)式1常量表達(dá)式2;,,行,列,,INTA3,4,B3,4;INTC,D34,任務(wù)3處理多位學(xué)生多門課程的成績(jī),431二維數(shù)組,二維數(shù)組的定義,數(shù)組名行下標(biāo)列下標(biāo),A343A1,21,引用,/下標(biāo)越界/,/A121/,任務(wù)3處理多位學(xué)生多門課程的成績(jī),432二維數(shù)組的引用,任務(wù)3處理多位學(xué)生多門課程的成績(jī),練習(xí)輸入5個(gè)同學(xué)三門課程的成績(jī)并輸出,計(jì)算各門課的總分及平均分,并輸出。,432二維數(shù)組的引用,1分行對(duì)二維數(shù)組初始化,INTA23{{1,2,3},{4,5,6}}初始化后123456,任務(wù)3處理多位學(xué)生多門課程的成績(jī),433二維數(shù)組的初始化,INTA23{1,2,3,4,5,6}初始化后123456,2按數(shù)組排列的順序初始化,任務(wù)3處理多位學(xué)生多門課程的成績(jī),433二維數(shù)組的初始化,任務(wù)3處理多位學(xué)生多門課程的成績(jī),433二維數(shù)組的初始化,3對(duì)全部數(shù)組元素初始化,INTA3{1,2,3,4,5,6}初始化后123456,省略行號(hào),用二層循環(huán)語(yǔ)句處理數(shù)組,通常外循環(huán)控制行,內(nèi)循環(huán)控制列。,FOR(I0;I3I)FOR(J0;J4J)AIJIJ;,二維數(shù)組的賦值,0123234345,任務(wù)3處理多位學(xué)生多門課程的成績(jī),433二維數(shù)組的初始化,二維數(shù)組的輸入輸出,INTB34,I,JFORI0I3IFORJ0J4JSCANF“D”,FORI0I3IFORJ0J4JPRINTF“”,BIJ,任務(wù)3處理多位學(xué)生多門課程的成績(jī),433二維數(shù)組的初始化,任務(wù)3處理多位學(xué)生多門課程的成績(jī),練習(xí)用初始化方法,把5個(gè)同學(xué)三門課程成績(jī)存儲(chǔ)在二維數(shù)組中,計(jì)算每位同學(xué)的總成績(jī)和平均分,輸出總分最高的同學(xué)的總成績(jī)。,433二維數(shù)組初始化,練習(xí),下列程序有哪些錯(cuò)誤請(qǐng)解釋錯(cuò)誤原因。(1)MAIN{INTX,A10;FORX0;X10;XSCANF“D”,,任務(wù)4輸入/輸出學(xué)生,一個(gè)班上50位學(xué)生參與考試,需要輸入/輸出學(xué)生的姓名信息。這個(gè)任務(wù)需要解決多個(gè)字符的存放問題。,任務(wù)4輸入/輸出學(xué)生,441字符數(shù)組,CHAR數(shù)組名常量表達(dá)式;,二維字符數(shù)組,CHAR數(shù)組名常量表達(dá)式1常量表達(dá)式2;,一維字符數(shù)組STR,,,二維字符數(shù)組S1,1用字符常數(shù)初始化,CHARC{‘C’,’H’,’I’,’N’,’A’,’\0’}初始化后,任務(wù)4輸入/輸出學(xué)生,441字符數(shù)組,任務(wù)4輸入/輸出學(xué)生,441字符數(shù)組,CHARC{“CHINA”}CHARC“CHINA”初始化后,2直接用字符串常量初始化,任務(wù)4輸入/輸出學(xué)生,441字符數(shù)組,1用字符常數(shù)初始化,CHARLAN58{{‘B’,‘A’,‘S’,‘I’,‘C’,‘\0’},{‘F’,‘O’,‘R’,‘T’,‘R’,‘A’,‘N’,‘\0’},{‘P’,‘A’,‘S’,‘C’,‘A’,‘L’,‘\0’},{‘C’,‘\0’},{‘J’,‘A’,‘V’,‘A’,‘\0’}},二維字符數(shù)組的初始化,每行存放一個(gè)字符串,任務(wù)4輸入/輸出學(xué)生,441字符數(shù)組,二維字符數(shù)組的初始化,CHARA310{“BASIC“,“PASCAL“,“C“},2直接用字符串常量初始化,練習(xí)1、給字符數(shù)組初始化為“HAPPY”,并輸出各個(gè)數(shù)組元素。2、輸出一個(gè)鉆石圖形。如圖所示。,任務(wù)4輸入/輸出學(xué)生,441字符數(shù)組,任務(wù)4輸入/輸出學(xué)生,442字符串,字符串是用雙引號(hào)括起來的若干有效字符序列,字符串可以包括字母、數(shù)字、轉(zhuǎn)義字符等,C語(yǔ)言中,將字符串作為字符數(shù)組來處理。,任務(wù)4輸入/輸出學(xué)生,442字符串,C語(yǔ)言規(guī)定了一個(gè)“字符串結(jié)束標(biāo)志”,以字符‘\0’代表。在處理字符數(shù)組的過程中,一旦遇到結(jié)束符‘\0’,就表示已達(dá)到字符串末尾。,數(shù)組的長(zhǎng)度是6,而不是5。,練習(xí)1、分析以下程序,其運(yùn)行結(jié)果是什么VOIDMAIN{CHARC5{’A’,’B’,’\0’,’C’,’\0’}PRINTF“S\N“,C}2、有字符串“ABCABCDEFDEF”,把該字符串中的小寫字母轉(zhuǎn)換為大寫字母后輸出。,任務(wù)4輸入/輸出學(xué)生,442字符串,任務(wù)4輸入/輸出學(xué)生,443字符串輸入/輸出,1字符數(shù)組的元素逐個(gè)輸入和輸出,用格式輸入輸出函數(shù)SCANF和PRINTF,使用“C”格式符,或用字符輸入輸出函數(shù)GETCHAR和PUTCHAR。每次輸入或輸出一個(gè)字符。,FORI0I10ISCANF“C”,,FORI0I10ICIGETCHAR,注GETCHAR和PUTCHAR定義在標(biāo)題文件“STDIOH”中,使用前要用INCLUDE把它們包含進(jìn)來,任務(wù)4輸入/輸出學(xué)生,443字符串輸入/輸出,2字符數(shù)組整體輸入和輸出,用格式輸入輸出函數(shù)SCANF和PRINTF,使用“S”格式符,輸入和輸出字符串。,(1)一維字符數(shù)組,SCANF“S”,字符數(shù)組名;PRINTF“S”,字符數(shù)組名;,CHARS110SCANF“S”,S1;PRINTF“S”,S1;,不用加SCANF“S”,STR1;PRINTF“S”,STR1;,任務(wù)4輸入/輸出學(xué)生,443字符串輸入/輸出舉例,MAIN{CHARSS310INTIFORI0I3ISCANF“S”,SSI;FORI0I3IPRINTF“S”,SSI;},注意在SCANF和PRINTF的“S”是直接控制字符串的,只要求某個(gè)字符串的起始地址作為參數(shù)。輸入時(shí),SCANF會(huì)自動(dòng)把用戶輸入的回車符、空格或制表符轉(zhuǎn)換成“\0”加在字符串的末尾,PRINTF則在遇到“\0”就結(jié)束輸出,但不能自動(dòng)換行。,MAIN{CHARSTR14SCANF“S”,STRPRINTF“\NS”,STRPRINTF“STRING”},輸入HOWAREYOU↙輸出HOWAREYOU,輸入HOWAREYOU↙輸出HOWSTRING,練習(xí)1、輸入一行字符串,統(tǒng)計(jì)其中大寫字母、小寫字母、數(shù)字以及其他字符的個(gè)數(shù)。,任務(wù)4輸入/輸出學(xué)生,443字符串輸入/輸出,任務(wù)5任務(wù)拓展,451字符串處理函數(shù),①程序中如果調(diào)用下面介紹的4個(gè)字符串處理函數(shù),在程序的開始應(yīng)該寫預(yù)處理命令I(lǐng)NCLUDE②在字符串處理函數(shù)中,凡是用數(shù)組名或字符串首地址作參數(shù)的地方,都可以用指針變量作參數(shù)。指針變量的概念在第6章介紹。,說明,任務(wù)5任務(wù)拓展,451字符串處理函數(shù),1求字符串長(zhǎng)度函數(shù)STRLEN,格式STRLENSTR,功能測(cè)試字符串長(zhǎng)度。函數(shù)值就是STR中字符的個(gè)數(shù)不包含字符串的結(jié)束符“\0”。,任務(wù)5任務(wù)拓展,451字符串處理函數(shù),1求字符串長(zhǎng)度函數(shù)STRLEN,CHARSTR10“CHINA“PRINTF“D“,STRLENSTR或PRINTF“D“,STRLEN“CHINA“,輸出結(jié)果5,任務(wù)5任務(wù)拓展,451字符串處理函數(shù),2字符串復(fù)制函數(shù)STRCPY,格式STRCPYSTR1,STR2,功能將STR2中的字符串復(fù)制到STR1數(shù)組中。,任務(wù)5任務(wù)拓展,451字符串處理函數(shù),2字符串復(fù)制函數(shù)STRCPY,CHARS110,S2“BEIJING“STRCPYS1,S2或STRCPYS1,“BEIJING“,S1的結(jié)果,S1必須足夠大,STRCPYS1,S2,3,表示將S2中的前3個(gè)字符復(fù)制到S1中。,任務(wù)5任務(wù)拓展,451字符串處理函數(shù),3字符串比較函數(shù)STRCMP,格式STRCMPSTR1,STR2,任務(wù)5任務(wù)拓展,451字符串處理函數(shù),3字符串比較函數(shù)STRCMP,任務(wù)5任務(wù)拓展,451字符串處理函數(shù),4字符串連接函數(shù)STRCAT,格式STRCATSTR1,STR2,功能把STR2中的字符串連接到STR1字符串的后面,結(jié)果放在STR1數(shù)組中,函數(shù)值是STR1的值。,任務(wù)5任務(wù)拓展,451字符串處理函數(shù),4字符串連接函數(shù)STRCAT,CHARSTR121“BEIJINGAND“CHARSTR2“SHANGHAI“PRINTF“S“,STRCATSTR1,STR2,輸出結(jié)果BEIJINGANDSHANGHAI,STR1必須足夠大,練習(xí)1、輸出如下的楊輝三角形,要求一共有10行10列。2、從鍵盤輸入5個(gè)字符串,將其中最大的字符串輸出。3、輸入一行字符,統(tǒng)計(jì)其中有多少個(gè)單詞,單詞之間用空格分隔開。,任務(wù)5任務(wù)拓展,
      下載積分: 4 賞幣
      上傳時(shí)間:2024-01-06
      頁(yè)數(shù): 57
      9人已閱讀
      ( 4 星級(jí))
    • 簡(jiǎn)介:冒泡法排序,數(shù)組的應(yīng)用,例輸入10個(gè)數(shù),對(duì)這10個(gè)數(shù)排序由小到大。,假設(shè)輸入10個(gè)數(shù)為9,8,5,4,2,0。,經(jīng)過第一趟共5次比較與交換后,最大的數(shù)9已“沉底”。,第一趟比較,,然后進(jìn)行對(duì)余下的前面5個(gè)數(shù)第二趟比較,如果有N個(gè)數(shù),則要進(jìn)行N1趟比較。在第1趟比較中要進(jìn)行N1次兩兩比較,在第J趟比較中要進(jìn)行NJ次兩兩比較。,按上面的規(guī)律,要將N個(gè)元素排序,其核心代碼表示如下FOR(I1IAJ1{TAJAJAJ1AJ1T}}},程序INCLUDEVOIDMAIN{INTA[10]INTI,J,TPRINTF″INPUT10NUMBERS\N″FORI0I10ISCANF“D“,PRINTF“\N“,FORJ0JA[I1]{TAIAIAI1A[I1]T}PRINTF″THESORTEDNUMBERS\N″FORI0I10IPRINTF″D″,A[I]PRINTF″\N″}/程序結(jié)束/,程序運(yùn)行結(jié)果如下INPUT10NUMBERS104812657610045123↙THESORTEDNUMBERS764501481265100123,,,,,,,,,,,,,,,,,,,,,,,
      下載積分: 4 賞幣
      上傳時(shí)間:2024-01-06
      頁(yè)數(shù): 17
      7人已閱讀
      ( 4 星級(jí))
    • 簡(jiǎn)介:第10章編譯預(yù)處理,以前程序中見到的以“”號(hào)開頭的命令就是預(yù)處理命令。如包含命令I(lǐng)NCLUDE,宏定義命令DEFINE等。預(yù)處理是指在編譯中第一遍掃描詞法掃描和語(yǔ)法分析之前所作的工作。對(duì)一個(gè)源文件進(jìn)行編譯時(shí),系統(tǒng)自動(dòng)引用預(yù)處理程序?qū)υ闯绦蛑械念A(yù)處理部分作處理,處理完畢后自動(dòng)進(jìn)入源程序的編譯。C語(yǔ)言提供了多種預(yù)處理功能,如宏定義、文件包含、條件編譯等。101宏102文件包含103條件編譯,退出,101宏,用一個(gè)標(biāo)識(shí)符來替換程序中的一個(gè)字符串,稱為“宏替換”。這樣可以使程序更簡(jiǎn)潔。被定義為“宏”的標(biāo)識(shí)符稱為“宏名”。在編譯預(yù)處理時(shí),對(duì)程序中所有出現(xiàn)的“宏名”,都用宏定義中的字符串去代換,這稱為“宏展開”。宏展開時(shí)不進(jìn)行語(yǔ)法檢查。宏定義是由源程序中的宏定義命令完成的。宏代換是由預(yù)處理程序自動(dòng)完成的。在C語(yǔ)言中,“宏”分為有參數(shù)和無參數(shù)兩種。,,,1011無參宏定義無參宏的宏名后不帶參數(shù)。其定義的一般形式為DEFINE宏名宏體其中的“”表示這是一條預(yù)處理命令。凡是以“”開頭的均為預(yù)處理命令?!癉EFINE”為宏定義命令。宏名是一個(gè)標(biāo)識(shí)符,其中不能有空格,也不能使用引號(hào)““括起來。宏體是字符串,可以是常數(shù)、表達(dá)式或語(yǔ)句,甚至可以是多個(gè)語(yǔ)句?!纠?01】見課本)1宏替換時(shí)并不進(jìn)行語(yǔ)法檢查宏定義是用宏名來表示一個(gè)字符串,宏展開時(shí)又以該字符串取代宏名,這只是一種簡(jiǎn)單的代換,字符串中可以含任何字符,可以是常數(shù),也可以是表達(dá)式,預(yù)處理程序?qū)λ蛔魅魏螜z查。如有錯(cuò)誤,只能在編譯已被宏展開后的源程序時(shí)發(fā)現(xiàn)。,,,2不必加分號(hào)宏定義不是說明或語(yǔ)句,在行末不必加分號(hào),如加上分號(hào)則連分號(hào)也一起置換。3宏定義應(yīng)在函數(shù)外,引用之前宏定義必須寫在函數(shù)之外,通常在引用之前定義,其作用域?yàn)楹甓x命令起到源程序結(jié)束。4可以撤消宏如要撤消宏,終止其作用域可使用UNDEF命令。【例102】見課本)5宏名不可使用引號(hào)對(duì)程序中用雙引號(hào)括起來的字符串,即使與宏名相同,預(yù)處理程序也不對(duì)其作宏代換?!纠?03】見課本)【例104】見課本),,,6宏定義允許嵌套,但不能遞歸定義宏定義允許嵌套,在宏定義的字符串中可以使用已經(jīng)定義的宏名。在宏展開時(shí)由預(yù)處理程序?qū)訉哟鷵Q?!纠?05】見課本)7使用大寫習(xí)慣上宏名用大寫字母表示,以便于與變量區(qū)別。但也允許用小寫字母。8在輸出格式中的應(yīng)用把“輸出格式”語(yǔ)句作為宏定義,可以減少書寫麻煩?!纠?06】見課本),,,1012帶參數(shù)的宏宏可以帶有參數(shù),可以像函數(shù)那樣,一次定義多次使用。在宏定義中的參數(shù)稱為形式參數(shù),在宏調(diào)用中的參數(shù)稱為實(shí)際參數(shù)。宏替換只能是字符替換。對(duì)帶參數(shù)的宏,在調(diào)用中,不僅要宏展開,而且要用實(shí)參去代換形參,這種代替是字符代替。帶參宏定義的一般形式為DEFINE宏名形參列表宏體在字符串中含有各個(gè)形參?!纠?07】見課本),,,1定義中不能有多余空格帶參宏定義中,宏名和形參表之間不能有空格出現(xiàn)。例如把DEFINEMINA,BABAB。2實(shí)參可以是表達(dá)式在宏定義中的形參是標(biāo)識(shí)符,而宏調(diào)用中的實(shí)參可以是表達(dá)式?!纠?08】見課本),,,3宏體及各個(gè)形參最好用括號(hào)括起來在宏定義中,字符串內(nèi)的形參通常要用括號(hào)括起來以避免出錯(cuò)?!纠?09】見課本)4宏可以定義多個(gè)語(yǔ)句宏定義也可用來定義多個(gè)語(yǔ)句,在宏調(diào)用時(shí),把這些語(yǔ)句又代換到源程序內(nèi)。【例1010】見課本)5帶參的宏與帶參函數(shù)的區(qū)別帶參的宏和帶參函數(shù)很相似,但有本質(zhì)上的不同。通俗地說,宏不過是“占地方、占位置”,而沒有實(shí)際的影響。,,,102文件包含,1021文件包含的概念文件包含是預(yù)處理程序的一個(gè)重要功能。文件包含就是把另外一個(gè)文件的內(nèi)容包括進(jìn)來。,,,文件包含命令行的一般形式為INCLUDE“文件名“也可以使用如下格式INCLUDE在前面我們已多次用此命令包含過庫(kù)函數(shù)的頭文件。例如INCLUDEINCLUDE在程序設(shè)計(jì)過程中,一個(gè)大的程序可以分為多個(gè)模塊,由多個(gè)程序員分別編程。有些公用的符號(hào)常量或宏定義等可單獨(dú)組成一個(gè)文件,在其它文件的開頭用包含命令包含該文件即可使用。這樣,可避免在每個(gè)文件開頭都去書寫那些公用量,從而節(jié)省時(shí)間,并減少出錯(cuò)。,,,1022文件包含的注意事項(xiàng)對(duì)文件包含命令還要說明以下幾個(gè)方面。1兩種命令格式的區(qū)別包含命令中的文件名可以用雙引號(hào)括起來,也可以用尖括號(hào)括起來。這兩種形式的區(qū)別在于查詢文件的方式不同使用尖括號(hào)表示在包含文件目錄中去查找包含目錄是由用戶在設(shè)置環(huán)境時(shí)設(shè)置的,而不在源文件目錄去查找;使用雙引號(hào)則表示首先在當(dāng)前的源文件目錄中查找,若未找到才到包含目錄中去查找。,,,2包含的文件數(shù)目一個(gè)INCLUDE命令只能指定一個(gè)被包含文件,若有多個(gè)文件要包含,則需用多個(gè)INCLUDE命令。3嵌套文件包含允許嵌套,即在一個(gè)被包含的文件中又可以包含另一個(gè)文件。,,,103條件編譯,條件編譯就是按不同的條件去編譯不同的程序部分,因而產(chǎn)生不同的目標(biāo)代碼文件。條件編譯有三種形式,下面分別介紹。,,,1031第一種形式這種形式采用如下格式IFDEF標(biāo)識(shí)符程序段1ELSE程序段2ENDIF它的功能是,如果標(biāo)識(shí)符已被DEFINE命令定義過則對(duì)程序段1進(jìn)行編譯;否則對(duì)程序段2進(jìn)行編譯。如果沒有程序段2它為空,本格式中的ELSE可以沒有,即可以寫為IFDEF標(biāo)識(shí)符程序段ENDIF【例1011】見課本),,,1032第二種形式這種形式采用如下格式IFNDEF標(biāo)識(shí)符程序段1ELSE程序段2ENDIF與第一種形式的區(qū)別是將“IFDEF”改為“IFNDEF”。它的功能是,如果標(biāo)識(shí)符未被DEFINE命令定義過則對(duì)“程序段1”進(jìn)行編譯,否則對(duì)“程序段2”進(jìn)行編譯。這與第一種形式的功能正相反。,,,1033第三種形式這種形式采用如下格式IF常量表達(dá)式程序段1ELSE程序段2ENDIF它的功能是,如常量表達(dá)式的值為真非0,則對(duì)程序段1進(jìn)行編譯,否則對(duì)程序段2進(jìn)行編譯。因此可以使程序在不同條件下,完成不同的功能。條件編譯當(dāng)然也可以用條件語(yǔ)句來實(shí)現(xiàn)。但是用條件語(yǔ)句將會(huì)對(duì)整個(gè)源程序進(jìn)行編譯,生成的目標(biāo)代碼程序很長(zhǎng);而采用條件編譯,則根據(jù)條件只編譯其中的程序段1或程序段2,生成的目標(biāo)程序較短。如果條件選擇的程序段很長(zhǎng),采用條件編譯的方法是十分必要的。,,,
      下載積分: 4 賞幣
      上傳時(shí)間:2024-01-07
      頁(yè)數(shù): 16
      9人已閱讀
      ( 4 星級(jí))
    • 簡(jiǎn)介:C語(yǔ)言程序設(shè)計(jì),第四章函數(shù)41庫(kù)函數(shù)42自定義函數(shù)43函數(shù)的參數(shù)傳遞與返回值44遞歸函數(shù)45局部變量、全局變量與變量作用域46函數(shù)綜合應(yīng)用,學(xué)習(xí)目標(biāo)理解函數(shù)在程序設(shè)計(jì)中的作用和地位掌握函數(shù)的定義、原型聲明和調(diào)用方法熟練掌握函數(shù)的參數(shù)傳遞與返回值理解局部變量、全局變量、靜態(tài)變量和變量的作用域掌握遞歸函數(shù)的編寫技術(shù)理解和掌握結(jié)構(gòu)設(shè)計(jì)和模塊化程序設(shè)計(jì)方法了解地址和指針的概念,了解地址做函數(shù)參數(shù)的特點(diǎn)和作用,為什么要用函數(shù),問題如果程序的功能比較多,規(guī)模比較大,把所有代碼都寫在MAIN函數(shù)中,就會(huì)使主函數(shù)變得龐雜、頭緒不清,閱讀和維護(hù)變得困難有時(shí)程序中要多次實(shí)現(xiàn)某一功能,就需要多次重復(fù)編寫實(shí)現(xiàn)此功能的程序代碼,這使程序冗長(zhǎng),不精煉,解決的方法用模塊化程序設(shè)計(jì)的思路采用“組裝”的辦法簡(jiǎn)化程序設(shè)計(jì)的過程可以使用庫(kù)函數(shù)事先編好一批實(shí)現(xiàn)各種不同功能的函數(shù),把它們保存在函數(shù)庫(kù)中,需要時(shí)直接用可以使用自己編寫的函數(shù)在設(shè)計(jì)一個(gè)較大的程序時(shí),往往把它分為若干個(gè)程序模塊,每一個(gè)模塊包括一個(gè)或多個(gè)函數(shù),每個(gè)函數(shù)實(shí)現(xiàn)一個(gè)特定的功能,函數(shù)的名字應(yīng)反映其代表的功能C程序可由一個(gè)主函數(shù)和若干個(gè)其他函數(shù)構(gòu)成,主函數(shù)調(diào)用其他函數(shù),其他函數(shù)也可以互相調(diào)用,同一個(gè)函數(shù)可以被一個(gè)或多個(gè)函數(shù)調(diào)用任意多次在程序設(shè)計(jì)中要善于利用函數(shù),可以減少重復(fù)編寫程序段的工作量,同時(shí)可以方便地實(shí)現(xiàn)模塊化的程序設(shè)計(jì),,導(dǎo)例平方根表1.問題描述輸出100以內(nèi)整數(shù)的平方根表,要求每行輸出10個(gè)。2.問題分析C語(yǔ)言提供了一個(gè)庫(kù)函數(shù)SQRT,使用時(shí)直接調(diào)用該庫(kù)函數(shù)就可以計(jì)算出平方根值。,,3.算法描述(1)定義兩個(gè)整型變量M,N。(2)輸出平方根表時(shí),要注意格式。首先輸出表頭,輸出0~9的整數(shù)。(3)然后按照格式要求輸出平方根表,M為行數(shù)0~9,N為列數(shù)0~9,則表內(nèi)對(duì)應(yīng)第M行第N列的表值為SQRTM10N,每行10個(gè)。,1,1,INCLUDEINCLUDE//數(shù)學(xué)類頭文件INTMAIN{INTM,N,FORN0NYZXELSEZYRETURNZ},定義函數(shù)時(shí),形參調(diào)用函數(shù)時(shí),實(shí)參,函數(shù)的調(diào)用,函數(shù)調(diào)用的形式,對(duì)于實(shí)現(xiàn)計(jì)算功能的函數(shù),函數(shù)調(diào)用通常出現(xiàn)在兩種情況賦值語(yǔ)句VOLUMECYLINDERRADIUS,HEIGHT輸出函數(shù)的實(shí)參PRINTF“F”,CYLINDERRADIUS,HEIGHT,函數(shù)調(diào)用的過程,計(jì)算機(jī)在執(zhí)行程序時(shí),從主函數(shù)MAIN開始執(zhí)行,如果遇到某個(gè)函數(shù)調(diào)用,主函數(shù)被暫停執(zhí)行,轉(zhuǎn)而執(zhí)行相應(yīng)的函數(shù),該函數(shù)執(zhí)行完后,將返回主函數(shù),然后再?gòu)脑葧和5奈恢美^續(xù)執(zhí)行。函數(shù)遇RETURN返回主函數(shù),分析函數(shù)調(diào)用的過程,INCLUDEINTMAINVOID{DOUBLEHEIGHT,RADIUS,VOLUMEDOUBLECYLINDERDOUBLER,DOUBLEHPRINTF“ENTERRADIUSANDHEIGHT“SCANF“LFLF“,VOLUMECYLINDERRADIUS,HEIGHTPRINTF“VOLUME3F\N“,VOLUMERETURN0}DOUBLECYLINDERDOUBLER,DOUBLEH{DOUBLERESULTRESULT31415926RRHRETURNRESULT},調(diào)用函數(shù),,,實(shí)參?形參,執(zhí)行函數(shù)中的語(yǔ)句,返回調(diào)用它的地方,,,,,參數(shù)傳遞,函數(shù)定義時(shí)的參數(shù)被稱為形式參數(shù)(簡(jiǎn)稱形參)DOUBLECYLINDERDOUBLER,DOUBLEH;函數(shù)調(diào)用時(shí)的參數(shù)被稱為實(shí)際參數(shù)(簡(jiǎn)稱實(shí)參)VOLUMECYLINDERRADIUS,HEIGHT參數(shù)傳遞實(shí)參?形參在參數(shù)傳遞過程中,實(shí)參把值復(fù)制給形參。形參和實(shí)參一一對(duì)應(yīng)數(shù)量一致,類型一致,順序一致形參變量,用于接受實(shí)參傳遞過來的值實(shí)參常量、變量或表達(dá)式,單向傳遞,函數(shù)結(jié)果返回,完成確定的運(yùn)算,將運(yùn)算結(jié)果返回給主調(diào)函數(shù)。函數(shù)結(jié)果返回的形式RETURN表達(dá)式;RETURN表達(dá)式;,,,,,在執(zhí)行函數(shù)調(diào)用時(shí),實(shí)參把值計(jì)算出來,拷貝給相應(yīng)位置的形參;函數(shù)執(zhí)行完后,通過RETURN,可返回一個(gè)結(jié)果值。實(shí)參與形參有多個(gè)實(shí)參時(shí)形參的改變個(gè)數(shù)相同、類型一致后面的先計(jì)算不影響實(shí)參變量的值只能返回一個(gè)結(jié)果,類型與函數(shù)定義時(shí)一致,,,要調(diào)用函數(shù),必須先要聲明,,,小結(jié),43函數(shù)的參數(shù)傳遞與返回值431導(dǎo)例爬動(dòng)的蠕蟲432導(dǎo)例日K蠟燭圖433函數(shù)的參數(shù)傳遞434函數(shù)的返回值,從函數(shù)是否有參數(shù)和返回值的角度,可以將函數(shù)分為①有參數(shù)有返回值函數(shù)②有參數(shù)無返回值函數(shù)③無參數(shù)有返回值函數(shù)④無參數(shù)無返回值函數(shù),導(dǎo)例判斷素?cái)?shù)的函數(shù),求100以內(nèi)的全部素?cái)?shù),每行輸出10個(gè)。素?cái)?shù)就是只能被1和自身整除的正整數(shù),1不是素?cái)?shù),2是素?cái)?shù)。要求定義和調(diào)用函數(shù)PRIMEM判斷M是否為素?cái)?shù),當(dāng)M為素?cái)?shù)時(shí)返回1,否則返回0。算法描述對(duì)2~100之間的每個(gè)數(shù)進(jìn)行判斷,若是素?cái)?shù),則輸出該數(shù)。FORM2M1,,采用非遞歸方法,程序片段如下FIRST1,SECOND1SCANF“D“,FORI0I1FACTNNFACTN1遞歸公式,,,,實(shí)現(xiàn)階乘遞歸算法的遞歸函數(shù)LONGFACTINTN{IFN0RETURN1ELSERETURNNFACTN1},YFACT3,遞歸函數(shù)的調(diào)用過程,,遞歸程序的內(nèi)部執(zhí)行過程函數(shù)的遞歸調(diào)用類似于多個(gè)函數(shù)的嵌套調(diào)用,只不過調(diào)用函數(shù)和被調(diào)用函數(shù)是同一個(gè)函數(shù)。遞歸調(diào)用的內(nèi)部執(zhí)行過程如下①運(yùn)行開始時(shí),系統(tǒng)設(shè)立工作棧來保存每次調(diào)用的運(yùn)行環(huán)境,包括形參、局部變量和返回地址;②遞歸調(diào)用前,將調(diào)用函數(shù)的形參、局部變量以及調(diào)用后的返回地址進(jìn)棧;③調(diào)用結(jié)束后,將棧頂數(shù)據(jù)出棧,恢復(fù)調(diào)用前的運(yùn)行環(huán)境,使相應(yīng)的形參和局部變量恢復(fù)為調(diào)用前的值,然后從返回地址指定的位置繼續(xù)執(zhí)行調(diào)用函數(shù)。,,444遞歸函數(shù)的效率分析遞歸函數(shù)如果很緩慢地逼近到遞歸結(jié)束條件,會(huì)使性能大大下降。遞歸增加了系統(tǒng)開銷,時(shí)間上,執(zhí)行調(diào)用與返回的額外工作要占用CPU時(shí)間??臻g上,隨著每遞歸一次,棧內(nèi)存就多占一塊,即要分配相應(yīng)的存儲(chǔ)空間,并完成參數(shù)的傳遞、函數(shù)的返回等,在程序的執(zhí)行效率和所消耗的存儲(chǔ)空間上,和非遞歸相比沒有任何優(yōu)勢(shì)。一般的遞歸都可以通過相應(yīng)的方法轉(zhuǎn)化為非遞歸的,所以不推薦使用遞歸,特別是不推薦使用遞歸層次較多的遞歸。,45C局部變量、全局變量與變量作用域451導(dǎo)例富翁與騙子452導(dǎo)例簡(jiǎn)易庫(kù)存存取貨管理453局部變量和全局變量454變量的作用域和生存期,分別輸入2個(gè)復(fù)數(shù)的實(shí)部與虛部,用函數(shù)實(shí)現(xiàn)計(jì)算2個(gè)復(fù)數(shù)之和與之積。,分析若2個(gè)復(fù)數(shù)分別為C1X1Y1I,C2X2Y2I,則C1C2X1X2Y1Y2IC1C2X1X2Y1Y2X1Y2X2Y1I,復(fù)數(shù)運(yùn)算,INCLUDEFLOATRESULT_REAL,RESULT_IMAG/全局變量,用于存放函數(shù)結(jié)果/INTMAINVOID{FLOATIMAG1,IMAG2,REAL1,REAL2/兩個(gè)復(fù)數(shù)的實(shí)、虛部變量//函數(shù)聲明/VOIDCOMPLEX_PRODFLOATREAL1,FLOATIMAG1,FLOATREAL2,FLOATIMAG2VOIDCOMPLEX_ADDFLOATREAL1,FLOATIMAG1,FLOATREAL2,FLOATIMAG2PRINTF“ENTER1STCOMPLEXNUMBERREALANDIMAGINARY“SCANF“FF“,/輸入第一個(gè)復(fù)數(shù)/PRINTF“ENTER2NDCOMPLEXNUMBERREALANDIMAGINARY“SCANF“FF“,/輸入第兩個(gè)復(fù)數(shù)/COMPLEX_ADDREAL1,IMAG1,REAL2,IMAG2/求復(fù)數(shù)之和/PRINTF“ADDITIONOFCOMPLEXISFFI\N“,RESULT_REAL,RESULT_IMAGCOMPLEX_PRODREAL1,IMAG1,REAL2,IMAG2/求復(fù)數(shù)之積/PRINTF“PRODUCTOFCOMPLEXISFFI\N“,RESULT_REAL,RESULT_IMAGRETURN0},運(yùn)行結(jié)果ENTER1STCOMPLEXNUMBERREALANDIMAGINARY11ENTER2NDCOMPLEXNUMBERREALANDIMAGINARY23ADDITIONOFCOMPLEXIS10000004000000IPRODUCTOFCOMPLEXIS50000001000000I,VOIDCOMPLEX_ADDFLOATREAL1,FLOATIMAG1,FLOATREAL2,FLOATIMAG2{RESULT_REALREAL1REAL2RESULT_IMAGIMAG1IMAG2},VOIDCOMPLEX_PRODFLOATREAL1,FLOATIMAG1,FLOATREAL2,FLOATIMAG2{RESULT_REALREAL1REAL2IMAG1IMAG2RESULT_IMAGREAL1IMAG2REAL2IMAG1},局部變量在函數(shù)內(nèi)定義的變量(包括形參)作用范圍本函數(shù)內(nèi)部定義在復(fù)合語(yǔ)句內(nèi)的變量作用范圍復(fù)合語(yǔ)句內(nèi)部全局變量在函數(shù)以外定義的變量,不從屬于任一函數(shù)。作用范圍從定義處到源文件結(jié)束(包括各函數(shù)),453局部變量和全局變量,在復(fù)合語(yǔ)句中定義局部變量,INCLUDEINTMAINVOID{INTAA1{/復(fù)合語(yǔ)句開始/INTB2BABAAB}/復(fù)合語(yǔ)句結(jié)束/PRINTF“D“,ARETURN0},B小范圍內(nèi)的臨時(shí)變量,,,輸出4,改成B會(huì)如何,全局變量定義,INCLUDE“STDIOH“INTX/定義全局變量X/INTF{INTX4/X為局部變量/RETURNX}INTMAINVOID{INTA1XA/對(duì)全局變量X賦值/AF/A的值為4/{INTB2BAB/B的值為6/XXB/全局變量運(yùn)算/}PRINTF“DD“,A,XRETURN0},若局部變量與全局變量同名,局部變量?jī)?yōu)先,,,,,輸出4,7,變量作用范圍示例,INTX1VOIDMAIN{INTA2{INTB3}F}INTT4VOIDF{INTX5,B6}INTA7,XAB,B,X5B6T4A沒定義,,,,,,,XBTA,用函數(shù)實(shí)現(xiàn)財(cái)務(wù)現(xiàn)金記賬。先輸入操作類型1收入,2支出,0結(jié)束,再輸入操作金額,計(jì)算現(xiàn)金剩余額,經(jīng)多次操作直到輸入操作為0結(jié)束。要求定義并調(diào)用函數(shù),其中現(xiàn)金收入與現(xiàn)金支出分別用不同函數(shù)實(shí)現(xiàn)。分析設(shè)變量CASH保存現(xiàn)金余額值,由于它被主函數(shù)、現(xiàn)金收入與現(xiàn)金支出函數(shù)共用,任意使用場(chǎng)合其意義與數(shù)值都是明確和唯一的,因此令其為全局變量。,財(cái)務(wù)現(xiàn)金記賬,INCLUDEFLOATCASH/定義全局變量,保存現(xiàn)金余額/INTMAINVOID{INTCHOICEFLOATVALUEVOIDINCOMEFLOATNUMBER,EXPENDFLOATNUMBER/函數(shù)聲明/CASH0/初始金額0/PRINTF“ENTEROPERATECHOICE0END,1INCOME,2EXPEND“SCANF“D“,/輸入操作類型/WHILECHOICE0{/若輸入類型為0,循環(huán)結(jié)束/IFCHOICE1||CHOICE2{PRINTF“ENTERCASHVALUE“/輸入操作現(xiàn)金額/SCANF“F“,IFCHOICE1INCOMEVALUE/函數(shù)調(diào)用,計(jì)算現(xiàn)金收入/ELSEEXPENDVALUE/函數(shù)調(diào)用,計(jì)算現(xiàn)金支出/PRINTF“CURRENTCASH2F\N“,CASH}PRINTF“ENTEROPERATECHOICE0END,1INCOME,2EXPEND“SCANF“D“,/繼續(xù)輸入操作類型/}RETURN0},
      下載積分: 4 賞幣
      上傳時(shí)間:2024-01-07
      頁(yè)數(shù): 97
      11人已閱讀
      ( 4 星級(jí))
    • 簡(jiǎn)介:面向南疆地區(qū)面向南疆地區(qū)C語(yǔ)言程序設(shè)計(jì)教學(xué)改革實(shí)踐語(yǔ)言程序設(shè)計(jì)教學(xué)改革實(shí)踐由于南疆大多數(shù)民族學(xué)生英語(yǔ)基礎(chǔ)薄弱,C語(yǔ)言授課過程中,民族學(xué)生會(huì)本能的有一種抵觸情緒,因此遇到C語(yǔ)言關(guān)鍵字等英語(yǔ)單詞,先給學(xué)生統(tǒng)一翻譯、誦讀一遍。然后讓學(xué)生以小組為單位課后整理課堂上學(xué)過的計(jì)算機(jī)專業(yè)英語(yǔ)詞匯,下次上課讓學(xué)生聽寫專業(yè)詞匯,以此擴(kuò)展民族學(xué)生英語(yǔ)詞匯量,為民族學(xué)生進(jìn)一步學(xué)習(xí)高級(jí)程序設(shè)計(jì)課程打下堅(jiān)實(shí)基礎(chǔ)。從而提高民族學(xué)生學(xué)習(xí)C語(yǔ)言課程的積極性。3以機(jī)考代替筆試改進(jìn)考核方式南疆地區(qū)學(xué)生數(shù)學(xué)、英語(yǔ)基礎(chǔ)普遍薄弱,C語(yǔ)言的學(xué)習(xí)對(duì)數(shù)學(xué)基礎(chǔ)和英語(yǔ)有一定的要求,教學(xué)中,應(yīng)以培養(yǎng)學(xué)生的實(shí)踐能力為目標(biāo)。教學(xué)考評(píng)是衡量教學(xué)效果的重要措施,是促進(jìn)教學(xué)的一種有效手段。以往的C語(yǔ)言課程考試同其他傳統(tǒng)科目考試方式相同,均為閉卷考試。而C語(yǔ)言課程是強(qiáng)調(diào)實(shí)際操作能力的,以往的考核方式不能真正考查學(xué)生的動(dòng)手能力,學(xué)生可能在閉卷考試中成績(jī)優(yōu)秀,語(yǔ)法掌握得很好,可是獨(dú)立設(shè)計(jì)算法和動(dòng)手編程能力卻并不強(qiáng),在上機(jī)解決實(shí)際問題時(shí)依然舉步維艱6。因此,對(duì)C語(yǔ)言課程考核評(píng)價(jià)的改革采用了以下評(píng)分方法總成績(jī)10上課回答問題得分20實(shí)踐課程項(xiàng)目完成情況10課后作業(yè)完成情況10上課出勤率得分50期末上機(jī)考試成績(jī)(見表1)。上機(jī)考試成績(jī)10選擇題30程序天空50編程題(見表2)。重點(diǎn)考察學(xué)生對(duì)C語(yǔ)言核心知識(shí)點(diǎn)的靈活運(yùn)用及編程能力。而最后的考試題目難易程度,需要根據(jù)課程中學(xué)生的學(xué)習(xí)情況進(jìn)行相應(yīng)的調(diào)整,做到既可以考察學(xué)生掌握的基礎(chǔ)知識(shí),又可以把學(xué)生的掌握程度最大化展現(xiàn)出來。這樣經(jīng)過兩大部分的考核成績(jī)綜合評(píng)定,就可以最大限度地激發(fā)學(xué)生的學(xué)習(xí)熱情和積極性,保證課程教學(xué)的質(zhì)量。4結(jié)束語(yǔ)通過一段時(shí)間的實(shí)踐,以培養(yǎng)學(xué)生實(shí)踐能力為導(dǎo)向的“C語(yǔ)言程序設(shè)計(jì)”課程教學(xué)改革取得了一定的成效,學(xué)生學(xué)習(xí)熱情逐步回歸,特別是民族學(xué)生C語(yǔ)言學(xué)習(xí)更加積極主動(dòng),更多地民族學(xué)生參與到暑期軟件公司實(shí)習(xí)項(xiàng)目中,程序設(shè)計(jì)能力明顯提高。教師在C語(yǔ)言教授過程中,根據(jù)企業(yè)反饋的意見,進(jìn)一步優(yōu)化課程實(shí)施方式、不斷更新教學(xué)理念、鼓勵(lì)學(xué)生進(jìn)一步參與到老師實(shí)際項(xiàng)目中,這種應(yīng)用人才培養(yǎng)模式也會(huì)逐步在其他課程中推廣使用,進(jìn)一步加強(qiáng)C語(yǔ)言課程實(shí)踐型、應(yīng)用型課堂教學(xué)方法研究,盡其所能,把學(xué)生培養(yǎng)成新疆信息化發(fā)展道路上需要的合格人才。
      下載積分: 3 賞幣
      上傳時(shí)間:2024-03-14
      頁(yè)數(shù): 2
      4人已閱讀
      ( 4 星級(jí))
    • 簡(jiǎn)介:富交互型富交互型C語(yǔ)言在線課程的設(shè)計(jì)與實(shí)現(xiàn)語(yǔ)言在線課程的設(shè)計(jì)與實(shí)現(xiàn)當(dāng)前,隨著在線教育的興起,在線編程學(xué)習(xí)平臺(tái)也得以蓬勃發(fā)展,其形式多樣、內(nèi)容新穎、體驗(yàn)良好,解決了班級(jí)授課及課內(nèi)實(shí)驗(yàn)教育模式的一些缺陷,吸引了不少學(xué)生參與1。在線編程學(xué)習(xí)平臺(tái),提供在線知識(shí)講解、編輯代碼、即時(shí)編譯等功能,國(guó)外以CODECADEMY為代表,口號(hào)正是“以交互的方式學(xué)習(xí)編程”,提供了JAVRIPT、PHP、PYTHON、RUBY等腳本編程語(yǔ)言的課程2。國(guó)內(nèi)的“計(jì)蒜客”課程學(xué)習(xí)形式與CODECADEMY類似,提供C、C、PYTHON、數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、數(shù)據(jù)庫(kù)等互動(dòng)式的在線課程。國(guó)內(nèi)的“實(shí)驗(yàn)樓”,基于虛擬化技術(shù)提供IT技術(shù)實(shí)訓(xùn)平臺(tái),提供在線編程環(huán)境來進(jìn)行“在線實(shí)驗(yàn)”。CODECOMBAT創(chuàng)造性地將在線游戲與學(xué)習(xí)編程(COFFEE腳本語(yǔ)言)相結(jié)合,驅(qū)動(dòng)用戶在游戲中編碼實(shí)現(xiàn)一定功能來渡過關(guān)卡,趣味性很強(qiáng),思路新穎。總體來講,在線編程學(xué)習(xí)平臺(tái)課程以用戶練習(xí)為核心,通常是任務(wù)驅(qū)動(dòng)的,而且注重循序漸進(jìn)。然而,由于需要提供平臺(tái)化服務(wù),其練習(xí)模式相對(duì)單一。另外,課程的引導(dǎo)提示相對(duì)單調(diào),編程練習(xí)較多而講解偏少。在線編程學(xué)習(xí)平臺(tái)課程的設(shè)計(jì)思路和表現(xiàn)形式值得借鑒,課程本身的特點(diǎn)和學(xué)生的學(xué)習(xí)需求還要進(jìn)一步挖掘,以進(jìn)一步完善在線課程,促進(jìn)課堂教育和在線教育的互補(bǔ)融合,提高教學(xué)效率。1富交互型C語(yǔ)言在線課程的設(shè)計(jì)與實(shí)現(xiàn)握課程進(jìn)度。在線課程的版塊形式如下⑴演示示例可交互圖形展示課程引入案例、數(shù)據(jù)運(yùn)算過程、代碼執(zhí)行過程、數(shù)據(jù)存儲(chǔ)機(jī)制等。將已有知識(shí)經(jīng)驗(yàn)遷移到課程新內(nèi)容,或者從C語(yǔ)言的底層軟硬件基礎(chǔ)設(shè)施如匯編語(yǔ)言、編譯原理、計(jì)算機(jī)體系結(jié)構(gòu)等視角剖析C語(yǔ)言,加深對(duì)C語(yǔ)言及程序運(yùn)行的理解。演示示例如圖1所示,單擊右側(cè)的流程圖虛線框,可以推進(jìn)流程圖并選中左側(cè)的相應(yīng)代碼行。⑵在線簡(jiǎn)單練習(xí)形式多樣,包括抄寫代碼、運(yùn)行代碼、調(diào)試代碼、改動(dòng)代碼、模仿編程、引導(dǎo)編程、獨(dú)立練習(xí)任務(wù)等5,由易到難循序漸進(jìn)提高初學(xué)者編程技能。⑶在線測(cè)評(píng)通過在線選擇題、填空題、判斷題等對(duì)知識(shí)點(diǎn)進(jìn)行測(cè)評(píng),通過對(duì)題目進(jìn)行深入解析,幫助學(xué)生區(qū)分易混淆知識(shí),避免常見錯(cuò)誤。⑷在線視頻關(guān)鍵知識(shí)點(diǎn)制作短視頻,進(jìn)行關(guān)鍵知識(shí)點(diǎn)的精講及總結(jié),或者進(jìn)行思維開拓。⑸在線綜合練習(xí)提供項(xiàng)目驅(qū)動(dòng)的綜合練習(xí),可對(duì)綜合練習(xí)的解決方案進(jìn)行展示,并允許同學(xué)們留言討論。另外,提前對(duì)項(xiàng)目進(jìn)行分解6,進(jìn)行針對(duì)性練習(xí)。設(shè)計(jì)富交互型在線課程時(shí),知識(shí)講解和編程練習(xí)居于同樣重要的地位,而且兩者的難度增加曲線非常平緩,充分考慮了初學(xué)者的特殊情況。13富交互頁(yè)面的關(guān)鍵技術(shù)
      下載積分: 5 賞幣
      上傳時(shí)間:2024-03-10
      頁(yè)數(shù): 5
      8人已閱讀
      ( 4 星級(jí))
    • 簡(jiǎn)介:基于創(chuàng)新人才培養(yǎng)的基于創(chuàng)新人才培養(yǎng)的C語(yǔ)言探究式學(xué)習(xí)研究語(yǔ)言探究式學(xué)習(xí)研究C語(yǔ)言程序設(shè)計(jì)是高等院校理工科本科生普遍開設(shè)的計(jì)算機(jī)程序設(shè)計(jì)類課程,很多院校都將C語(yǔ)言作為大學(xué)新生的第一門程序設(shè)計(jì)課程。學(xué)生普遍反映C語(yǔ)言概念多、用法活,知識(shí)點(diǎn)難度較大。針對(duì)C語(yǔ)言的課程特點(diǎn)和創(chuàng)新班教學(xué)具體情況,從教學(xué)模式、學(xué)生考核和課外延伸等各方面進(jìn)行了一系列的探討和改進(jìn),提出一種基于創(chuàng)新人才培養(yǎng)的探究式學(xué)習(xí)模式,培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí)解決問題的能力,對(duì)學(xué)生進(jìn)行科學(xué)研究基本功的訓(xùn)練,增強(qiáng)創(chuàng)新能力的培養(yǎng),促進(jìn)學(xué)生全面發(fā)展,提升人才培養(yǎng)質(zhì)量。1理論基礎(chǔ)11創(chuàng)新人才培養(yǎng)2010年7月公布的國(guó)家中長(zhǎng)期教育改革和發(fā)展規(guī)劃綱要(20102020年)中指出高等教育的培養(yǎng)目標(biāo)重點(diǎn)放在著力培養(yǎng)信念執(zhí)著、品德優(yōu)良、知識(shí)豐富、本領(lǐng)過硬的高素質(zhì)專門人才和拔尖創(chuàng)新人才1。2015年5月4日國(guó)務(wù)院辦公廳關(guān)于深化高等學(xué)校創(chuàng)新創(chuàng)業(yè)教育改革的實(shí)施意見中指出“到2020年建立健全課堂教學(xué)、自主學(xué)習(xí)、結(jié)合實(shí)踐、指導(dǎo)幫扶、文化引領(lǐng)融為一體的高校創(chuàng)新創(chuàng)業(yè)教育體系,人才培養(yǎng)質(zhì)量顯著提升,學(xué)生的創(chuàng)新精神、創(chuàng)業(yè)意識(shí)和創(chuàng)新創(chuàng)業(yè)能力明顯增強(qiáng),投身創(chuàng)業(yè)實(shí)踐的學(xué)生顯著增加2?!眲?chuàng)新人才培養(yǎng)主要包括素質(zhì)結(jié)構(gòu)、知識(shí)結(jié)構(gòu)和能力結(jié)構(gòu)等三方取向、人文精神和創(chuàng)新思維等各種素質(zhì)的綜合培養(yǎng)。然而,C語(yǔ)言在對(duì)學(xué)生進(jìn)行價(jià)值觀方面的培養(yǎng)并不占優(yōu)勢(shì),這就要求通過教師的言傳身教,如對(duì)教學(xué)科研工作的敬業(yè),對(duì)同學(xué)的熱情友善等行為傳遞積極向上的價(jià)值理念,結(jié)合當(dāng)前社會(huì)熱點(diǎn),篩選適合的例子引導(dǎo)學(xué)生。如對(duì)于2017年10月ALPHAZERO完勝ALPHAGO,教師可以介紹DEEPMIND的創(chuàng)始人DEMISHASSABIS因?yàn)榕d趣而努力并取得成功,鼓勵(lì)學(xué)生找到自己的興趣并為之奮斗。還有,對(duì)于同學(xué)都關(guān)注的NBA比賽,給大家介紹科比“凌晨四點(diǎn)的洛杉磯”,激勵(lì)同學(xué)為了自己的夢(mèng)想堅(jiān)持努力。同時(shí),給學(xué)生提供一些國(guó)內(nèi)外優(yōu)秀的網(wǎng)絡(luò)資源比如TED和網(wǎng)易公開課等,學(xué)生通過多聽多看優(yōu)秀的視頻,不僅提高了英語(yǔ)水平、開闊視野,還有助于更好的定位自己。22探究式學(xué)習(xí)探究式學(xué)習(xí)是C語(yǔ)言教學(xué)實(shí)踐中創(chuàng)新人才的知識(shí)結(jié)構(gòu)和能力結(jié)構(gòu)培養(yǎng)的重要組成部分。結(jié)合C語(yǔ)言教學(xué)內(nèi)容和我校實(shí)際,將創(chuàng)新人才培養(yǎng)模式主要分為三個(gè)部分進(jìn)行一部分是課內(nèi)的探究式學(xué)習(xí);另一部分是以學(xué)科競(jìng)賽、科技創(chuàng)新等形式開展的課外探究式學(xué)習(xí);第三部分是在學(xué)生掌握一定的專業(yè)理論基礎(chǔ)和研究能力之后的綜合探究式學(xué)習(xí),即深入拓展研究課程在專業(yè)中的相關(guān)應(yīng)用。221課內(nèi)探究式學(xué)習(xí)在教學(xué)實(shí)踐中,首先,教師引導(dǎo)學(xué)生逐漸喜歡C語(yǔ)言課程,通過網(wǎng)上搜索最新的TIOBE編程語(yǔ)言排行榜,讓學(xué)生了解C語(yǔ)言在實(shí)際編程中的應(yīng)用,演示C語(yǔ)言編寫的程序激發(fā)學(xué)生的學(xué)習(xí)興趣,
      下載積分: 6 賞幣
      上傳時(shí)間:2024-03-10
      頁(yè)數(shù): 8
      7人已閱讀
      ( 4 星級(jí))
    • 簡(jiǎn)介:基于遺傳算法的基于遺傳算法的C語(yǔ)言考試系統(tǒng)組卷算法的實(shí)現(xiàn)語(yǔ)言考試系統(tǒng)組卷算法的實(shí)現(xiàn)李今花摘要本系統(tǒng)將組卷算法和試題題庫(kù)相結(jié)合,將改進(jìn)的遺傳算法應(yīng)用于高校的智能組卷系統(tǒng)中,主要是從算法的染色體編碼、初始種群的生成、適應(yīng)度評(píng)價(jià)函數(shù)、遺傳算子和終止判斷條件這幾個(gè)方面進(jìn)行改進(jìn),從而得到滿足約束條件的最優(yōu)試卷,實(shí)現(xiàn)教考分離。【關(guān)鍵詞】題庫(kù)智能組卷遺傳算法組卷是一個(gè)考試系統(tǒng)的核心部分,通過組卷來決定試卷的題量、試卷的知識(shí)點(diǎn)分布、試卷類型及試卷中試題難易程度的分布。一個(gè)合理而嚴(yán)密的組卷規(guī)則是實(shí)現(xiàn)考試規(guī)范化、公平化、合理化的重要途徑,一個(gè)良好的組卷規(guī)則應(yīng)該能夠保證每一套試卷在試題范圍、難度等方面保持一致性,從而保證整個(gè)試卷的信度和試卷的效度。1試卷屬性及組卷約束條件一份試卷應(yīng)具有的屬性,一般為試卷的總分、答題總時(shí)間、試卷的題型、知識(shí)點(diǎn)分?jǐn)?shù)分布、試卷難度、試卷區(qū)分度等屬性。11試卷的總分試卷總分()其中K代表試卷中的總題數(shù),SN為第N道題的2組卷策略的設(shè)計(jì)傳統(tǒng)遺傳算法中首先是產(chǎn)生初始群體。初始群體是采用隨機(jī)方法產(chǎn)生,這樣產(chǎn)生的初始群體可以提高組卷速率。本文設(shè)置的約束條件為根據(jù)用戶的需求設(shè)置每個(gè)題型的題量,這樣就保證了在試卷總分為用戶需求的前提下,每個(gè)試題所包含的知識(shí)點(diǎn)都在考試范圍即考試大綱要求內(nèi)。C語(yǔ)言程序設(shè)計(jì)基礎(chǔ)課程試卷題型包含五種,分別使用A,B,C,D,E代表每種題型A類題型有X個(gè),B類題型有Y個(gè),C類題型有Z個(gè),D類題型有W個(gè),E類題型有V個(gè),編碼方法如表L所示。同一列代表一個(gè)題型下的若干試題,在這一段編碼中不存在兩個(gè)或兩個(gè)以上相同的試題;不同的題型可以采用相同的基因編碼,從而保證同一份試卷不存在重題。根據(jù)上面討論的組卷約束條件,可以用一個(gè)矩陣T表達(dá)。本文討論的試卷約束條件為題型、分值、單題作答時(shí)間、所屬知識(shí)點(diǎn)、試題難度和試題區(qū)分度。則獲得矩陣TL矩陣的每一列代表約束條件的一個(gè)屬性,這里共有6個(gè)屬性第1列代表題型,第2列代表分值,第3列代表單題作答時(shí)間,第4列代表所屬知識(shí)點(diǎn),第5列代表試題難度,第6列代表試題區(qū)分度。題型、分值、單題作答時(shí)間、所屬知識(shí)點(diǎn)、試題難度和試題區(qū)分度這6個(gè)屬性約束每一道題。矩陣一行代表一道試題。以一套C語(yǔ)言程序設(shè)計(jì)基礎(chǔ)課程試卷為例。試卷卷面分值100分,該試卷?yè)碛械念}型為單選、填空、程序設(shè)計(jì)、程序改
      下載積分: 5 賞幣
      上傳時(shí)間:2024-03-10
      頁(yè)數(shù): 4
      7人已閱讀
      ( 4 星級(jí))
    • 簡(jiǎn)介:C語(yǔ)言實(shí)驗(yàn)教學(xué)新方法的探討語(yǔ)言實(shí)驗(yàn)教學(xué)新方法的探討C語(yǔ)言是國(guó)內(nèi)外廣泛使用的計(jì)算機(jī)語(yǔ)言。目前全國(guó)各高等院校面向計(jì)算機(jī)相關(guān)專業(yè)和非計(jì)算機(jī)理工科專業(yè)普遍開設(shè)了C語(yǔ)言作為基礎(chǔ)必修課程。論文檢測(cè)。作為計(jì)算機(jī)類專業(yè)基礎(chǔ)課,C語(yǔ)言是掌握計(jì)算機(jī)程序設(shè)計(jì)基本方法、形成正確的程序設(shè)計(jì)思想的入門課程,為后續(xù)專業(yè)課程的學(xué)習(xí)和拓展打下編程基礎(chǔ);作為非計(jì)算機(jī)類的公共基礎(chǔ)課,C語(yǔ)言課程是激發(fā)學(xué)生邏輯思維的課程,為后續(xù)專業(yè)理論深入研究提供了有利的計(jì)算機(jī)方法和應(yīng)用工具。同時(shí)隨著全國(guó)計(jì)算機(jī)等級(jí)考試(二級(jí))的全面展開,C語(yǔ)言課程成為全國(guó)計(jì)算機(jī)等級(jí)考試(二級(jí))的重點(diǎn)課程之一。雖然C語(yǔ)言課程越來越普遍,越來越重要,但是由于授課對(duì)象都是初次接觸程序設(shè)計(jì)的大學(xué)低年級(jí)學(xué)生,其豐富的語(yǔ)法、復(fù)雜的結(jié)構(gòu)層次、新穎的思維模式讓學(xué)生會(huì)逐漸產(chǎn)生畏難情緒。因此,采用何種教學(xué)方法來激發(fā)學(xué)生的思維,從而提高學(xué)生的編程能力,是這門課程對(duì)我們教師的教學(xué)提出了更高的要求。通常,課堂教學(xué)以PPT或板書形式強(qiáng)調(diào)語(yǔ)言本身的語(yǔ)法教學(xué),雖然學(xué)生掌握了不少語(yǔ)法知識(shí),但是在面對(duì)實(shí)際問題時(shí),卻不知如何下手,不能靈活運(yùn)用,甚至學(xué)完了這門課程還不會(huì)上機(jī)調(diào)試程序、解決問題并最終實(shí)現(xiàn)目標(biāo)程序。而實(shí)驗(yàn)教學(xué)不同于課堂教學(xué),它的主要任務(wù)是培養(yǎng)學(xué)生運(yùn)用綜合知識(shí)的能力。因此,加強(qiáng)對(duì)實(shí)驗(yàn)教學(xué)重要性的認(rèn)識(shí),不僅是提高學(xué)生學(xué)習(xí)效率的有效手段,也是提高C語(yǔ)言教學(xué)效果的重要環(huán)節(jié)。以一道例題為例MAININTIJI010J10PRINTFDDIJ在學(xué)習(xí)完數(shù)據(jù)類型和表達(dá)式章節(jié)和輸入輸出章節(jié)后,設(shè)置這道輸出程序結(jié)果的選擇題。論文檢測(cè)。學(xué)生在做這道習(xí)題時(shí),一致認(rèn)為習(xí)題給出的答案是錯(cuò)誤的,同學(xué)熱烈討論過后,問老師題目答案是不是出錯(cuò)了,這時(shí)老師才提示大家忽略了一個(gè)細(xì)節(jié),并告知答案沒有錯(cuò),這道題目不僅需要學(xué)生掌握自增、自減操作符的應(yīng)用,還需要掌握常量的知識(shí)要點(diǎn)。這樣當(dāng)個(gè)別同學(xué)領(lǐng)悟到整數(shù)常量八進(jìn)制形式的這個(gè)知識(shí)點(diǎn)時(shí),會(huì)留下深刻的印象。論文檢測(cè)。隨后在習(xí)題上,老師再次將這道習(xí)題作為典型例題向所有學(xué)生進(jìn)行講解,如此下來,學(xué)生遇到類似的題目,會(huì)比較小心并且能深刻理解常量方面的知識(shí)點(diǎn)。在每屆學(xué)生學(xué)習(xí)C語(yǔ)言的過程中,計(jì)算機(jī)考試軟件中的題庫(kù)可以隨時(shí)根據(jù)計(jì)算機(jī)二級(jí)考試大綱進(jìn)行更新,這樣既考慮到C語(yǔ)言課程的教學(xué)質(zhì)量,同時(shí)又和二級(jí)考試緊密銜接在一起。22后期綜合性實(shí)驗(yàn)經(jīng)過前期基礎(chǔ)性實(shí)驗(yàn)教學(xué),學(xué)生慢慢適應(yīng)C語(yǔ)言的總體結(jié)構(gòu)
      下載積分: 5 賞幣
      上傳時(shí)間:2024-03-14
      頁(yè)數(shù): 5
      9人已閱讀
      ( 4 星級(jí))
    關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服客服 - 聯(lián)系我們

    機(jī)械圖紙?jiān)创a,實(shí)習(xí)報(bào)告等文檔下載

    備案號(hào):浙ICP備20018660號(hào)