




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
本文檔如對你有幫助,請幫忙下載支持!c語言實驗報告-本文檔如對你有幫助,請幫忙下載支持!C語言實驗報告說明1,所有程序均用VC6.0編譯運行,文件名命名為姓名+日期,因為實驗存在補(bǔ)做,所以并不是按照日期先后排列的。2,為了使截圖清晰,手動將運行窗口由“黑底白字”改為了“白底黑字”。實驗2數(shù)據(jù)類型、運算符和表達(dá)式一、實驗?zāi)康模?/p>
(1)掌握C語言數(shù)據(jù)類型,熟悉如何定義一個整型、字符型、實型變量、以及對它們賦值的方法。
(2)學(xué)會使用C的有關(guān)算術(shù)運算符,以及包含這些運算符的表達(dá)式,特別是自加(++)和自減(――)運算符的使用。
(3)掌握C語言的輸入和輸出函數(shù)的使用
(4)進(jìn)一步熟悉C程序的編輯、編譯、連接和運行的過程。三、程序調(diào)試與問題解決:(1)輸人并運行下面的程序
#include<stdio.h>
void
main()
{
char
c1,c2;
c1='a';
c2='b';
printf("%c
%c\n",c1,c2);
}eq\o\ac(○,1)運行此程序。c語言實驗報告-全文共10頁,當(dāng)前為第1頁。eq\o\ac(○,2)在上面printf語句的下面再增加一個printf語句。c語言實驗報告-全文共10頁,當(dāng)前為第1頁。printf("%d
%d\n",c1,c2);
再運行,并分析結(jié)果。輸出結(jié)果如圖,編譯成功,無錯誤。eq\o\ac(○,3)將第3行改為int
c1,c2;
再運行,并分析結(jié)果。eq\o\ac(○,4)再將第4、5行改為c1=a;
c2=b;
再運行,并分析結(jié)果。a,b沒有定義,編譯報錯。eq\o\ac(○,5)再將第4、5行改為c1=‘’a‘’;
c2=‘’b‘’;
再運行,并分析結(jié)果。eq\o\ac(○,6)再將第4、5行改為c1=300;
c2=400;
再運行,并分析結(jié)果。以字符型輸出時,輸出的將是300,400對應(yīng)的字符。(2)輸人并運行教材第3章習(xí)題3.
6給出的程序
#include<stdio.h>
main
()
{
c語言實驗報告-全文共10頁,當(dāng)前為第2頁。char
c1='a',c2='b',c3='c',c4='\101',c5='\116';
c語言實驗報告-全文共10頁,當(dāng)前為第2頁。printf("a%c
b%c\tc%c\tabc\n",c1,c2,c3);
printf("\t\b%c
%c\n",c4,c5);
}#include<stdio.h>
void
main()
{
int
a,b;
unsigned
c,d;
long
e,f;a=100;
b=-100;
e=50000;
f=32767;
c=a;
d=b;
printf("%d,%d\n",a,b);
printf("%u,%u\n",a,b);
printf("%u,%u\n",c,d);
c=a=e;
d=b=f;
printf("%d,%d\n",a,b);
printf("%u,%u\n",c,d);
}請對照程序和運行結(jié)果分析:
①將一個負(fù)整數(shù)斌給一個無符號的變t,會得到什么結(jié)果。畫出它們在內(nèi)存中的表
示形式。c語言實驗報告-全文共10頁,當(dāng)前為第3頁。②將一個大于32767的長整數(shù)斌給整型變t,會得到什么結(jié)果。畫出它們在內(nèi)存中
的表示形式。c語言實驗報告-全文共10頁,當(dāng)前為第3頁。③將一個長整數(shù)賦給無符號變量,會得到什么結(jié)果(分別考慮該長整數(shù)的值大于或等于65535以及小于65535的情況)。畫出它們在內(nèi)存中的表示形式。eq\o\ac(○,1)得到的是原來正數(shù)取存的數(shù)eq\o\ac(○,2)將一個大于32767的長整數(shù)斌給整型變t,造成溢出,數(shù)據(jù)丟失。eq\o\ac(○,3)可能會溢出,也可能正常。(4)輸人習(xí)題3.
10
#include<stdio.h>
void
main()
{
int
i,j,m,n;
i=8;
j=10;
m=++i;
n=j++;
printf("%d,%d,%d,%d\n",i,j,m,n);
}①運行程序,注意i,j,m,n各變量的值。分別作以下改動并運行:
②將第6,7行改為:
m=i++;
n=++j;
再運行。③將程序改為:
#include<stdio.h>
void
main()
{
c語言實驗報告-全文共10頁,當(dāng)前為第4頁。int
i,j;c語言實驗報告-全文共10頁,當(dāng)前為第4頁。
i=8;
j=10;
printf("%d,%d\n",i++,j++);
}④在③的基礎(chǔ)上,將printf語句改為:
printf("%d,%d,%d,%d\n",i,j,++i,++j);
⑤再將printf語句改為:
printf("%d,%d,%d,%d\n",i,j,i++,j++);
⑥將程序改為:
#include<stdio.h>
void
main()
{
int
i,j,m=0,n=0;
i=8;
j=10;
m+=i++;
n-=--j;
printf("i=%d,j=%d,m=%d,n=%d\n",i,j,m,n);
}②將第6,7行改為:
m=i++;
n=++j;
再運行。以上程序結(jié)果的不同均是由于自增自減運算符引起的,考慮到一個判斷技巧,看自增自減運算符時,先將它們從原程序中拿出來,如果++或—在后,就先把值放回去,然后自增自減,如果在前,先自增自減,再把結(jié)果放進(jìn)去。
printf("%d,%d,%d,%d\n",i,j,++i,++j);
#include<stdio.h>
c語言實驗報告-全文共10頁,當(dāng)前為第5頁。void
main()c語言實驗報告-全文共10頁,當(dāng)前為第5頁。
{
int
i,j,m=0,n=0;
i=8;
j=10;
m+=i++;
n-=--j;
printf("i=%d,j=%d,m=%d,n=%d\n",i,j,m,n);
}實驗5循環(huán)控制一、實驗?zāi)康模?/p>
(1)熟練掌握for
語句、while
語句、do-while
語句實現(xiàn)循環(huán)的方法;
(2)理解循環(huán)嵌套及其使用方法;
(3)掌握break
語句與continue
語句的使用;
(4)掌握用循環(huán)實現(xiàn)一些常用算法(如窮舉、迭代、遞推等)。二、實驗內(nèi)容:1.輸入兩個正整數(shù),求其中最大公約數(shù)和最小公倍數(shù)。2.輸入一行字符,分別統(tǒng)計出其中的英文字母、空格、數(shù)字和其它字符的個數(shù)。3.用牛頓迭代法求方程2X3-4X2+3X-6=0在1.5附近的根。4.猴子吃桃問題。猴子第一天摘下若干個桃子,當(dāng)即吃了一半,還不過痛,又多吃了一個。第二天早上又將剩下的桃子吃掉一半,又多吃了一個。以后每天早上都吃了前一天剩下的一半零一個。到第10天早上想再吃時,見只剩一個桃子了。求第一天共摘了多少桃子。三、程序調(diào)試與問題解決:1.輸入兩個正整數(shù),求其中最大公約數(shù)和最小公倍數(shù)。c語言實驗報告-全文共10頁,當(dāng)前為第6頁。編譯無錯誤,運行如上圖所示,使用了最簡單的算法,清晰易理解,同時注意了編程的格式,在以往編程序時,往往不注意上下對齊等問題,容易出現(xiàn)缺標(biāo)點等現(xiàn)象,將大括號一級一級對齊后,可以有效地避免出錯。c語言實驗報告-全文共10頁,當(dāng)前為第6頁。發(fā)現(xiàn)一個技巧,打括號時一次打出一對括號,可以減少括號不配對的錯誤。2.輸入一行字符,分別統(tǒng)計出其中的英文字母、空格、數(shù)字和其它字符的個數(shù)。編譯無誤,測試正確,寫該程序時特意加了注釋,以便閱讀。3.用牛頓迭代法求方程2X3-4X2+3X-6=0在1.5附近的根。該程序缺少#include<stdio.h>;是截圖原因,原程序中是存在的。最開始不知道fabs函數(shù)的用法,通過百度查詢。4.猴子吃桃問題。猴子第一天摘下若干個桃子,當(dāng)即吃了一半,還不過痛,又多吃了一個。第二天早上又將剩下的桃子吃掉一半,又多吃了一個。以后每天早上都吃了前一天剩下的一半零一個。到第10天早上想再吃時,見只剩一個桃子了。求第一天共摘了多少桃子。實驗7函數(shù)一、實驗?zāi)康?(1)
掌握定義函數(shù)的方法。
(2)
掌握函數(shù)實參與形參的對應(yīng)關(guān)系及值傳遞的方式。
(3)
掌握函數(shù)的嵌套調(diào)用和遞歸調(diào)用的方法。
(4)
掌握全局變量和局部變量,動態(tài)變量和靜態(tài)變量的概念和使用方法。
(5)
學(xué)習(xí)對多文件程序的編譯和運行。二、實驗內(nèi)容:1.寫一個判別素數(shù)的函數(shù),在主函數(shù)輸入一個整數(shù),輸出是否素數(shù)的信息。本程序應(yīng)當(dāng)準(zhǔn)備以下測試數(shù)據(jù):17、34、2、1、0。分別運行并檢查結(jié)果是否正確。2.用一個函數(shù)來實現(xiàn)將一行字符串中最長的單詞輸出。此行字符從主函數(shù)傳遞給該函數(shù)。(1)把兩個函數(shù)放在同一個程序文件中。
(2)將兩個函數(shù)分別放在兩個程序文件中,作為兩個文件進(jìn)行編譯、連接和運行。3.用遞歸法將一個整數(shù)n轉(zhuǎn)換成字符串。例如輸入483.應(yīng)輸出字符串“483”。n的位數(shù)不確定,可以是任意的整數(shù)。c語言實驗報告-全文共10頁,當(dāng)前為第7頁。4.求兩個整數(shù)的最大公約數(shù)和最小公倍數(shù)。用一個函數(shù)求最大公約數(shù)用另一個函數(shù)根據(jù)求出的最大公約數(shù)求最小公倍數(shù)。分別用下面的兩種方法編程。
c語言實驗報告-全文共10頁,當(dāng)前為第7頁。(1)不用全局變量,在主函數(shù)中輸入兩個數(shù)和輸出結(jié)果。
(2)用全部變量的方法,數(shù)據(jù)的傳遞通過全部變量的方法。5.寫一個函數(shù),輸入一個十六進(jìn)制數(shù),輸出相應(yīng)的十進(jìn)制數(shù)。三、程序調(diào)試與問題解決:1.寫一個判別素數(shù)的函數(shù),在主函數(shù)輸入一個整數(shù),輸出是否素數(shù)的信息。本程序應(yīng)當(dāng)準(zhǔn)備以下測試數(shù)據(jù):17、34、2、1、0。分別運行并檢查結(jié)果是否正確。該例編譯時出現(xiàn)錯誤,原因是誤將sushu(a)==1寫為sushu(a)=1。改正后編譯無誤。2.用一個函數(shù)來實現(xiàn)將一行字符串中最長的單詞輸出。此行字符從主函數(shù)傳遞給該函數(shù)。子函數(shù)中第二個while考慮到了多種標(biāo)點符號的情況,但是該程序可能存在的問題是,如果有兩個單詞的長度是相同的?3.用遞歸法將一個整數(shù)n轉(zhuǎn)換成字符串。例如輸入483.應(yīng)輸出字符串“483”。n的位數(shù)不確定,可以是任意的整數(shù)。4.求兩個整數(shù)的最大公約數(shù)和最小公倍數(shù)。用一個函數(shù)求最大公約數(shù)用另一個函數(shù)根據(jù)求出的最大公約數(shù)求最小公倍數(shù)。分別用下面的兩種方法編程。
(1)不用全局變量,在主函數(shù)中輸入兩個數(shù)和輸出結(jié)果。
(2)用全部變量的方法,數(shù)據(jù)的傳遞通過全部變量的方法。使用了兩個子函數(shù),我認(rèn)為應(yīng)該還有更簡單的算法?!5.寫一個函數(shù),輸入一個十六進(jìn)制數(shù),輸出相應(yīng)的十進(jìn)制數(shù)。程序運行時出現(xiàn)錯誤,后檢查發(fā)現(xiàn)在scanf格式字符串的雙引號是中文符號,改成英文雙引號后成功。實驗9指針一、實驗?zāi)康?/p>
:eq\o\ac(○,1)
通過實驗進(jìn)一步掌握指針的概念,會定義和使用指針變量;
eq\o\ac(○,2)能正確使用數(shù)組的指針和指向數(shù)組的指針變量;
c語言實驗報告-全文共10頁,當(dāng)前為第8頁。eq\o\ac(○,3)能正確使用字符串的指針和指向字符串的指針變量;
c語言實驗報告-全文共10頁,當(dāng)前為第8頁。eq\o\ac(○,4)能正確使用指向函數(shù)的指針變量;
eq\o\ac(○,5)了解指向指針的指針的概念及其使用方法。二、
實驗內(nèi)容:(1).
輸入三個整數(shù),按由小到大的順序輸出,然后將程序改為:輸入三個字符串,按由小到大順序輸出。(2).
將一個3X3的矩陣轉(zhuǎn)置,用一函數(shù)實現(xiàn)之。
l
3
5
7
9
11
13
15
19將數(shù)組名作為函數(shù)實參,在執(zhí)行函數(shù)的過程中實現(xiàn)矩陣轉(zhuǎn)置,函數(shù)調(diào)用結(jié)束后在主函數(shù)中輸出已轉(zhuǎn)置的矩陣。(3).有n個人圍成一圈,順序排號。從第1個人開始報數(shù)(從1到3報數(shù)),凡報到3的人退出圈子,問最后留下的是原來第幾號的那位。(4).
用一個函數(shù)實現(xiàn)兩個字符串的比較,即自己寫一個strcmp函數(shù),函數(shù)原型為:int
strcmp
(char
*
p1,
char
*
p2);
設(shè)p1指向字符串s1,p2指向字符串s2,要求當(dāng)s1=s2時,函數(shù)返回值為
0,
如果sl≠s2,則返回它們二者第一個不相同字符的ASCII碼差值(如“BOY”與“BAD”的第二個字母不相同,“O”與“A”之差為79—65=14);如果sl>s2,則輸出正值;如果sl<s2則輸出負(fù)值。兩個字符串s1、s2由main函數(shù)輸入,strcmp函數(shù)的返回值也由main函數(shù)輸出。(5).用指向指針的指針的方法對n個整數(shù)排序并輸出。要求將排序單獨寫成一個函數(shù)。n和各整數(shù)在主函數(shù)中輸入,最后在主函數(shù)中輸出。三、程序調(diào)試與問題解決:(1).
輸入三個整數(shù),按由小到大的順序輸出,然后將程序改為:輸入三個字符串,按由小到大順序輸出。(2).
將一個3X3的矩陣轉(zhuǎn)置,用一函數(shù)實現(xiàn)之。
l
3
5
c語言實驗報告-全文共10頁,當(dāng)前為第9頁。7
9
11
c語言實驗報告-全文共10頁,當(dāng)前為第9頁。13
15
19(3).有n個人圍成一圈,順序排號。從第1個人開始報數(shù)(從1到3報數(shù)),凡報到3的人退出圈子,問最后留下的是原來第幾號的那位。(5).用指向指針的指針的方法對n個整數(shù)排序并輸出。要求將排序單獨寫成一個函數(shù)。n和各整數(shù)在主函數(shù)中輸入,最后在主函數(shù)中輸出。實驗12文件一、目的要求
:1.掌握文件以及緩沖文件系統(tǒng)、文件指針的概念;
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025銷售代表勞動合同樣本
- 2025裝潢公司短期用工合同
- 2025專利技術(shù)許可合同書(合同版本)
- 多渠道購物解決方案介紹
- 2025年商業(yè)地產(chǎn)租賃合同格式
- 教育科技在線教育平臺資源整合方案
- 土地整治技術(shù)方案
- 智能證券投資知到課后答案智慧樹章節(jié)測試答案2025年春哈爾濱工業(yè)大學(xué)(深圳)
- 中國城市史知到課后答案智慧樹章節(jié)測試答案2025年春杭州師范大學(xué)
- 2025商業(yè)辦公用房租賃合同樣本下載
- 新時代中小學(xué)教師職業(yè)行為十項準(zhǔn)則考核試題及答案
- 初中數(shù)學(xué)幾何模型半角模型探究公開課課件
- 絲襪英文對照表
- 數(shù)學(xué)課堂教學(xué)技能講座課件
- 工器具檢查及記錄表
- 教學(xué)運行管理
- Unit 6 Food and Drinks-Grammar 可數(shù)名詞與不可數(shù)名詞課件(共12張PPT)-2022-2023學(xué)年中職英語新高教版(2021)基礎(chǔ)模塊1
- 《藝術(shù)學(xué)概論考研》課件藝術(shù)本體論-形式論
- 墻面裱糊工程施工方案及工藝方法
- 核電廠安全核電廠安全設(shè)計
- 電解質(zhì)分析儀MI操作規(guī)程 sop
評論
0/150
提交評論