版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
(1)實驗學時(2)實驗目的(2)預習要求(4)實驗內容(5)實驗注意事項(6)思考題(1)實驗題目(3)流程圖(4)程序源代碼(6)存在的問題。一、實驗學時2學時(二)啟動VisualC++6.0集成開發(fā)環(huán)境(三)開始一個新程序/*/*c1-1.cC語言的第一個程序*/0×八組建(調狀入在文計中查機入在文件24*11就緒就緒文件工程I工作區(qū)丨其它文檔1E盤新建的文件夾文件2)編排①)查看0指入④)工程L)組建Q)工具)窗口①)樹助p山就緒行10.列4uccou服溫讀厘×{printf("*\n");"*"}3.程序的編譯、連接與運行將C語言源代碼編譯成計算機能執(zhí)行的目標代碼。單擊主菜單下的“組建”→“編譯[c1-1.c]”(或者是工具欄上的按鈕或按快捷鍵Ctrl+F7),此時將彈出一個對話框,詢問是否創(chuàng)建一個項目工作區(qū),選擇“是(Y)”。VisualC++6.0集成開發(fā)環(huán)境會自動在c1-1.c文件所在文件夾中建立相應的項目文件。編譯時,在下方的輸出框中將顯示出相應的編譯說明,如圖1-5所示。如果代碼編譯無誤,最后將顯示:這說明編譯沒有錯誤(error)和警告(warning),生成目標文件,程序編譯順利完成。目標文件(.obj)不能被計算機直接執(zhí)行,接下來將目標文件(.obj)和相關的庫函數或目標程序連接成為可執(zhí)行程序(可執(zhí)行程序(.exe)。文件①)編輯×)查著(插入①)工程(P)組建①)工具④)窗口①)幫動QD[Alglobalmember出全部重建清除prin!執(zhí)行[el-1.es】Curl45稱工程配置③)prin配置》配置文件--Configuration:c1-1-wina2Debug-mlS單擊主菜單下的“組建”→“批組建”命令,將彈出如圖1-6所示的對話框?!羻我贿x擇S確保選中“c1-1-Win32Release”復選框,這樣生成的可執(zhí)行文件才是發(fā)行版的程序,否則生成的是調試(Debug)版的程序。單擊“創(chuàng)建”按鈕,生成可執(zhí)行文件。如果在“批組建”對話框中選中了兩個復選框,可以看到程序中生成了兩個可執(zhí)行文件,一個文件為調試版本,存儲在與c1-1.c同一文件夾下的Debug文件夾中;另一個是發(fā)行版本,保存在與c1-1.c同一文件夾下的Release文件夾中。這一步只是為了生成發(fā)行版的程序文件,只有在程序準備發(fā)行時才需要執(zhí)行這種編譯。在通常情況下,可以單擊主菜單下的“組建”→“組建[]”(或工具欄按鈕或按快捷鍵F7),直接生成“E:\Debugle1-1.x°{}printf("a=%d,b=%d,c=%d\n",a,b,c);命令,選擇(三)創(chuàng)建的cl-1.c文件,然后打開。按照(二)、(三)再次進入按照(二)、(三)再次進入VisualC++6.0集成環(huán)境,輸入以下程序:#include"stdio.h"voidmain()printf("%d,%5d,%-5d\n",a,a,a);printf("%d,%o,%x,%u\n",a,a,a,a);}(七)在VisualC++6.0集成環(huán)境,輸入以下程序:voidmain()printf("a=%ld\t",a);printf("a=%u\t",a);printf("a=%d\n",a);}(八)在VisualC++6.0集成環(huán)境,,輸入以下程序://*c1-5.cC語言的第五個程序*1#include"stdio.h"voidmain(){charc1=97,c2=98;printf("%3c,%3c\n",c1,c2);printf("%d,%d\n",c1,c2);printf("\n%c%c\n",a,b);}#include"stdio.h"voidmain()printf("%%d\n",1/a);printf("b=%d\n",b);printf("%f%f\n",(float)(1/a),(float)b);}#include"stdio.h"voidmain()i=3;j=4;printf("%d,%d\n",i++,++j);printf("%d,%d\n",i,j);printf("%d,%d\n",-i++,-++j);}/*c1-8.cC語言的第八個程序*1#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);}}(二)由于C程序運行必須從main函數開始,因此一個C程序要有一個main函數,且只能有(三)在程序的輸入過程中:格);4.所定義的變量的類型與輸入的數據的類型要一致,輸出時的格式一定6.注意自加和自減運算符的運算規(guī)則,仔細分析實驗內容(十)中程序的輸出結果。(一)有如下程序:##include"stdio.h"voidmain()printf("%d,%o,%x,%u\n",a,a,a,a);}-1,,ffffffff,_(二)有如下程序:##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語句的運行結果是a,b(三)有如下程序:printfprintf("%d%d\n",i++,++j);printf("%%d,%d\n",i,j);printf("%d,%d\n",-i++,-++j);}最后一個printf語句的運行結果是(四)程序填空:#include#include"stdio.h"_z=x+a%3*(int)(x+y)%2/4;printf("z=%f\n",z);}程序中空格處應填(1)了解C語言數據類型的意義,掌握基本數據類型變量的特點和定義方法。(2)學會使用C的算術運算符,以及包含這些運算符的算術表達式。(3)掌握自加(++)和自減(--)運算符的使用。(4)進一步熟悉C程序的編輯、編譯、連接和運行的過程。(1)上機前先閱讀和編寫以下要調試的程序。(2)上機輸入和調試程序并存在磁盤上。(3)檢查實驗結果是否正確。(1)輸入并運行以下程序。b=a+20;printf("a=%f,b=%f\n",a,b);}float型變量最多只能保證7位有效數字,后面的數字是無意義的,不能準確表示該數。(2)輸入并運行以下程序。main(){charc1=97;c2=98;printf("%%cprintf("%d}下面的程序計算由鍵盤輸入的任意兩個整數的平均值:main()main(){intx,y;scprintf("Theaverageis:%f",a);}輸入x=10,y=203.指出以下程序的錯誤并改正,上機把程序調通mainmain();{inta;printf("a=%d,a)}4.編寫程序并上機運行五、思考與總結(選做)一、實驗學時(一)掌握C語言關系表達式和邏輯表達式的運算和使用;(二)正確使用條件控制語句(if語句、switch語句)進行選擇結構程序設計。(一)關系運算符和關系表達式、邏輯運算符和邏輯表達式;(二)if語句的三種形式(單分支、雙分支、多分支),以及if語句的嵌套;(一)分析下面程序,掌握關系及邏輯表達式的運算規(guī)則。/*c3-1.c關系及邏輯表達式運算規(guī)則*/}注意該程序中的條件判斷表達式a++<3&&c--!=0是一個邏輯表達式,關系表達式a++<3的值為假,因此后一部分c--!=0就不再計算。試比較下列各部分運行結果。#include#include"stdio.h"voidmain(){inta=3,b=5,c=8;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);if(a++<3l|c--!=0)b=b+1;printf("a=%d\tb=%d\tc=%d\n",a,b,c);if(c--!=0||a++<3)b=b+1;printf("a=%d\tb=%d\tc=%d\n",a,b,c);}(二)輸入下面兩段程序并運行,掌握case語句中break語句的作用。//*含break的switch*/#include"stdio.h"voidmain(){inta,m=0,n=0,k=0;scanf("%d",&a);switch(a){case1:m++;break;case2:}printf("%d,%d,%d\n",m,n,k);}/*不含break的switch*/#include"stdio.h"voidmain(){inta,m=0,n=0,k=0;scanf("%d",&a);switch(a){case1:m++;case2:}printf("%d,%d,%d\n",m,n,k);}分別從鍵盤上輸入1、3、5,寫出程序運行的結果。(三)完善程序,從鍵盤上輸入x的值,按下式計算y的值。&&x<10)來表示。/*c3-4./*c3-4.cif語句實現(xiàn)的多分支結構*/{定義變量;輸入x;y=2*x-1;else//按y=3x-11為變量y賦值;}注意:在賦值語句中2x應該寫成2*x。//按y=x為變量y賦值;//按y=2x-1為變量y賦值;y=x*3-11;80~89分為'B',70~79分為℃',60~69分為'D',60分3.將百分制成績按10分,分檔作為switch語句中括號內的表達式;(五)下面程序運行時從鍵盤上分別輸入(20,15),(15,20),寫出運行結果。t=0;if(a>b)}printf("a=%d,b=%d\n",a,b);}輸入(20,15),結果為a=15,b=20輸入(15,20),結果為a=15,b=20(六)編寫程序,給出一個不多于3位的正整數n,要求:(1)求出它是幾位數;(2)分別打印出每一位數字(數字之間加一個空格);(3)按逆序打印出各位數字(數字之間加一個空格)。1.定義變量(考慮需要幾個變量)并輸入一個3位以下的正整數n3.用一個嵌套的選擇結構,按照百位數、十位數是否為0決定n為幾位數。4.按相反的順序輸出n。思考:如果是對一個5位的正整數進行上述處理,程序應如何改動?(七)寫出與表達式z=(x>=y?x:y(二)控制表達式是指任何合法的C語言表達式(不只限于關系或邏輯表達式),只要表達式的值為“非零”,則為“真”,“零”則為“假”(四)case及后面的常量表達式,實際僅是起標號作用??刂票磉_式的值與某個情況常量一旦(一)下面程序的功能是實現(xiàn)表達式z=(x>=y?x:y),(一)下面程序的功能是實現(xiàn)表達式z=(x>=y?x:y),請將程序填寫完整。/*分支結構的程序*1printf("Pleaseinputx,y:");scanf("%d%d",&x,&y);if(x>=y)z=x;}(二)下面程序的運行結果為/*/*分支結構的程序*1if(a++<3&&c--!=0)b=b+1;printf("a=%d,b=%d,c=%d\n",a,b,c);}(三)程序填空,從鍵盤上輸入x的值,按下式計算y的值。#include"stdio.h"voidmain(){floatx,y;printf("x=");scanf("%f",&x);y=2*x-1;y=3*x-11;printf("y=%f\n",y);}(四)下面程序運行時從鍵盤上輸入15,20,運行結果為b=20t=0;scanf("%d,%d",&a,&b);if(a>b)a=b;}printf("b=%d\n",b);}實驗四循環(huán)結構程序設計(一)2學時x=-1;(三)編程求1!+2!+3!+……+20!的值。/*c4-1.c求1!+2!+3!+……+20!*/{變量p連乘;設n為m和n中較小的數,則如下程序段可實現(xiàn):k即為最大公約數。printf(“%d和%d的最大公約數為%d”,m,n,i);2.從整數1開始向上找,直至m和n中較小的數,每找到一個能同時被m和n整除的整數,將其存入一個變量中,當循環(huán)結束時,變量中存放的即為最大公約數。設n為m和n中較小的數,則如下程序段可實現(xiàn):變量x的值即為最大公約數。printf(“%d和%d的最大公約數為%d”,m,n,num);3.用輾轉相除法,即將求m和n的最大公約數問題轉化為求其中的除數和兩個數相除所得余數的公約數。每次循環(huán)中,先求兩個數的余數,然后以除數作為被除數,以余數作為除數,當余數為0時結束循環(huán),此時除數即為最大公約數。設m和n中n為較小的數,則可用如下程序段實現(xiàn):while(b!=0)類似地,求最小公倍數的方法也可以從m和n中較大的數開始向上找,或者從m*n向下找,請自己考慮程序的設計方法。另外,兩個數的最大公約數和最小公倍數的關系為:最小公倍數=m*n/最大公約數可利用此關系進行程序設計。(五)編程實現(xiàn),從鍵盤上輸入一行字符,統(tǒng)計其中英文字母、數字、空格和其它字符的個數。編程提示:先定義一個字符型的變量(如c),再定義4個整型變量作為計數器,作為計數器的變量要先賦初值0。在循環(huán)中每次從鍵盤上讀入一個字符,在循環(huán)體中對讀入的字符進行判斷,相應的計數器加1,當讀入的字符為’\n’時結束。編程中可使用如下的循環(huán)結構:while((c=getchar())!=’\/*c4-5.c統(tǒng)計字符串中指定字符的個數*/中括號的使用,第二層的小括號不能省略,想一想為什么?2.字符常量’0’與數值常量0是不同的。(六)下面程序的功能是:計算1到100之間的奇數之和及偶數之和,并輸出。請在程序中的/*/*c4-6.c計算1到100之間的奇數之和及偶數之和*/i=100;i+=2)b=i+1;/*變量初始化*//*變量a存放偶數的和*//*變量c存放奇數的和*1}printf("sumofevensis%d\n",a);printf("sumofoddsis%d\n",c-101);}(七)編程打印出所有的“水仙花數”,所謂水仙花數是指一個3位數,其各位數字的立方和(七)編程打印出所有的“水仙花數”,所謂水仙花數是指一個3位數,其各位數字的立方和編程提示:定義一個變量作為循環(huán)變量,再定義3個變量分別存放三位數的每位數字,在循環(huán)體中將一個三位數拆分成個位、十位、百位后判斷循環(huán)變量的值{定義4個整型變量;{a=j/100;/*分離出百位數*/b=j/10-a*10;/*分離出十位數*1c=j%10;/*分離出個位數*/輸出j;}printf("\n");}#include"stdio.h"voidmain(){floatx,amax,amin;scanf("%f",&x);while(x>=0){if(x>amax)amax=x;if(x<amin)amin=x;scanf("%f",&x);}printfprintfnamaxnaminamaxam}{定義變量;變量s累加求和;printf("Sumis:%ld\n",s);}#include"stdio.h"voidmain(){intnum,k;k=0;{k=k+num%10;/*取最低位并累加*/num/=10;/*去掉最低位*/}(一)求兩個正整數x和y的最大公約數,請?zhí)羁铡?*求最大公約數程序*/#include"stdio.h"voidmain()scanf("%d,%d",&x,&y);if(x>y){t=x;x=y;yfor(i>=1;i<=x;i++)}printf("%d\n",i);}(二)計算1到100之間的奇數之和及偶數之和。請?zhí)羁铡?*/*計算1到100之間的奇數之和及偶數之和*/for(i=0;i<=100;i+=2){a+=i;b=i+1;/*變量賦初值*1/*變量a存放偶數的和*1/*變量c存放奇數的和*/}printf("SumofEvensis%d\n",a);printf("SumofOddsis%d\n",c-101);}(三)下面程序的功能是:計算正整數num的各位上的數字之和。例如,若輸入:252,則輸出應該是:9;若輸入:202,則輸出應該是:4。請將程序補充完整。/*計算整數各位數字和*/#include"stdio.h"voidmain(){intnum,k=0;num/=10;}while(num);printf("\n%d\n",k);}(四)求兩個正整數[m,n]之間所有既不能被3整除也不能被7整除的整數之和。請?zhí)羁?。longints=0;scanf("%d,%d",&m,&n);{t=m;m=n;n=t;}for(i=m;i<=n;i++)}實驗五循環(huán)結構程序設計(二)2學時二、實驗目的(一)掌握使用for,while,do-while語句實現(xiàn)循環(huán)嵌套的方法;(二)鞏固break和continue語句的使用。預習教材中有關用for,while,do-while語句實現(xiàn)循環(huán)嵌套的方法以及循環(huán)嵌套的執(zhí)行過程。編程提示:定義一個變量存放最后的求和結果(假設為sum),sum的數據類型應為實型,定義變量t計算整數的階乘。使用雙重循環(huán),程序的基本結構為:{t賦初值1;for(j=1;j<=i;j++)變量sum累加t的倒數;注意上述程序結構和內循環(huán)變量的終值。想一想是否可以將t=1放在外循環(huán)之前? for(j=1;j<=n;j++) printf("%10.2f\n",sum);(二)編程輸出九九乘法表。 printf("%d*%d=%-4d",i,j,i*j) (三)編程求100~300之間的素數和。編程提示:首先,弄清素數的概念是本題的關鍵,素數:只能被1和它本身整除的數為素數。判斷一個數是否為素數需要使用循環(huán)結構才能實現(xiàn),求出100~300之間的全部素數要使用循環(huán)的嵌{定義變量;外層循環(huán)變量i從100遞增到300{標志變量賦0;內層循環(huán)變量從2遞增到i-1如果不是素數(能整除),則標志變量賦1,跳出循環(huán);如果標志變量為0(是素數),進行求和;}(四)編程
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年女職工權益保護知識競賽題目及答案(四)
- 2024年內科主治醫(yī)師考試試題練習題及答案
- 2025年農業(yè)科技示范項目土地承包種植合同3篇
- 2025版?zhèn)€人土地開發(fā)合作合同
- 2025年度綠色能源創(chuàng)業(yè)項目合伙人協(xié)議書模板4篇
- 教育培訓在創(chuàng)新驅動下的新局面
- 二零二五年度綠色生態(tài)環(huán)衛(wèi)綠化服務外包全面實施合同3篇
- 二零二五年度餐廚垃圾資源化利用承包協(xié)議4篇
- 2025版?zhèn)€人住房貸款保證擔保與資產證券化合同2篇
- 科技驅動的小學數學自主學習能力培養(yǎng)策略研究
- 工程建設行業(yè)標準內置保溫現(xiàn)澆混凝土復合剪力墻技術規(guī)程
- 北師大版物理九年級全一冊課件
- 2024年第三師圖木舒克市市場監(jiān)督管理局招錄2人《行政職業(yè)能力測驗》高頻考點、難點(含詳細答案)
- RFJ 006-2021 RFP型人防過濾吸收器制造與驗收規(guī)范(暫行)
- 盆腔炎教學查房課件
- 屋面細石混凝土保護層施工方案及方法
- 新概念英語課件NCE3-lesson15(共34張)
- GB/T 3683-2023橡膠軟管及軟管組合件油基或水基流體適用的鋼絲編織增強液壓型規(guī)范
- 電視劇《瑯琊榜》特色分析
- 5A+Chapter+1+Changes+at+home+課件(新思維小學英語)
- 安徽省2023年中考數學試卷(附答案)
評論
0/150
提交評論