版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
年4月19日C語言程序設(shè)計實驗實驗指導書及答案文檔僅供參考實驗一熟悉C程序運行環(huán)境班級學號姓名成績一、實驗目的1.熟悉C語言VisualC++6.0調(diào)試環(huán)境。2.掌握C程序的編輯、調(diào)試及運行。二、實驗內(nèi)容項目1.調(diào)試并運行下面程序,并寫出運行結(jié)果:#include<stdio.h>intmain(){ printf(“Goodmorning!\n”); printf(“Hello,world!\n”); return0;}運行結(jié)果(注意,按照屏幕輸出格式寫):項目2.調(diào)試并運行下面程序,并寫出運行結(jié)果:#include<stdio.h>intmain(){ inta,b,sum; /*定義變量*/ a=23;b=56; /*為變量賦值*/ sum=a+b; /*計算兩個變量的和*/ printf(“sumis%d\n”,sum); /*輸出計算結(jié)果*/ return0;}運行結(jié)果:
項目3.調(diào)試并運行下面程序,并寫出運行結(jié)果:#include<stdio.h>intmax(int,int);intmain(){ inta,b,c; /*定義變量*/ a=23;b=56; /*為變量賦值*/ c=max(a,b); /*調(diào)用max函數(shù),將得到的值賦給c*/ printf(“maxis%d\n”,c); /*輸出c的值*/ return0;}intmax(intx,inty) /*定義max函數(shù),函數(shù)值為整型*/{ intz; /*定義變量*/ if(x>y) z=x; else z=y; return(z); /*將z的值返回*/}運行結(jié)果:三、提高部分1.試想,如果求10個數(shù)中的最大者,則程序該如何編寫。程序代碼運行結(jié)果:實驗二數(shù)據(jù)及其運算班級學號姓名成績一、實驗目的1.掌握C數(shù)據(jù)類型的概念、熟悉整型、字符型和實型基本類型的常量的用法;學會三種基本類型變量的定義、賦值和使用方法。2.掌握算術(shù)表示式、關(guān)系表示式及邏輯表示式的特點及用法。3.熟悉運算符的優(yōu)先級和結(jié)合性的概念。4.學習簡單程序的編寫方法。二、實驗內(nèi)容項目1.編輯運行下面程序,并分析運行結(jié)果。#include<stdio.h>intmain(){ intm,a,b,c,d,e; /*定義整型變量*/ printf(“pleaseinputadata:m=”); scanf(“%d”,&m); /*從鍵盤輸入一個整數(shù)*/ a=m+1; b=m-2; c=m*3; d=m/4; e=m%5; printf(“a=m+1;a=%d\n”,a); printf(“b=m-2;b=%d\n”,b); printf(“c=m*3;c=%d\n”,c); printf(“d=m/4;d=%d\n”,d);printf(“e=m%%5;e=%d\n”,e);return0;}運行結(jié)果:項目2.編輯運行下面程序,并分析運行結(jié)果。#include<stdio.h>intmain(){ floatm,n,s; printf(“m=”); scanf(“%f”,&m); /*輸入矩形的邊長*/ printf(“n=”); scanf(“%f”,&n); /*輸入矩形的邊長*/ s=m*n; /*計算矩形的面積*/ printf(s=%f\n”,s); /*輸出矩形的面積*/ return0;}(1)輸入24和5,運行結(jié)果:(2)輸入-24和5,運行結(jié)果:分析結(jié)果是否正確?(3)對上面程序進行修改,當輸入一個非法的邊長(負數(shù)或零),會給出提示而不計算矩形的面積。輸入-24和5,運行結(jié)果:項目3.先閱讀程序,并寫出結(jié)果,再運行程序并分析結(jié)果。#include<stdio.h>intmain(){ inti,j,m,n,p,q,x,y; i=8;j=10;p=0;q=0;x=1;y=1; m=++i; //m=9,i=9 n=j++; //n=10,j=11; p+=i++; //p=p+i++;//p=9,i=10 q-=--j; //q=q-(--j);//q=-10,j=10 x+=m+10; //x=x+(m+10)//x=20, y=p==q; //y=0 printf(“i=%d,j=%d,m=%d,n=%d,p=%d,q=%d,x=%d,y=%d”,i,j,m,n,p,q,x,y); return0;}分析結(jié)果:i=__10___;j=__10___;m=___9__;n=__10___;p=__9___;q=__-10___;x=__20___;y=__0___運行結(jié)果:項目4.(選做)根據(jù)矩形面積的計算方法,編寫一個輸入圓半徑r,計算園周長L和圓面積S的程序。注意判斷圓半徑r是否大于零。(程序代碼和運行結(jié)果可寫在指導書背面)實驗三程序控制結(jié)構(gòu)(選擇)班級學號姓名成績項目1.三角形成立條件判斷及面積計算【項目任務】輸入三個整型數(shù)據(jù),判斷這三個整型數(shù)據(jù)能否圍成三角形,如果能組成三角形,計算并輸出它的面積,如果不能圍成三角形輸出“三條邊不能圍成三角形”。【項目說明】C語言實現(xiàn)選擇結(jié)構(gòu)筑要用if語句,按照判斷所給定的條件是否滿足,根據(jù)判定結(jié)果的真或假來決定執(zhí)行在if語句中給出的兩種操作之一。【項目目的】(1)正確使用關(guān)系表示式和邏輯表示式表示條件。(2)學習分支語句if的使用方法。(3)進一步熟悉VC集成環(huán)境的使用方法,學習VC環(huán)境提供的調(diào)試工具?!卷椖恳c】(1)已知三邊求三角形面積的公式:p=(a+b+c)/2s=sqrt(p*(p-a)*(p-b)*(p-c))(2)已知三邊能圍成三角形的條件是:任意兩邊之和大于第三邊。(3)C語言中求平方根的函數(shù)是sqrt(doublex),該函數(shù)在math.h頭文件中。(4)if語句中“表示式”必須用“(”和“)”括起來,它的值為邏輯值。除常見的關(guān)系表示式或邏輯表示式外,也允許是其它類型的數(shù)據(jù),如整型、實型、字符型等。(5)else子句(可選)是if語句的一部分,必須與if配對使用,不能單獨使用。程序代碼:運行結(jié)果:項目2.百分制成績轉(zhuǎn)換為成績等級【項目任務】輸入一個百分制成績,輸出對應的等級?!卷椖磕康摹浚?)正確使用關(guān)系表示式和邏輯表示式表示條件。(2)學習多switch分支選擇語句的使用方法?!卷椖恳c】解決本項目的關(guān)鍵是如何將輸入的百分制成績與case常量聯(lián)系起來,不難想到將百分制成績(用score表示)除以10之后再取整,一定得到0到10之間的數(shù)。9、10對應’a’,8對應‘b‘,……,5、4、3、2、1、0對應’e’既不及格。程序代碼:運行結(jié)果:項目3.選做。(程序代碼和運行結(jié)果可寫在指導書背面)實驗四程序控制結(jié)構(gòu)(循環(huán))班級學號姓名成績項目1:使用循環(huán)結(jié)構(gòu)實現(xiàn)重復處理【項目說明】從鍵盤輸入一個班的成績,把百分制轉(zhuǎn)換成等級制。將百分制成績(用score表示)除以10之后再取整,一定得到0到10之間的數(shù)。9、10對應’a’,8對應‘b‘,……,5、4、3、2、1、0對應’e’既不及格。要求分別使用三種循環(huán)結(jié)構(gòu)實現(xiàn)。該項目中,假設(shè)班級人數(shù)不固定,規(guī)定輸入若干0至100的成績,如果成績不在此范圍,則表示結(jié)束。該項目中,同時要使用switch語句實現(xiàn)多分支選擇結(jié)構(gòu)?!卷椖磕康摹?1)掌握用while語句和do…while語句實現(xiàn)循環(huán)的方法。(2)掌握用for語句實現(xiàn)循環(huán)的方法。(3)掌握三種語句的特點和應用技巧。(4)掌握用break語句和continue語句改變循環(huán)狀態(tài)的方法。【項目內(nèi)容】1、用while語句實現(xiàn)的程序代碼:2、用do…while和break語句實現(xiàn)的程序代碼:3、用do…while和continue語句實現(xiàn)的程序代碼:4、用for語句實現(xiàn)的程序代碼:項目2.(選做)求(即求)(程序代碼和運行結(jié)果可寫在指導書背面)實驗五數(shù)組班級學號姓名成績項目1.冒泡排序法【項目說明】輸入10個數(shù),用“冒泡法”對10個數(shù)排序(由小到大)。冒泡法的基本思想:經(jīng)過相鄰兩個數(shù)之間的比較和交換,使(數(shù)值)較小的數(shù)逐漸從底部移向頂部,較大的數(shù)逐漸從頂部移向底部。就像水底的氣泡一樣逐漸向上冒,故而得名。【項目目的】(1)掌握冒泡排序算法的編程。(2)掌握與數(shù)組有關(guān)的算法。程序代碼:運行結(jié)果:項目2.字符統(tǒng)計【項目說明】有一篇文章,共有3行文字,每行80個字符。要求分別統(tǒng)計出其中英文字母和數(shù)字的個數(shù)。【項目目的】(1)掌握鍵盤輸入字符串方法。(2)掌握二維數(shù)組的處理方法。【技術(shù)要點】(1)3行文字可定義一個二維字符數(shù)組來表示。(2)使用gets()函數(shù)對字符串進行輸入。程序代碼:#include<stdio.h>
intmain()
{inti,j,upp,low,dig,spa,oth;
chartext[3][80];
upp=low=dig=spa=oth=0;
for(i=0;i<3;i++)
{printf("pleaseinputline%d:\n",i+1);
gets(text[i]);
for(j=0;j<80&&text[i][j]!='\0';j++)
{if(text[i][j]>='A'&&text[i][j]<='Z')
upp++;
elseif(text[i][j]>='a'&&text[i][j]<='z')
low++;
elseif(text[i][j]>='0'&&text[i][j]<='9')
dig++;
elseif(text[i][j]=='')
spa++;
else
oth++;
}
}
printf("\nuppercase:%d\n",upp);
printf("lowercase:%d\n",low);
printf("digit:%d\n",dig);
printf("space:%d\n",spa);
printf("other:%d\n",oth);
return0;
}運行結(jié)果:項目3.(選做)在二維數(shù)組中,若某一位置上的元素在該行中最大,而在該列中最小,則該元素即為該二維數(shù)組的一個鞍點。要求從鍵盤上輸入一個二維數(shù)組,當鞍點存在時,把鞍點找出來。(程序代碼和運行結(jié)果可寫在指導書背面)實驗六函數(shù)班級學號姓名成績項目1:使用函數(shù)實現(xiàn)對二維數(shù)組轉(zhuǎn)置?!卷椖空f明】寫一個函數(shù),使給定的3*3的二維整型數(shù)組轉(zhuǎn)置,即行列互換。要求輸出轉(zhuǎn)換之前和轉(zhuǎn)換之后的結(jié)果?!卷椖磕康摹浚?)掌握函數(shù)的定義和調(diào)用。(2)掌握二維數(shù)組名作為函數(shù)的參數(shù)的使用技巧?!炯夹g(shù)要點】(1)使用二重循環(huán)對二維數(shù)組進行輸入,處理和輸出;(2)二維數(shù)組名作為函數(shù)的參數(shù),定義函數(shù)需要給出第二維的大小。程序代碼:運行結(jié)果:項目2:使用函數(shù)實現(xiàn)成績處理【項目說明】輸入3個學生4門課的成績,分別用函數(shù)實現(xiàn)以下功能:(1)計算每個學生的平均分。(2)計算每門課的平均分。(3)找出12個分數(shù)中最高分數(shù)所對應的學生和課程?!卷椖磕康摹浚?)掌握函數(shù)的定義和調(diào)用。(2)掌握全局變量的使用?!炯夹g(shù)要點】學生成績可定義成全局的二維數(shù)組,這樣自定義函數(shù)能夠直接使用,而不需要進行參數(shù)的傳遞。程序代碼:運行結(jié)果:項目3.(選做)求(即求)(階乘要求使用遞歸函數(shù)來實現(xiàn),程序代碼和運行結(jié)果可寫在指導書背面)實驗七指針班級學號姓名成績項目1.使用指針參數(shù)交換兩個變量值【項目說明】用函數(shù)實現(xiàn)兩個變量值的交換,使其在主調(diào)函數(shù)和被調(diào)函數(shù)中的值一致,而且返回這兩個變量的和以及乘積。要求用指針變量作為函數(shù)參數(shù)?!卷椖磕康摹浚?)熟悉如何定義指針變量,掌握將指針變量作為函數(shù)參數(shù)的方法。(2)掌握經(jīng)過指針參數(shù)由被調(diào)函數(shù)向主調(diào)函數(shù)傳遞多個值的方法。【技術(shù)要點】由于變量的值始終存放在內(nèi)存單元中,因此,要交換兩個變量的值,只需交換這兩個變量對應的存儲單元的值即可,這就需要知道兩個變量的地址。也就是說,需要保證主調(diào)函數(shù)與被調(diào)函數(shù)中所要交換的兩個數(shù)的內(nèi)存單元是同一內(nèi)存單元,即傳遞的參數(shù)是內(nèi)存單元的地址,而不是內(nèi)存單元中的值。程序代碼:運行結(jié)果:項目2.數(shù)組的排序和的插入【項目目的】(1)熟悉如何定義指針變量,掌握將指針變量指向一維數(shù)組元素的方法。(2)掌握如何對數(shù)組進行排序。(3)掌握如何在一個有序的數(shù)列中查找合適的位置。(4)掌握如何將一個數(shù)插入到一個有序數(shù)列中?!炯夹g(shù)要點】(1)排序可采用冒泡法或者選擇法。(2)有序數(shù)組中插入一個數(shù)的關(guān)鍵是找到該
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 聊城職業(yè)技術(shù)學院《機械制造概論》2023-2024學年第一學期期末試卷
- 麗江文化旅游學院《防火防爆技術(shù)》2023-2024學年第一學期期末試卷
- 江西衛(wèi)生職業(yè)學院《測量儀表與自動化》2023-2024學年第一學期期末試卷
- 江南大學《移動開發(fā)技術(shù)及應用》2023-2024學年第一學期期末試卷
- 華北理工大學輕工學院《物流運作規(guī)劃》2023-2024學年第一學期期末試卷
- 自貢職業(yè)技術(shù)學院《藝術(shù)名著導讀》2023-2024學年第一學期期末試卷
- 周口文理職業(yè)學院《虛擬儀器技術(shù)》2023-2024學年第一學期期末試卷
- 重慶科技職業(yè)學院《信息技術(shù)與課件制作》2023-2024學年第一學期期末試卷
- 浙江水利水電學院《民用航空法》2023-2024學年第一學期期末試卷
- 鄭州西亞斯學院《太極拳理論基礎(chǔ)》2023-2024學年第一學期期末試卷
- 小學三年級數(shù)學下冊計算題大全(每日一練共25份)
- Unit 3 同步練習人教版2024七年級英語上冊
- “十四五”期間推進智慧水利建設(shè)實施方案
- EPC項目機電安裝專業(yè)工程重難點分析及經(jīng)驗交流
- 大型活動聯(lián)合承辦協(xié)議
- 工程項目采購與供應鏈管理研究
- 2024年吉林高考語文試題及答案 (2) - 副本
- 拆除電纜線施工方案
- 搭竹架合同范本
- Neo4j介紹及實現(xiàn)原理
- 焊接材料-DIN-8555-標準
評論
0/150
提交評論