版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
..《程序設(shè)計基礎(chǔ)》實驗指導(dǎo)書<第一版>〔14~26學(xué)時信息學(xué)院《程序設(shè)計基礎(chǔ)》教研組2011年3月1日..目錄前言1實驗一C程序的運行環(huán)境和簡單C源程序的調(diào)試2一、實驗學(xué)時2二、實驗?zāi)康?三、預(yù)習(xí)要求2四、實驗內(nèi)容2五、實驗注意事項7六、思考題7實驗二數(shù)據(jù)類型、運算符和表達式9一、實驗?zāi)康?二、實驗要點9三、實驗要求9四、實驗內(nèi)容9五、思考與總結(jié)10實驗三選擇結(jié)構(gòu)程序設(shè)計11一、實驗學(xué)時11二、實驗?zāi)康?1三、預(yù)習(xí)要求11四、實驗內(nèi)容11五、實驗注意事項13六、思考題14實驗四循環(huán)結(jié)構(gòu)程序設(shè)計〔一16一、實驗學(xué)時16二、實驗?zāi)康?6三、預(yù)習(xí)要求16四、實驗內(nèi)容16五、實驗注意事項20六、思考題20實驗五循環(huán)結(jié)構(gòu)程序設(shè)計〔二22一、實驗學(xué)時22二、實驗?zāi)康?2三、預(yù)習(xí)內(nèi)容22四、實驗內(nèi)容22五、實驗注意事項24六、思考題24實驗六一維數(shù)組程序設(shè)計26一、實驗學(xué)時26二、實驗?zāi)康?6三、預(yù)習(xí)要求26四、實驗內(nèi)容26五、實驗注意事項28六、思考題28實驗七二維數(shù)組程序設(shè)計30一、實驗學(xué)時30二、實驗?zāi)康?0三、預(yù)習(xí)要求30四、實驗內(nèi)容30五、實驗注意事項34六、思考題35實驗八字符數(shù)組程序設(shè)計37一、實驗學(xué)時37二、實驗?zāi)康?7三、預(yù)習(xí)要求37四、實驗內(nèi)容37五、實驗注意事項39六、思考題39實驗九函數(shù)41一、實驗學(xué)時41二、實驗?zāi)康?1三、預(yù)習(xí)要求41四、實驗內(nèi)容41五、實驗注意事項46六、思考題46實驗十指針〔一49一、實驗學(xué)時49二、實驗?zāi)康?9三、預(yù)習(xí)要求49四、實驗內(nèi)容49五、實驗注意事項51六、思考題51實驗十一指針〔二52一、實驗學(xué)時52二、實驗?zāi)康?2三、預(yù)習(xí)要求52四、實驗內(nèi)容52五、實驗注意事項53六、思考題53實驗十二結(jié)構(gòu)體、共用體和位運算55一、實驗學(xué)時55二、實驗?zāi)康?5三、預(yù)習(xí)要求55四、實驗內(nèi)容56五、實驗注意事項59六、思考題59實驗十三文件60一、實驗學(xué)時60二、實驗?zāi)康?0三、預(yù)習(xí)要求60四、實驗內(nèi)容60五、實驗注意事項62六、思考題62附錄:常見錯誤提示信息的英漢對照63..前言C語言是現(xiàn)代最流行的通用程序設(shè)計語言之一,它既具有高級程序設(shè)計語言的優(yōu)點,又具有低級程序設(shè)計語言的特點,既可以用來編寫系統(tǒng)程序,又可以用來編寫應(yīng)用程序。因此,C語言正在被迅速地推廣和普及。上機實驗是該課程教學(xué)的一個重要環(huán)節(jié),因此要求學(xué)生做一定數(shù)量的上機實驗。本指導(dǎo)書可增強同學(xué)上機實驗的針對性。整個教學(xué)和實驗中,采用VC++6.0作為實驗環(huán)境,強調(diào)學(xué)生切實培養(yǎng)動手實踐能力,掌握調(diào)試程序的方法,通過調(diào)試理解C語言程序運行的過程以及C語言的語法規(guī)則,為后續(xù)的課程設(shè)計,計算機等級考試及其他應(yīng)用做好充分的準備。本實驗指導(dǎo)書通過大量的實例,循序漸進地引導(dǎo)學(xué)生做好各章的實驗。根據(jù)實驗教學(xué)大綱,共選擇編寫了13個實驗,其中必做11個,選做2個。每個實驗內(nèi)容結(jié)構(gòu)如下:〔1實驗學(xué)時〔2實驗?zāi)康摹?預(yù)習(xí)要求〔4實驗內(nèi)容〔5實驗注意事項〔6思考題其中思考題屬于擴展應(yīng)用部分,學(xué)生可以根據(jù)自己的學(xué)習(xí)情況選擇完成。在實驗之前,要求學(xué)生對實驗作好預(yù)習(xí)工作。在實驗中,學(xué)生根據(jù)實驗指導(dǎo)中的內(nèi)容進行驗證與總結(jié),然后再去完成實驗內(nèi)容中安排的任務(wù)。一般要求準備好相關(guān)代碼,實驗課中最好以調(diào)試和討論為主。實驗結(jié)束后,應(yīng)及時提交實驗報告,報告具體內(nèi)容可根據(jù)實驗內(nèi)容和實驗要求進行增刪。實驗報告一般要求包含:〔1實驗題目〔2設(shè)計思路或算法分析〔3流程圖〔4程序源代碼〔5程序運行結(jié)果及分析〔6存在的問題。實驗一C程序的運行環(huán)境和簡單C源程序的調(diào)試一、實驗學(xué)時2學(xué)時二、實驗?zāi)康摹惨徽莆赵赩isaulC++環(huán)境如何編輯、編譯和運行C源程序;〔二掌握C語言的各種數(shù)據(jù)類型以及整型、字符型、實型變量的定義;〔三掌握C語言中有關(guān)算術(shù)運算符及表達式的使用。三、預(yù)習(xí)要求熟悉C程序的書寫規(guī)則、上機調(diào)試步驟;熟悉C語言的數(shù)據(jù)類型;熟悉C語言表達式的構(gòu)成、運算規(guī)則等內(nèi)容。<一>VisualC++6.0集成開發(fā)環(huán)境簡介由于這些年C++語言程序的普及,VisualC++6.0集成開發(fā)環(huán)境作為一種功能強大的程序編譯器也被相當(dāng)多的程序員所使用,使用VisualC++也能夠完成C語言的編譯。由于VisualC++集成開發(fā)環(huán)境運行于Windows下,對于習(xí)慣于圖形界面的用戶來說是比較易學(xué)的,因此,簡要介紹一下如何用VisualC++來完成C語言程序的設(shè)計。VisualC++也有多種版本,本書中使用比較普及的VisualC++6.0集成開發(fā)環(huán)境。<二>VisualC++6.0集成開發(fā)環(huán)境安裝VisualC++中文版集成開發(fā)環(huán)境的安裝比較簡單,在輸入SETUP執(zhí)行后,可以按照提示信息完成程序安裝,在這里不再詳述。四、實驗內(nèi)容〔一創(chuàng)建一個新的文件夾為了方便管理自己的C語言程序,在啟動VisualC++6.0集成開發(fā)環(huán)境前,首先在E盤創(chuàng)建一個新的文件夾,以便存放自己的C語言程序?!捕覸isualC++6.0集成開發(fā)環(huán)境如圖1-1所示,單擊"開始"→"程序"→MicrosoftVisualStudio6.0→MicrosoftVisualC++6.0,就可以啟動VisualC++6.0集成開發(fā)環(huán)境。啟動后的VisualC++6.0集成開發(fā)環(huán)境如圖1-2所示?!踩_始一個新程序1.創(chuàng)建文件單擊主菜單中的"文件"→"新建"菜單命令,彈出"新建"對話框,在"新建"對話框中選擇"文件"選項卡。在左邊列出的選項中,選擇"C++SourceFile";在右邊的相應(yīng)對話框中,輸入文件名稱"c1-1.c"及保存的位置,如圖1-3所示。單擊"確定"按鈕。圖1-1啟動VisualC++6.0的方法圖1-2VisualC++6.0中文版集成開發(fā)環(huán)境E盤新建的文件夾E盤新建的文件夾圖1-3創(chuàng)建新的C源文件進入VisualC++6.0集成環(huán)境的代碼編輯窗口,如圖1-4所示。圖1-4VisualC++6.0集成環(huán)境的代碼編輯窗口2.代碼編輯在VisualC++6.0代碼編輯窗口中,輸入如下所示的源代碼,完成后如圖1-4中所示。程序代碼:/*c1-1.cC語言的第一個程序*/#include"stdio.h"voidmain<>{ printf<"*\n">;printf<"***\n">;printf<"*****\n">;}3.程序的編譯、連接與運行將C語言源代碼編譯成計算機能執(zhí)行的目標代碼。單擊主菜單下的"組建"→"編譯[c1-1.c]"〔或者是工具欄上的按鈕或按快捷鍵Ctrl+F7,此時將彈出一個對話框,詢問是否創(chuàng)建一個項目工作區(qū),選擇"是〔Y"。VisualC++6.0集成開發(fā)環(huán)境會自動在c1-1.c文件所在文件夾中建立相應(yīng)的項目文件。編譯時,在下方的輸出框中將顯示出相應(yīng)的編譯說明,如圖1-5所示。如果代碼編譯無誤,最后將顯示:c1-1.obj-0error<s>,0warning<s>這說明編譯沒有錯誤〔error和警告〔warning,生成目標文件c1-1.obj,程序編譯順利完成。目標文件〔.obj不能被計算機直接執(zhí)行,接下來將目標文件〔.obj和相關(guān)的庫函數(shù)或目標程序連接成為可執(zhí)行程序〔.exe。工具欄編譯按鈕工具欄編譯按鈕編譯信息窗口圖1-5VisualC++6.0集成環(huán)境下編譯源程序單擊主菜單下的"組建"→"批組建"命令,將彈出如圖1-6所示的對話框。圖1-6VisualC++6.0集成環(huán)境下批組建對話框確保選中"c1-1-Win32Release"復(fù)選框,這樣生成的可執(zhí)行文件才是發(fā)行版的程序,否則生成的是調(diào)試〔Debug版的程序。單擊"創(chuàng)建"按鈕,生成可執(zhí)行文件c1-1.exe。如果在"批組建"對話框中選中了兩個復(fù)選框,可以看到程序中生成了兩個c1-1.exe可執(zhí)行文件,一個文件為調(diào)試版本,存儲在與c1-1.c同一文件夾下的Debug文件夾中;另一個是發(fā)行版本,保存在與c1-1.c同一文件夾下的Release文件夾中。這一步只是為了生成發(fā)行版的程序文件,只有在程序準備發(fā)行時才需要執(zhí)行這種編譯。在通常情況下,可以單擊主菜單下的"組建"→"組建[c1-1.exe]"〔或工具欄按鈕或按快捷鍵F7,直接生成調(diào)試版本程序就可以了。編譯、連接完成后,c1-1.exe已經(jīng)是一個獨立的可執(zhí)行程序,可以在Windows資源管理器中直接執(zhí)行,也可以在VisualC++6.0集成開發(fā)環(huán)境中運行。單擊主菜單下的"組建"→[執(zhí)行c1-1.exe]〔或工具欄按鈕或按快捷鍵Ctrl+F5,此時彈出一個控制臺程序窗口,程序正確運行,如圖1-7所示。按任意鍵后返回VisualC++6.0集成開發(fā)環(huán)境。圖1-7VisualC++6.0集成環(huán)境下程序運行結(jié)果4.關(guān)閉工作空間當(dāng)?shù)?~3步工作完成后,應(yīng)該將工作保存下來,并關(guān)閉工作空間,以便做下一個新的程序。單擊主菜單下的"文件"→"保存全部",然后再單擊"文件"→"關(guān)閉工作空間"菜單命令,詢問確認要關(guān)閉所有文檔窗口,選擇"是〔Y"?!菜陌凑铡踩牟僮?輸入下面的程序,運行并查看輸出結(jié)果。/*c1-2.cC語言的第二個程序*/#include"stdio.h"voidmain<>{intc,a=3,b=5;c=a+b;printf<"a=%d,b=%d,c=%d\n",a,b,c>;}〔五打開已有的文件在打開已有的文件時一定要先確認關(guān)閉了工作空間,然后單擊主菜單下的"文件"→"打開"命令,選擇〔三創(chuàng)建的c1-1.c文件,然后打開。〔六重新開始一個新的程序關(guān)閉所有工作空間,點擊VisualC++6.0窗口的關(guān)閉按鈕即可退出VisualC++6.0集成環(huán)境,按照〔二、〔三再次進入VisualC++6.0集成環(huán)境,輸入以下程序:/*c1-3.cC語言的第三個程序*/#include"stdio.h"voidmain<>{inta=38;printf<"%d,%5d,%-5d\n",a,a,a>;printf<"%d,%o,%x,%u\n",a,a,a,a>;}注意觀察兩個printf函數(shù)語句輸出結(jié)果有何不同?〔七在VisualC++6.0集成環(huán)境,輸入以下程序:/*c1-4.cC語言的第四個程序*/#include"stdio.h"voidmain<>{longinta=32767;printf<"a=%ld\t",a>;printf<"a=%u\t",a>;printf<"a=%d\n",a>;}將程序中的a改為a=65535,并再次運行程序,觀察結(jié)果?!舶嗽赩isualC++6.0集成環(huán)境,,輸入以下程序:/*c1-5.cC語言的第五個程序*/#include"stdio.h"voidmain<>{charc1=97,c2=98;inta=97,b=98;printf<"%3c,%3c\n",c1,c2>;printf<"%d,%d\n",c1,c2>;printf<"\n%c%c\n",a,b>;}觀察程序運行結(jié)果,掌握int與char類型數(shù)據(jù)的互通性?!簿旁赩isualC++6.0集成環(huán)境,輸入以下程序:/*c1-6.cC語言的第六個程序*/#include"stdio.h"voidmain<>{inta,b;a=2;b=1%a;printf<"%d\n",1/a>;printf<"b=%d\n",b>;printf<"%f%f\n",<float><1/a>,<float>b>;}觀察程序運行結(jié)果,〔十在VisualC++6.0集成環(huán)境,輸入以下程序:/*c1-7.cC語言的第七個程序*/#include"stdio.h"voidmain<>{inti,j;i=3;j=4;printf<"%d,%d\n",i++,++j>;printf<"%d,%d\n",i,j>;printf<"%d,%d\n",-i++,-++j>;}〔十一在VisualC++6.0集成環(huán)境,輸入以下程序/*c1-8.cC語言的第八個程序*/#include"stdio.h"voidmain<>{inta,b;a=5;a-=a*a;printf<"a=%d\n",a>;b=<a=3*5,a*4,a+5>;printf<"a=%d,b=%d\n",a,b>;}〔十二下面程序,計算輸出當(dāng)x=2.5,a=7,y=4.7時,表達式/*c1-9.cC語言的第九個程序*/#include"stdio.h"voidmain<>{_________a=7;floatx=2.5,y=4.7,z;z=x+a%3*<int><x+y>%2/4;printf<"z=%f\n",z>;}程序不完整,請刪除橫線后填空并運行程序。五、實驗注意事項〔一在VisualC++6.0集成環(huán)境VisualC++6.0集成環(huán)境〔二由于C程序運行必須從main函數(shù)開始,因此一個C程序要有一個main函數(shù),且只能有一個main函數(shù)。當(dāng)一個程序運行結(jié)束之后,一定要先"文件"→"關(guān)閉工作空間",然后再開始創(chuàng)建一個新的C程序?!踩诔绦虻妮斎脒^程中:1.要注意區(qū)分大小寫;2.要注意程序中需要空格的地方一定要留空格<如inta=3,b=5;中的int和a之間必須留空格>;3.注意"\"與"/"的區(qū)別。4.所定義的變量的類型與輸入的數(shù)據(jù)的類型要一致,輸出時的格式一定要滿足數(shù)據(jù)的大小。5.注意實驗內(nèi)容〔十二中當(dāng)運算對象均為整數(shù)時"/"運算符的使用,"%"運算符兩邊一定是整型數(shù)據(jù)。6.注意自加和自減運算符的運算規(guī)則,仔細分析實驗內(nèi)容〔十中程序的輸出結(jié)果。六、思考題〔一有如下程序:#include"stdio.h"voidmain<>{inta=-1;printf<"%d,%o,%x,%u\n",a,a,a,a>;}printf語句的運行結(jié)果是_______________。〔二有如下程序:#include"stdio.h"voidmain<>{charc1=97,c2=98;inta=97,b=98;printf<"%3c,%3c\n",c1,c2>;printf<"%d,%d\n",c1,c2>;printf<"%c%c\n",a,b>;}最后一個printf語句的運行結(jié)果是_______________。〔三有如下程序:#include"stdio.h"voidmain<>{inti,j;i=3;j=4;printf<"%d%d\n",i++,++j>;printf<"%d,%d\n",i,j>;printf<"%d,%d\n",-i++,-++j>;}最后一個printf語句的運行結(jié)果是_______________?!菜某绦蛱羁眨?include"stdio.h"voidmain<>{_________a=7;floatx=2.5,y=4.7,z;z=x+a%3*<int><x+y>%2/4;printf<"z=%f\n",z>;}程序中空格處應(yīng)填_______________。..實驗二數(shù)據(jù)類型、運算符和表達式一、實驗?zāi)康摹?了解C語言數(shù)據(jù)類型的意義,掌握基本數(shù)據(jù)類型變量的特點和定義方法?!?學(xué)會使用C的算術(shù)運算符,以及包含這些運算符的算術(shù)表達式?!?掌握自加〔++和自減〔--運算符的使用?!?進一步熟悉C程序的編輯、編譯、連接和運行的過程。二、實驗要點基本數(shù)據(jù)類型包括整型、字符型、實型。三、實驗要求〔1上機前先閱讀和編寫以下要調(diào)試的程序?!?上機輸入和調(diào)試程序并存在磁盤上。〔3檢查實驗結(jié)果是否正確。四、實驗內(nèi)容〔以下內(nèi)容在實驗報告中的實驗預(yù)習(xí)報告內(nèi)容中完成1.調(diào)試程序,分析輸出結(jié)果〔1輸入并運行以下程序。main<>{floata,b;a=123456.789e5;b=a+20;printf<"a=%f,b=%f\n",a,b>;}將第二行改為:doublea,b;重新運行該程序,分析運行結(jié)果。說明:由于實型變量的值是用有限的存儲單元存儲的,因此其有效數(shù)字的位數(shù)是有限的。float型變量最多只能保證7位有效數(shù)字,后面的數(shù)字是無意義的,不能準確表示該數(shù)。〔2輸入并運行以下程序。main<>{charc1,c2;c1=97;c2=98;printf<"%c%c\n",c1,c2>;printf<"%d%d\n",c1,c2>;}①將第二行改為:intc1,c2;再運行。②再將第三行改為:c1=300;c2=400;再運行,分析運行結(jié)果。說明:字符型數(shù)據(jù)可作為整型數(shù)據(jù)處理,整型數(shù)據(jù)也可以作為字符型數(shù)據(jù)處理,但應(yīng)注意字符數(shù)據(jù)只占一個字節(jié),它只能存放0-255范圍的整數(shù)。2.完成以下填空,并把程序調(diào)通,寫出運行結(jié)果。下面的程序計算由鍵盤輸入的任意兩個整數(shù)的平均值:main<>{intx,y;;scanf<"%d,%d",&x,&y>;;printf<"Theaverageis:%f",a>;}3.指出以下程序的錯誤并改正,上機把程序調(diào)通main<>;{inta;a=5;printf<"a=%d,a>}4.編寫程序并上機運行要將"China"譯成密碼,譯碼規(guī)律是:用原來字母后面的第3個字母代替原來的字母。例如,字母"A"后面第4個字母是"E",用"E"代替"A"。因此,"China"應(yīng)譯為"Fklqd"。請編一程序,用賦初值的方法使c1、c2、c3、c4、c5五個變量的值分別為‘C’、‘h’、‘i’、‘n’、‘a(chǎn)’,經(jīng)過運算,使c1、c2、c3、c4、c5分別變?yōu)椤瓼’、‘k’、‘l’、‘q’、‘d’、,并輸出。輸入程序,并運行該程序。分析是否符合要求。五、思考與總結(jié)〔1總結(jié)各種整型變量的取值范圍?!?總結(jié)各種實型變量的有效數(shù)字位數(shù)和取值范圍?!?總結(jié)算術(shù)運算符和自加、自減運算符的優(yōu)先級與結(jié)合性。..實驗三選擇結(jié)構(gòu)程序設(shè)計一、實驗學(xué)時2學(xué)時二、實驗?zāi)康摹惨徽莆誄語言關(guān)系表達式和邏輯表達式的運算和使用;〔二正確使用條件控制語句〔if語句、switch語句進行選擇結(jié)構(gòu)程序設(shè)計。三、預(yù)習(xí)要求〔一關(guān)系運算符和關(guān)系表達式、邏輯運算符和邏輯表達式;〔二if語句的三種形式〔單分支、雙分支、多分支,以及if語句的嵌套;〔三switch語句的形式。四、實驗內(nèi)容〔一分析下面程序,掌握關(guān)系及邏輯表達式的運算規(guī)則。/*c3-1.c關(guān)系及邏輯表達式運算規(guī)則*/#include"stdio.h"voidmain<>{inta=3,b=5,c=8;if<a++<3&&c--!=0>b=b+1;printf<"a=%d\tb=%d\tc=%d\n",a,b,c>;}注意該程序中的條件判斷表達式a++<3&&c--!=0是一個邏輯表達式,關(guān)系表達式a++<3的值為假,因此后一部分c--!=0就不再計算。試比較下列各部分運行結(jié)果。#include"stdio.h"voidmain<>{inta=3,b=5,c=8;if<a++<3&&c--!=0>b=b+1;printf<"a=%d\tb=%d\tc=%d\n",a,b,c>;inta=3,b=5,c=8;if<c--!=0&&a++<3>b=b+1;printf<"a=%d\tb=%d\tc=%d\n",a,b,c>;inta=3,b=5,c=8;if<a++<3||c--!=0>b=b+1;printf<"a=%d\tb=%d\tc=%d\n",a,b,c>;inta=3,b=5,c=8;if<c--!=0||a++<3>b=b+1;printf<"a=%d\tb=%d\tc=%d\n",a,b,c>;}〔二輸入下面兩段程序并運行,掌握case語句中break語句的作用。1./*c3-2.c*//*c3-3.c*//*不含break的switch*//*含break的switch*/#include"stdio.h"#include"stdio.h"voidmain<>voidmain<>{inta,m=0,n=0,k=0; {inta,m=0,n=0,k=0;scanf<"%d",&a>; scanf<"%d",&a>;switch<a> switch<a>{case1:m++; {case1:m++;break;case2: case2:case3:n++; case3:n++;break;case4: case4:case5:k++; case5:k++;}}printf<"%d,%d,%d\n",m,n,k>;printf<"%d,%d,%d\n",m,n,k>;}}分別從鍵盤上輸入1、3、5,寫出程序運行的結(jié)果?!踩晟瞥绦?從鍵盤上輸入x的值,按下式計算y的值。編程提示:注意邏輯表達式的正確表達方法,數(shù)學(xué)中的1≤x<10應(yīng)使用C語言的邏輯表達式〔x>=1&&x<10來表示。下面是用多分支選擇結(jié)構(gòu)實現(xiàn)本題的程序結(jié)構(gòu):/*c3-4.cif語句實現(xiàn)的多分支結(jié)構(gòu)*/#include"stdio.h"voidmain<>{定義變量;輸入x;if<_______________>//按y=x為變量y賦值;elseif<_______________>//按y=2x-1為變量y賦值;else_______________//按y=3x-11為變量y賦值;printf<"y=%f\n",y>;}注意:在賦值語句中2x應(yīng)該寫成2*x。〔四編寫程序,給出一個百分制成績,要求輸出相應(yīng)的等級A、B、C、D、E。90分以上為'A',80~89分為'B',70~79分為'C',60~69分為'D',60分以下為'E'。編程提示:1.先定義一個整型變量存放百分制成績、定義一個字符型變量存放相應(yīng)的等級成績;2.輸入百分制成績;3.將百分制成績按10分,分檔作為switch語句中括號內(nèi)的表達式;4.按 case10:case9:case8:case7:case6:default:這六種匹配情況分別選擇不同的入口;5.輸出轉(zhuǎn)換后的等級成績?!参逑旅娉绦蜻\行時從鍵盤上分別輸入<20,15>,<15,20>,寫出運行結(jié)果。/*c3-5.c分支結(jié)構(gòu)中的復(fù)合語句*/#include"stdio.h"voidmain<>{inta,b,t;t=0;scanf<"%d,%d",&a,&b>;if<a>b>{t=a;a=b;b=t;}printf<"a=%d,b=%d\n",a,b>;}〔六編寫程序,給出一個不多于3位的正整數(shù)n,要求:〔1求出它是幾位數(shù);〔2分別打印出每一位數(shù)字〔數(shù)字之間加一個空格;〔3按逆序打印出各位數(shù)字〔數(shù)字之間加一個空格。編程提示:1.定義變量〔考慮需要幾個變量并輸入一個3位以下的正整數(shù)n2.將n拆分成三個一位數(shù):表達式:n%10可將一個三位數(shù)n拆分出三位數(shù)中的個位數(shù);表達式:n/100可將一個三位數(shù)n拆分出三位數(shù)中的百位數(shù);表達式:<<n%100>>/10或<n-<n/100>*100>/10可將一個三位數(shù)n拆分出三位數(shù)中的十位數(shù)。3.用一個嵌套的選擇結(jié)構(gòu),按照百位數(shù)、十位數(shù)是否為0決定n為幾位數(shù)。4.按相反的順序輸出n。思考:如果是對一個5位的正整數(shù)進行上述處理,程序應(yīng)如何改動?〔七寫出與表達式z=〔x>=y?x:y等價的if語句,并上機驗證。五、實驗注意事項〔一C程序中表示比較運算的等號用"=="表示,賦值運算符用"="表示,不能將賦值號"="用于比較運算?!捕刂票磉_式是指任何合法的C語言表達式〔不只限于關(guān)系或邏輯表達式,只要表達式的值為"非零",則為"真","零"則為"假"〔三在if語句的嵌套結(jié)構(gòu)中,else與if的配對原則是:每個else總是與同一個程序中、在前面出現(xiàn)的、而且距它最近的一個尚未配對的if構(gòu)成配對關(guān)系?!菜腸ase及后面的常量表達式,實際僅是起標號作用??刂票磉_式的值與某個情況常量一旦匹配,那么,在執(zhí)行下面語句的過程中,只要不遇到break語句,就一直執(zhí)行下去,而不再判別是否匹配。允許出現(xiàn)多個"case"與一組語句相對應(yīng)的情況。六、思考題〔一下面程序的功能是實現(xiàn)表達式z=〔x>=y?x:y,請將程序填寫完整。/*分支結(jié)構(gòu)的程序*/#include"stdio.h"voidmain<>{intx,y,z;printf<"Pleaseinputx,y:">;scanf<"%d%d",&x,&y>;if<________>z=x;elsez=y;printf<"z=%d",z>;}〔二下面程序的運行結(jié)果為_______________。/*分支結(jié)構(gòu)的程序*/#include"stdio.h"voidmain<>{inta=1,b=5,c=8;if<a++<3&&c--!=0>b=b+1;printf<"a=%d,b=%d,c=%d\n",a,b,c>;}〔三程序填空,從鍵盤上輸入x的值,按下式計算y的值。/*多分支結(jié)構(gòu)的程序*/#include"stdio.h"voidmain<>{floatx,y;printf<"x=">;scanf<"%f",&x>;if<_________>y=x;elseif<x>=1&&x<10>y=2*x-1;elsey=3*x-11;printf<"y=%f\n",y>;}〔四下面程序運行時從鍵盤上輸入15,20,運行結(jié)果為_______________。/*分支結(jié)構(gòu)的程序*/#include"stdio.h"voidmain<>{inta,b,t;t=0;scanf<"%d,%d",&a,&b>;if<a>b>{t=a;a=b;b=t;}printf<"b=%d\n",b>;}實驗四循環(huán)結(jié)構(gòu)程序設(shè)計〔一一、實驗學(xué)時2學(xué)時二、實驗?zāi)康摹惨徽莆沼脀hile,do-while,for語句實現(xiàn)循環(huán)的方法;〔二掌握在設(shè)計條件型循環(huán)結(jié)構(gòu)的程序時,如何正確地設(shè)定循環(huán)條件,以及如何控制循環(huán)的次數(shù)。〔三掌握與循環(huán)有關(guān)的算法。三、預(yù)習(xí)要求預(yù)習(xí)教材有關(guān)while,do-while,for語句的語法格式,并能通過這三種語句編寫、調(diào)試單層循環(huán)結(jié)構(gòu)的程序。四、實驗內(nèi)容〔一分析并運行下面程序段,循環(huán)體的執(zhí)行次數(shù)是__________。inta=10,b=0;do{b+=2;a-=2+b;}while<a>=0>;〔二當(dāng)執(zhí)行以下程序段時,循環(huán)體執(zhí)行的次數(shù)是__________。x=-1;do{x=x*x;}while<!x>;〔三編程求1!+2!+3!+……+20!的值。注意:根據(jù)題目,考慮所定義的各個變量應(yīng)該為何種類型。程序結(jié)構(gòu)如下:/*c4-1.c求1!+2!+3!+……+20!*/#include"stdio.h"voidmain<>{定義變量i作為循環(huán)控制變量;定義變量p和sum分別存放各個整數(shù)的階乘和階乘之和;變量p和sum賦初值;for<i=1;i<=20;i++>{變量p連乘;變量sum累加;}輸出sum的值;}〔四編寫一個程序,求出兩個數(shù)m和n的最大公約數(shù)和最小公倍數(shù)。編程提示:求最大公約數(shù)的方法有三種:1.從兩個數(shù)中較小數(shù)的開始向下判斷,如果找到一個整數(shù)能同時被m和n整除,則終止循環(huán)。設(shè)n為m和n中較小的數(shù),則如下程序段可實現(xiàn):for<k=n;k>=1;k-->if<m%k==0&&n%k==0>break;k即為最大公約數(shù)。/*c4-2.c求最大公約數(shù)算法1*/#include"stdio.h"voidmain<>{}2.從整數(shù)1開始向上找,直至m和n中較小的數(shù),每找到一個能同時被m和n整除的整數(shù),將其存入一個變量中,當(dāng)循環(huán)結(jié)束時,變量中存放的即為最大公約數(shù)。設(shè)n為m和n中較小的數(shù),則如下程序段可實現(xiàn):for<k=1;k<=n;k++>if<m%k==0&&n%k==0>x=k;變量x的值即為最大公約數(shù)。/*c4-3.c求最大公約數(shù)算法2*/#include"stdio.h"voidmain<>{}3.用輾轉(zhuǎn)相除法,即將求m和n的最大公約數(shù)問題轉(zhuǎn)化為求其中的除數(shù)和兩個數(shù)相除所得余數(shù)的公約數(shù)。每次循環(huán)中,先求兩個數(shù)的余數(shù),然后以除數(shù)作為被除數(shù),以余數(shù)作為除數(shù),當(dāng)余數(shù)為0時結(jié)束循環(huán),此時除數(shù)即為最大公約數(shù)。設(shè)m和n中n為較小的數(shù),則可用如下程序段實現(xiàn):b=m%n;while<b!=0>{m=n;n=b;b=m%n;}printf<"%d\n",n>;/*c4-4.c求最大公約數(shù)算法3*/#include"stdio.h"voidmain<>{}類似地,求最小公倍數(shù)的方法也可以從m和n中較大的數(shù)開始向上找,或者從m*n向下找,請自己考慮程序的設(shè)計方法。另外,兩個數(shù)的最大公約數(shù)和最小公倍數(shù)的關(guān)系為:最小公倍數(shù)=m*n/最大公約數(shù)可利用此關(guān)系進行程序設(shè)計。〔五編程實現(xiàn),從鍵盤上輸入一行字符,統(tǒng)計其中英文字母、數(shù)字、空格和其它字符的個數(shù)。編程提示:先定義一個字符型的變量〔如c,再定義4個整型變量作為計數(shù)器,作為計數(shù)器的變量要先賦初值0。在循環(huán)中每次從鍵盤上讀入一個字符,在循環(huán)體中對讀入的字符進行判斷,相應(yīng)的計數(shù)器加1,當(dāng)讀入的字符為’\n’時結(jié)束。編程中可使用如下的循環(huán)結(jié)構(gòu):while<<c=getchar<>>!=’\n’>>{if<……>……;elseif<……>……;……;else……;}/*c4-5.c統(tǒng)計字符串中指定字符的個數(shù)*/#include"stdio.h"voidmain<>{}注意:1.while<<c=getchar<>>!=’\n’>>中括號的使用,第二層的小括號不能省略,想一想為什么?2.字符常量’0’〔六下面程序的功能是:計算1到100之間的奇數(shù)之和及偶數(shù)之和,并輸出。請在程序中的橫線上填入適當(dāng)?shù)膬?nèi)容,將程序補充完整并運行。/*c4-6.c計算1到100之間的奇數(shù)之和及偶數(shù)之和*/#include"stdio.h"voidmain<>{inta,b,c,i;_____________;/*變量初始化*/for<i=0;i<=100;i+=2>{a+=i;/*變量a存放偶數(shù)的和*/____________;c+=b;/*變量c存放奇數(shù)的和*/}printf<"sumofevensis%d\n",a>;printf<"sumofoddsis%d\n",________>;}〔七編程打印出所有的"水仙花數(shù)",所謂水仙花數(shù)是指一個3位數(shù),其各位數(shù)字的立方和等于該數(shù)本身。如153=13+33+53。編程提示:定義一個變量作為循環(huán)變量,再定義3個變量分別存放三位數(shù)的每位數(shù)字,在循環(huán)體中將一個三位數(shù)拆分成個位、十位、百位后判斷循環(huán)變量的值是否為水仙花數(shù),如果是則輸出,否則不輸出。程序的基本結(jié)構(gòu)為:/*c4-7.c打印出所有的"水仙花數(shù)"*/#include"stdio.h"voidmain<>{定義4個整型變量;for<j=100;j<=999;j++>{a=j/100;/*分離出百位數(shù)*/b=j/10-a*10;/*分離出十位數(shù)*/c=___________;/*分離出個位數(shù)*/if<j==a*a*a+b*b*b+c*c*c>輸出j;}printf<"\n">;}〔八以下程序的功能是:從鍵盤上輸入若干個學(xué)生的成績,統(tǒng)計并輸出最高成績和最低成績,當(dāng)輸入負數(shù)時結(jié)束輸入。請將程序補充完整。/*c4-8.c求最大值最小值程序*/#include"stdio.h"voidmain<>{floatx,amax,amin;scanf<"%f",&x>;amax=x;amin=x;while<_______________>{if<x>amax>amax=x;if<_______________>amin=x;scanf<"%f",&x>;}printf<"\namax=%f\namin=%f\n",amax,amin>;}〔九求兩個正整數(shù)[m,n]之間所有既不能被3整除也不能被7整除的整數(shù)之和。編程提示:定義兩個變量m,n和t,再定義一個循環(huán)變量和結(jié)果變量s,從鍵盤輸入m和n的值,判斷兩個變量的值,如果m>n,則交換兩個變量。然后用循環(huán)依次判斷m和n之間的每一個數(shù),在循環(huán)體中通過條件語句來判斷這個數(shù)是否既不能被3整除也不能被7整除,如果滿足條件,累加求和,如果不滿足,則繼續(xù)循環(huán)。程序的基本結(jié)構(gòu)如下:/*c4-9.c按條件求數(shù)列和*/#include"stdio.h"voidmain<>{定義變量;變量賦初值;輸入m,n的值;if<m>n>m和n交換;for<_______________>if<i%3!=0&&i%7!=0>變量s累加求和;printf<"Sumis:%ld\n",s>;}〔十下面程序的功能是:計算正整數(shù)num的各位上的數(shù)字之和。例如,若輸入:252,則輸出應(yīng)該是:9;若輸入:202,則輸出應(yīng)該是:4。請將程序補充完整。/*c4-10.c求整數(shù)各位數(shù)字和*/#include"stdio.h"voidmain<>{intnum,k;_______________;/*k賦初值*/printf<"\Pleaseenteranumber:">;scanf<"%d",&num>;do{k=_______________;/*取最低位并累加*/num/=10; /*去掉最低位*/}while<num>;printf<"\n%d\n",k>;}五、實驗注意事項〔一while,do-while,for語句中應(yīng)有使循環(huán)趨向于結(jié)束的語句,否則就可能構(gòu)成死循環(huán)?!捕hile,do-while語句什么情況下的運行結(jié)果是相同的,什么情況下不同?!踩⒁庠谘h(huán)結(jié)構(gòu)程序設(shè)計中,正確使用{}六、思考題〔一求兩個正整數(shù)x和y的最大公約數(shù),請?zhí)羁铡?*求最大公約數(shù)程序*/#include"stdio.h"voidmain<>{intx,y,t,i;scanf<"%d,%d",&x,&y>;/if<x>y>{t=x;x=y;y=t;}for<i>=1;i<=x;i++>{if<x%i==0&&y%i==0>break;}printf<"%d\n",i>;}〔二計算1到100之間的奇數(shù)之和及偶數(shù)之和。請?zhí)羁铡?*計算1到100之間的奇數(shù)之和及偶數(shù)之和*/#include"stdio.h"voidmain<>{inta,b,c,i;a=0,c=0;/*變量賦初值*/for<i=0;i<=100;i+=2>{a+=i;/*變量a存放偶數(shù)的和*/_______________;c+=b;/*變量c存放奇數(shù)的和*/}printf<"SumofEvensis%d\n",a>;printf<"SumofOddsis%d\n",c-101>;}〔三下面程序的功能是:計算正整數(shù)num的各位上的數(shù)字之和。例如,若輸入:252,則輸出應(yīng)該是:9;若輸入:202,則輸出應(yīng)該是:4。請將程序補充完整。/*計算整數(shù)各位數(shù)字和*/#include"stdio.h"voidmain<>{intnum,k=0;printf<"請輸入一個整數(shù):">;scanf<"%d",&num>;do{k=____________;num/=10;}while<num>;printf<"\n%d\n",k>;}〔四求兩個正整數(shù)[m,n]之間所有既不能被3整除也不能被7整除的整數(shù)之和。請?zhí)羁铡?*按條件求數(shù)列和*/#include"stdio.h"voidmain<>{intm,n,i,t;longints=0;scanf<"%d,%d",&m,&n>;if<m>n>{t=m;m=n;n=t;}for<_______________>if<i%3!=0&&i%7!=0>s+=i;printf<"Sumis:%ld\n",s>;}實驗五循環(huán)結(jié)構(gòu)程序設(shè)計〔二一、實驗學(xué)時2學(xué)時二、實驗?zāi)康摹惨徽莆帐褂胒or,while,do-while語句實現(xiàn)循環(huán)嵌套的方法;〔二鞏固break和continue語句的使用。三、預(yù)習(xí)內(nèi)容預(yù)習(xí)教材中有關(guān)用for,while,do-while語句實現(xiàn)循環(huán)嵌套的方法以及循環(huán)嵌套的執(zhí)行過程。四、實驗內(nèi)容〔一根據(jù)公式:sum=,計算sum的值。注意:根據(jù)題目,考慮所定義的各個變量應(yīng)該為何種類型。編程提示:定義一個變量存放最后的求和結(jié)果〔假設(shè)為sum,sum的數(shù)據(jù)類型應(yīng)為實型,定義變量t計算整數(shù)的階乘。使用雙重循環(huán),程序的基本結(jié)構(gòu)為:for<i=1,sum=0;i<=20;i++>{t賦初值1;for<j=1;j<=i;j++>變量t連乘求積;變量sum累加t的倒數(shù);}注意上述程序結(jié)構(gòu)和內(nèi)循環(huán)變量的終值。想一想是否可以將t=1放在外循環(huán)之前?/*c5-1.c求數(shù)列和*/#include"stdio.h"voidmain<>{}〔二編程輸出九九乘法表。編程提示:我們?nèi)粘?吹降某朔ū硎牵?×1=11×2=22×2=41×3=32×3=63×3=9…1×9=9………9×9=81每個算式可以歸為:i×j=?的形式,而且每行中的算式數(shù)量隨著行數(shù)變化??紤]外層循環(huán)變量和內(nèi)層循環(huán)變量應(yīng)當(dāng)取何值呢?程序的基本結(jié)構(gòu)為:for<i=1;i<=9;i++>{for<j=1;__________;j++>輸出乘法算式;輸出回車換行符;}/*c5-2.c輸出九九乘法表*/#include"stdio.h"voidmain<>{}〔三編程求100~300之間的素數(shù)和。編程提示:首先,弄清素數(shù)的概念是本題的關(guān)鍵,素數(shù):只能被1和它本身整除的數(shù)為素數(shù)。判斷一個數(shù)是否為素數(shù)需要使用循環(huán)結(jié)構(gòu)才能實現(xiàn),求出100~300之間的全部素數(shù)要使用循環(huán)的嵌套結(jié)構(gòu)。程序結(jié)構(gòu)提示如下:/*c5-3.c求100~300之間的素數(shù)和*/#include"stdio.h"voidmain<>{定義變量;外層循環(huán)變量i從100遞增到300{標志變量賦0;內(nèi)層循環(huán)變量從2遞增到i-1如果不是素數(shù)〔能整除,則標志變量賦1,跳出循環(huán);如果標志變量為0〔是素數(shù),進行求和;}輸出求和結(jié)果;}〔四編程輸出以下圖形。*********編程提示:輸出圖形的這一類問題,首先要看一看圖形的特點,找到規(guī)律:一共有幾行,每行先輸出什么字符,輸出幾個;后輸出什么字符,輸出幾個。一般外循環(huán)變量控制行數(shù),內(nèi)循環(huán)變量控制各種字符的數(shù)量。程序的基本結(jié)構(gòu)為:for<i=0;i<=2;i++>{連續(xù)輸出若干空格;連續(xù)輸出若干個"*";輸出一個換行;}/*c5-4.c輸出字符圖形*/#include"stdio.h"voidmain<>{}想一想,輸出下面的三種圖形分別應(yīng)當(dāng)怎樣實現(xiàn):*********************************************************************〔五運行以下程序,分析程序的運行結(jié)果并上機驗證。/*c5-5.c循環(huán)結(jié)構(gòu)程序*/#include"stdio.h"voidmain<>{inti=0,a=0;while<i<20>{for<;;>{if<<i%10>==0>break;elsei--;}i+=11;a+=i;}printf<"%d\n",a>;}五、實驗注意事項〔一對于雙重循環(huán)來說,外層循環(huán)往往是控制變化較慢的參數(shù)〔例如所求結(jié)果的數(shù)據(jù)項的個數(shù)、圖形的行數(shù)等,而內(nèi)層循環(huán)變化快,一般控制數(shù)據(jù)項的計算、圖形中各種字符的數(shù)量等?!捕⒁庠谘h(huán)結(jié)構(gòu)程序設(shè)計中,正確使用{}〔三外層循環(huán)變量增值一次,內(nèi)層循環(huán)變量從初值到終值執(zhí)行一遍?!菜某绦驎鴮憰r,最好使用縮進結(jié)構(gòu)以使程序結(jié)構(gòu)清晰。六、思考題〔一根據(jù)公式:sum=,計算sum的值,請把程序補充完整。/*求數(shù)列和*/#include"stdio.h"voidmain<>{longintn,j;floatsum=0,t;for<n=1;n<=20;n++>{t=1.0;for<j=1;j<=n;j++>t=t*j;________________;}printf<"%10.2f\n",sum>;}〔二下面函數(shù)的功能是輸出九九乘法表,請把程序補充完整。/*輸出九九乘法表*/#include"stdio.h"voidmain<>{inti,j;for<i=1;i<=9;i++>{for<j=1;__________;j++>printf<"%d*%d=%-4d",i,j,i*j>;printf<"\n">;}}〔三下面函數(shù)的功能是求出100~300間的素數(shù)和,請把程序補充完整。/*求100~300間的素數(shù)和*/#include"stdio.h"voidmain<>{inti,j,flag,sum=0;for<i=100;i<=300;i++>{flag=0;for<j=2;j<=i-1;j++>if<i%j==0>{flag=1;break;}if<________>sum+=i;}printf<"Thesumis%d\n",sum>;}〔四下面程序的功能是:輸出以下圖形:**** *****請把程序補充完整。/*輸出字符圖形*/#include"stdio.h"voidmain<>{inti,j,k;for<i=0;i<=2;i++>{for<j=0;j<=10-i;j++>printf<"">;for<k=0;_______________;k++>printf<"*">;printf<"\n">;}}實驗六一維數(shù)組程序設(shè)計一、實驗學(xué)時2學(xué)時二、實驗?zāi)康摹惨徽莆找痪S數(shù)組的定義、初始化方法;〔二掌握一維數(shù)組中數(shù)據(jù)的輸入和輸出方法;〔三掌握與一維數(shù)組有關(guān)的程序和算法;〔四了解用數(shù)組處理大量數(shù)據(jù)時的優(yōu)越性。三、預(yù)習(xí)要求〔一理解數(shù)組的概念、利用數(shù)組存放數(shù)據(jù)有何特點;〔二一維數(shù)組的定義、初始化方法;〔三一維數(shù)組中數(shù)據(jù)的輸入和輸出方法。四、實驗內(nèi)容〔一下面的幾個程序都能為數(shù)組元素賦值,請輸入程序并運行。比較一下這些賦值方法的異同。1.在定義數(shù)組的同時對數(shù)組初始化。/*c6-1.c在定義數(shù)組的同時對數(shù)組初始化*/#include"stdio.h"voidmain<>{inta[4]={0,1,2,3};printf<"\n%d%d%d%d\n",a[0],a[1],a[2],a[3]>;}2.不使用循環(huán)對單個數(shù)組元素賦值。/*c6-2.c不使用循環(huán)對單個數(shù)組元素賦值*/#include"stdio.h"voidmain<>{inta[4];a[0]=2;a[1]=4;a[2]=6;a[3]=8;printf<"\n%d%d%d%d\n",a[0],a[1],a[2],a[3]>;}3.用循環(huán)結(jié)構(gòu),從鍵盤輸入為每個數(shù)組元素賦值,輸出各數(shù)組元素。/*c6-3.c利用循環(huán)通過鍵盤對數(shù)組元素賦值*/#include"stdio.h"voidmain<>{inti,a[4];for<i=0;i<4;i++>scanf<"%d",&a[i]>;printf<"\n">;for<i=0;i<4;i++>printf<"%d",a[i]>;printf<"\n">;}〔二編寫一程序,為一維數(shù)組a中的元素賦值,并按照逆序輸出。編程提示:通過對一維數(shù)組的輸入輸出來實現(xiàn)。1.首先復(fù)習(xí)教材上知識點,充分理解例題。2.對一維數(shù)組的輸入可以參照實驗內(nèi)容〔一中的三種方法,選擇其一輸出,用循環(huán)結(jié)構(gòu)來實現(xiàn)。3.注意是逆序輸出,可以通過輸出時,在for語句中利用循環(huán)變量遞減的方法來實現(xiàn)。/*c6-4.c利用循環(huán)實現(xiàn)一維數(shù)組的輸入輸出*/#include"stdio.h"voidmain<>{inti,a[10];/*定義循環(huán)變量i和一維數(shù)組a*/for<i=0;i<=9;i++>scanf<"%d",&a[i]>;for<_____>/*請補充完整循環(huán)語句*/printf<"%d",a[i]>;/*按照逆序輸出*/printf<"\n">;}〔三編寫程序,輸出一維數(shù)組a中的元素最小值及其下標。編程提示:1.定義一個整型變量存放最小值下標,將其初始化為0,例如:intp=0;即從數(shù)組第零個元素開始判斷。2.通過循環(huán),依次判斷數(shù)組中的每一個元素a[i]是否小于a[p],如果是,則將p和a[p]的值作相應(yīng)的改變。/*c6-5.c輸出一維數(shù)組中元素的最小值及其下標*/#include"stdio.h"voidmain<>{inti,m,p,a[10]m=a[0];p=0;for<i=1;i<10;i++>if<a[i]<m>{;p=iprintf<"%d,%d\n",a[p],p>;/*輸出一維數(shù)組a中的最小值及其下標*/}〔四編寫一程序,求一維數(shù)組中下標為偶數(shù)的元素之和。編程提示:1.定義一個數(shù)組a并初始化。2.定義一個整型變量sum,存放下標為偶數(shù)的元素和,并初始化為0。3.從數(shù)組的第0個元素開始,每次循環(huán)變量遞增2,一直到數(shù)組的最后一個元素,將其累加到sum變量。4.輸出sum變量即為下標為偶數(shù)的元素之和。/*c6-6.c求一維數(shù)組中下標為偶數(shù)的元素之和*/#include"stdio.h"voidmain<>{inti,sum=0;/*初始化sum為0*/inta[]={2,3,4,5,6,7,8,9};for<i=0;i<8;>/*請補充完整循環(huán)語句*/sum+=a[i];printf<"sum=%d\n",sum>;}〔五編寫一程序,將100以內(nèi)的素數(shù)存放到一個數(shù)組中。編程提示:這是一個雙層循環(huán)嵌套的程序。1.首先復(fù)習(xí)教材上的內(nèi)容,掌握判斷素數(shù)的方法。2.定義一個數(shù)組存放100以內(nèi)的素數(shù),想一想該數(shù)組的大小應(yīng)該為多少?3.定義一個整型變量作循環(huán)變量。4.定義一個整型變量作為數(shù)組元素下標的計數(shù)器,想一想該變量應(yīng)賦什么樣的初值?5.在外層循環(huán)中,對1~100之間的所有整數(shù)進行判斷;內(nèi)層循環(huán)則判斷每個整數(shù)是否為素數(shù)。如果是素數(shù),存放到數(shù)組中,并使數(shù)組下標變量加1;否則繼續(xù)判斷下一個整數(shù)。6.用循環(huán)語句輸出數(shù)組中的所有素數(shù),注意循環(huán)變量的初值和終值如何確定。〔六將一個數(shù)組中的值按逆序重新存放。例如,原來的順序為8,6,5,4,1,2,要求改為按2,1,4,5,6,8的順序存放〔注意是逆序存放而不是逆序輸出。編程提示:1.定義一個數(shù)組,為該數(shù)組賦值〔可以在定義時初始化,也可以用循環(huán)語句。2.在循環(huán)中,使第0個元素與第5個元素交換,第1個元素與第4個元素交換,第2個元素與第個3元素交換〔注意循環(huán)次數(shù)按n/2確定,n為數(shù)據(jù)個數(shù)。3.輸出逆序存放后的各數(shù)組元素〔使用循環(huán)語句。五、實驗注意事項例如,有定義:inta[10];則數(shù)組元素的下標上界為9?!捕捎跀?shù)組中下標和元素位置的對應(yīng)關(guān)系是:第一個元素下標為0,第二個元素下標為1,第三個元素下標為2,依次類推,第n個元素下標為n-1?!踩龜?shù)值型數(shù)組要對多個數(shù)組元素賦值時,使用循環(huán)語句,使數(shù)組元素的下標依次變化,從而為每個數(shù)組元素賦值。例如:inta[10],i;for<i=0;i<10;i++>scanf<"%d",&a[i]>;不能通過如下的方法對數(shù)組中的全部元素賦值。inta[10],i;scanf<"%d",&a[i]>;六、思考題〔一定義一個數(shù)組名為ftop且有5個int類型元素的一維數(shù)組,同時給每個元素賦初值為0,請寫出數(shù)組的定義語句?!捕旅娉绦虻墓δ苁牵簽橐痪S數(shù)組
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年籃球運動場地安全設(shè)施安裝與檢修合同3篇
- 2025版土地整治工程土方運輸居間代理協(xié)議3篇
- 2025版教育培訓(xùn)投資入股合同范本大全3篇
- 2025年度個人與個人車輛購置借款合同2篇
- 2025版教職工宿舍分配與使用管理合同3篇
- 二零二五版留置車輛維修工程借款協(xié)議4篇
- 2024金融科技支付系統(tǒng)集成與運營合同
- 二零二五年度體育賽事官方運動服贊助合同示例3篇
- 渣土運輸及循環(huán)經(jīng)濟承包合同(二零二五年度)3篇
- 2025年達人帶貨直播平臺合作協(xié)議書2篇
- 2024企業(yè)答謝晚宴會務(wù)合同3篇
- 《客艙安全管理與應(yīng)急處置》課件-第14講 應(yīng)急撤離
- 中華人民共和國文物保護法
- 節(jié)前物業(yè)安全培訓(xùn)
- 高甘油三酯血癥相關(guān)的器官損傷
- 手術(shù)室護士考試題及答案
- 牙膏項目創(chuàng)業(yè)計劃書
- 單位食堂供餐方案
- DB42-T 2204-2024 湖沼濕地溫室氣體通量監(jiān)測技術(shù)規(guī)范
- 急性會厭炎的護理
- 七年級下冊《Reading 1 A brave young man》優(yōu)質(zhì)課教案牛津譯林版-七年級英語教案
評論
0/150
提交評論