




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本文檔如對(duì)你有幫助,請(qǐng)幫忙下載支持!c語(yǔ)言實(shí)驗(yàn)報(bào)告-本文檔如對(duì)你有幫助,請(qǐng)幫忙下載支持!C語(yǔ)言實(shí)驗(yàn)報(bào)告說(shuō)明1,所有程序均用VC6.0編譯運(yùn)行,文件名命名為姓名+日期,因?yàn)閷?shí)驗(yàn)存在補(bǔ)做,所以并不是按照日期先后排列的。2,為了使截圖清晰,手動(dòng)將運(yùn)行窗口由“黑底白字”改為了“白底黑字”。實(shí)驗(yàn)2數(shù)據(jù)類型、運(yùn)算符和表達(dá)式一、實(shí)驗(yàn)?zāi)康模?/p>
(1)掌握C語(yǔ)言數(shù)據(jù)類型,熟悉如何定義一個(gè)整型、字符型、實(shí)型變量、以及對(duì)它們賦值的方法。
(2)學(xué)會(huì)使用C的有關(guān)算術(shù)運(yùn)算符,以及包含這些運(yùn)算符的表達(dá)式,特別是自加(++)和自減(――)運(yùn)算符的使用。
(3)掌握C語(yǔ)言的輸入和輸出函數(shù)的使用
(4)進(jìn)一步熟悉C程序的編輯、編譯、連接和運(yùn)行的過(guò)程。三、程序調(diào)試與問(wèn)題解決:(1)輸人并運(yùn)行下面的程序
#include<stdio.h>
void
main()
{
char
c1,c2;
c1='a';
c2='b';
printf("%c
%c\n",c1,c2);
}eq\o\ac(○,1)運(yùn)行此程序。c語(yǔ)言實(shí)驗(yàn)報(bào)告-全文共10頁(yè),當(dāng)前為第1頁(yè)。eq\o\ac(○,2)在上面printf語(yǔ)句的下面再增加一個(gè)printf語(yǔ)句。c語(yǔ)言實(shí)驗(yàn)報(bào)告-全文共10頁(yè),當(dāng)前為第1頁(yè)。printf("%d
%d\n",c1,c2);
再運(yùn)行,并分析結(jié)果。輸出結(jié)果如圖,編譯成功,無(wú)錯(cuò)誤。eq\o\ac(○,3)將第3行改為int
c1,c2;
再運(yùn)行,并分析結(jié)果。eq\o\ac(○,4)再將第4、5行改為c1=a;
c2=b;
再運(yùn)行,并分析結(jié)果。a,b沒(méi)有定義,編譯報(bào)錯(cuò)。eq\o\ac(○,5)再將第4、5行改為c1=‘’a‘’;
c2=‘’b‘’;
再運(yùn)行,并分析結(jié)果。eq\o\ac(○,6)再將第4、5行改為c1=300;
c2=400;
再運(yùn)行,并分析結(jié)果。以字符型輸出時(shí),輸出的將是300,400對(duì)應(yīng)的字符。(2)輸人并運(yùn)行教材第3章習(xí)題3.
6給出的程序
#include<stdio.h>
main
()
{
c語(yǔ)言實(shí)驗(yàn)報(bào)告-全文共10頁(yè),當(dāng)前為第2頁(yè)。char
c1='a',c2='b',c3='c',c4='\101',c5='\116';
c語(yǔ)言實(shí)驗(yàn)報(bào)告-全文共10頁(yè),當(dāng)前為第2頁(yè)。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);
}請(qǐng)對(duì)照程序和運(yùn)行結(jié)果分析:
①將一個(gè)負(fù)整數(shù)斌給一個(gè)無(wú)符號(hào)的變t,會(huì)得到什么結(jié)果。畫出它們?cè)趦?nèi)存中的表
示形式。c語(yǔ)言實(shí)驗(yàn)報(bào)告-全文共10頁(yè),當(dāng)前為第3頁(yè)。②將一個(gè)大于32767的長(zhǎng)整數(shù)斌給整型變t,會(huì)得到什么結(jié)果。畫出它們?cè)趦?nèi)存中
的表示形式。c語(yǔ)言實(shí)驗(yàn)報(bào)告-全文共10頁(yè),當(dāng)前為第3頁(yè)。③將一個(gè)長(zhǎng)整數(shù)賦給無(wú)符號(hào)變量,會(huì)得到什么結(jié)果(分別考慮該長(zhǎng)整數(shù)的值大于或等于65535以及小于65535的情況)。畫出它們?cè)趦?nèi)存中的表示形式。eq\o\ac(○,1)得到的是原來(lái)正數(shù)取存的數(shù)eq\o\ac(○,2)將一個(gè)大于32767的長(zhǎng)整數(shù)斌給整型變t,造成溢出,數(shù)據(jù)丟失。eq\o\ac(○,3)可能會(huì)溢出,也可能正常。(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);
}①運(yùn)行程序,注意i,j,m,n各變量的值。分別作以下改動(dòng)并運(yùn)行:
②將第6,7行改為:
m=i++;
n=++j;
再運(yùn)行。③將程序改為:
#include<stdio.h>
void
main()
{
c語(yǔ)言實(shí)驗(yàn)報(bào)告-全文共10頁(yè),當(dāng)前為第4頁(yè)。int
i,j;c語(yǔ)言實(shí)驗(yàn)報(bào)告-全文共10頁(yè),當(dāng)前為第4頁(yè)。
i=8;
j=10;
printf("%d,%d\n",i++,j++);
}④在③的基礎(chǔ)上,將printf語(yǔ)句改為:
printf("%d,%d,%d,%d\n",i,j,++i,++j);
⑤再將printf語(yǔ)句改為:
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;
再運(yùn)行。以上程序結(jié)果的不同均是由于自增自減運(yùn)算符引起的,考慮到一個(gè)判斷技巧,看自增自減運(yùn)算符時(shí),先將它們從原程序中拿出來(lái),如果++或—在后,就先把值放回去,然后自增自減,如果在前,先自增自減,再把結(jié)果放進(jìn)去。
printf("%d,%d,%d,%d\n",i,j,++i,++j);
#include<stdio.h>
c語(yǔ)言實(shí)驗(yàn)報(bào)告-全文共10頁(yè),當(dāng)前為第5頁(yè)。void
main()c語(yǔ)言實(shí)驗(yàn)報(bào)告-全文共10頁(yè),當(dāng)前為第5頁(yè)。
{
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);
}實(shí)驗(yàn)5循環(huán)控制一、實(shí)驗(yàn)?zāi)康模?/p>
(1)熟練掌握f(shuō)or
語(yǔ)句、while
語(yǔ)句、do-while
語(yǔ)句實(shí)現(xiàn)循環(huán)的方法;
(2)理解循環(huán)嵌套及其使用方法;
(3)掌握break
語(yǔ)句與continue
語(yǔ)句的使用;
(4)掌握用循環(huán)實(shí)現(xiàn)一些常用算法(如窮舉、迭代、遞推等)。二、實(shí)驗(yàn)內(nèi)容:1.輸入兩個(gè)正整數(shù),求其中最大公約數(shù)和最小公倍數(shù)。2.輸入一行字符,分別統(tǒng)計(jì)出其中的英文字母、空格、數(shù)字和其它字符的個(gè)數(shù)。3.用牛頓迭代法求方程2X3-4X2+3X-6=0在1.5附近的根。4.猴子吃桃問(wèn)題。猴子第一天摘下若干個(gè)桃子,當(dāng)即吃了一半,還不過(guò)痛,又多吃了一個(gè)。第二天早上又將剩下的桃子吃掉一半,又多吃了一個(gè)。以后每天早上都吃了前一天剩下的一半零一個(gè)。到第10天早上想再吃時(shí),見(jiàn)只剩一個(gè)桃子了。求第一天共摘了多少桃子。三、程序調(diào)試與問(wèn)題解決:1.輸入兩個(gè)正整數(shù),求其中最大公約數(shù)和最小公倍數(shù)。c語(yǔ)言實(shí)驗(yàn)報(bào)告-全文共10頁(yè),當(dāng)前為第6頁(yè)。編譯無(wú)錯(cuò)誤,運(yùn)行如上圖所示,使用了最簡(jiǎn)單的算法,清晰易理解,同時(shí)注意了編程的格式,在以往編程序時(shí),往往不注意上下對(duì)齊等問(wèn)題,容易出現(xiàn)缺標(biāo)點(diǎn)等現(xiàn)象,將大括號(hào)一級(jí)一級(jí)對(duì)齊后,可以有效地避免出錯(cuò)。c語(yǔ)言實(shí)驗(yàn)報(bào)告-全文共10頁(yè),當(dāng)前為第6頁(yè)。發(fā)現(xiàn)一個(gè)技巧,打括號(hào)時(shí)一次打出一對(duì)括號(hào),可以減少括號(hào)不配對(duì)的錯(cuò)誤。2.輸入一行字符,分別統(tǒng)計(jì)出其中的英文字母、空格、數(shù)字和其它字符的個(gè)數(shù)。編譯無(wú)誤,測(cè)試正確,寫該程序時(shí)特意加了注釋,以便閱讀。3.用牛頓迭代法求方程2X3-4X2+3X-6=0在1.5附近的根。該程序缺少#include<stdio.h>;是截圖原因,原程序中是存在的。最開(kāi)始不知道fabs函數(shù)的用法,通過(guò)百度查詢。4.猴子吃桃問(wèn)題。猴子第一天摘下若干個(gè)桃子,當(dāng)即吃了一半,還不過(guò)痛,又多吃了一個(gè)。第二天早上又將剩下的桃子吃掉一半,又多吃了一個(gè)。以后每天早上都吃了前一天剩下的一半零一個(gè)。到第10天早上想再吃時(shí),見(jiàn)只剩一個(gè)桃子了。求第一天共摘了多少桃子。實(shí)驗(yàn)7函數(shù)一、實(shí)驗(yàn)?zāi)康?(1)
掌握定義函數(shù)的方法。
(2)
掌握函數(shù)實(shí)參與形參的對(duì)應(yīng)關(guān)系及值傳遞的方式。
(3)
掌握函數(shù)的嵌套調(diào)用和遞歸調(diào)用的方法。
(4)
掌握全局變量和局部變量,動(dòng)態(tài)變量和靜態(tài)變量的概念和使用方法。
(5)
學(xué)習(xí)對(duì)多文件程序的編譯和運(yùn)行。二、實(shí)驗(yàn)內(nèi)容:1.寫一個(gè)判別素?cái)?shù)的函數(shù),在主函數(shù)輸入一個(gè)整數(shù),輸出是否素?cái)?shù)的信息。本程序應(yīng)當(dāng)準(zhǔn)備以下測(cè)試數(shù)據(jù):17、34、2、1、0。分別運(yùn)行并檢查結(jié)果是否正確。2.用一個(gè)函數(shù)來(lái)實(shí)現(xiàn)將一行字符串中最長(zhǎng)的單詞輸出。此行字符從主函數(shù)傳遞給該函數(shù)。(1)把兩個(gè)函數(shù)放在同一個(gè)程序文件中。
(2)將兩個(gè)函數(shù)分別放在兩個(gè)程序文件中,作為兩個(gè)文件進(jìn)行編譯、連接和運(yùn)行。3.用遞歸法將一個(gè)整數(shù)n轉(zhuǎn)換成字符串。例如輸入483.應(yīng)輸出字符串“483”。n的位數(shù)不確定,可以是任意的整數(shù)。c語(yǔ)言實(shí)驗(yàn)報(bào)告-全文共10頁(yè),當(dāng)前為第7頁(yè)。4.求兩個(gè)整數(shù)的最大公約數(shù)和最小公倍數(shù)。用一個(gè)函數(shù)求最大公約數(shù)用另一個(gè)函數(shù)根據(jù)求出的最大公約數(shù)求最小公倍數(shù)。分別用下面的兩種方法編程。
c語(yǔ)言實(shí)驗(yàn)報(bào)告-全文共10頁(yè),當(dāng)前為第7頁(yè)。(1)不用全局變量,在主函數(shù)中輸入兩個(gè)數(shù)和輸出結(jié)果。
(2)用全部變量的方法,數(shù)據(jù)的傳遞通過(guò)全部變量的方法。5.寫一個(gè)函數(shù),輸入一個(gè)十六進(jìn)制數(shù),輸出相應(yīng)的十進(jìn)制數(shù)。三、程序調(diào)試與問(wèn)題解決:1.寫一個(gè)判別素?cái)?shù)的函數(shù),在主函數(shù)輸入一個(gè)整數(shù),輸出是否素?cái)?shù)的信息。本程序應(yīng)當(dāng)準(zhǔn)備以下測(cè)試數(shù)據(jù):17、34、2、1、0。分別運(yùn)行并檢查結(jié)果是否正確。該例編譯時(shí)出現(xiàn)錯(cuò)誤,原因是誤將sushu(a)==1寫為sushu(a)=1。改正后編譯無(wú)誤。2.用一個(gè)函數(shù)來(lái)實(shí)現(xiàn)將一行字符串中最長(zhǎng)的單詞輸出。此行字符從主函數(shù)傳遞給該函數(shù)。子函數(shù)中第二個(gè)while考慮到了多種標(biāo)點(diǎn)符號(hào)的情況,但是該程序可能存在的問(wèn)題是,如果有兩個(gè)單詞的長(zhǎng)度是相同的?3.用遞歸法將一個(gè)整數(shù)n轉(zhuǎn)換成字符串。例如輸入483.應(yīng)輸出字符串“483”。n的位數(shù)不確定,可以是任意的整數(shù)。4.求兩個(gè)整數(shù)的最大公約數(shù)和最小公倍數(shù)。用一個(gè)函數(shù)求最大公約數(shù)用另一個(gè)函數(shù)根據(jù)求出的最大公約數(shù)求最小公倍數(shù)。分別用下面的兩種方法編程。
(1)不用全局變量,在主函數(shù)中輸入兩個(gè)數(shù)和輸出結(jié)果。
(2)用全部變量的方法,數(shù)據(jù)的傳遞通過(guò)全部變量的方法。使用了兩個(gè)子函數(shù),我認(rèn)為應(yīng)該還有更簡(jiǎn)單的算法?!5.寫一個(gè)函數(shù),輸入一個(gè)十六進(jìn)制數(shù),輸出相應(yīng)的十進(jìn)制數(shù)。程序運(yùn)行時(shí)出現(xiàn)錯(cuò)誤,后檢查發(fā)現(xiàn)在scanf格式字符串的雙引號(hào)是中文符號(hào),改成英文雙引號(hào)后成功。實(shí)驗(yàn)9指針一、實(shí)驗(yàn)?zāi)康?/p>
:eq\o\ac(○,1)
通過(guò)實(shí)驗(yàn)進(jìn)一步掌握指針的概念,會(huì)定義和使用指針變量;
eq\o\ac(○,2)能正確使用數(shù)組的指針和指向數(shù)組的指針變量;
c語(yǔ)言實(shí)驗(yàn)報(bào)告-全文共10頁(yè),當(dāng)前為第8頁(yè)。eq\o\ac(○,3)能正確使用字符串的指針和指向字符串的指針變量;
c語(yǔ)言實(shí)驗(yàn)報(bào)告-全文共10頁(yè),當(dāng)前為第8頁(yè)。eq\o\ac(○,4)能正確使用指向函數(shù)的指針變量;
eq\o\ac(○,5)了解指向指針的指針的概念及其使用方法。二、
實(shí)驗(yàn)內(nèi)容:(1).
輸入三個(gè)整數(shù),按由小到大的順序輸出,然后將程序改為:輸入三個(gè)字符串,按由小到大順序輸出。(2).
將一個(gè)3X3的矩陣轉(zhuǎn)置,用一函數(shù)實(shí)現(xiàn)之。
l
3
5
7
9
11
13
15
19將數(shù)組名作為函數(shù)實(shí)參,在執(zhí)行函數(shù)的過(guò)程中實(shí)現(xiàn)矩陣轉(zhuǎn)置,函數(shù)調(diào)用結(jié)束后在主函數(shù)中輸出已轉(zhuǎn)置的矩陣。(3).有n個(gè)人圍成一圈,順序排號(hào)。從第1個(gè)人開(kāi)始報(bào)數(shù)(從1到3報(bào)數(shù)),凡報(bào)到3的人退出圈子,問(wèn)最后留下的是原來(lái)第幾號(hào)的那位。(4).
用一個(gè)函數(shù)實(shí)現(xiàn)兩個(gè)字符串的比較,即自己寫一個(gè)strcmp函數(shù),函數(shù)原型為:int
strcmp
(char
*
p1,
char
*
p2);
設(shè)p1指向字符串s1,p2指向字符串s2,要求當(dāng)s1=s2時(shí),函數(shù)返回值為
0,
如果sl≠s2,則返回它們二者第一個(gè)不相同字符的ASCII碼差值(如“BOY”與“BAD”的第二個(gè)字母不相同,“O”與“A”之差為79—65=14);如果sl>s2,則輸出正值;如果sl<s2則輸出負(fù)值。兩個(gè)字符串s1、s2由main函數(shù)輸入,strcmp函數(shù)的返回值也由main函數(shù)輸出。(5).用指向指針的指針的方法對(duì)n個(gè)整數(shù)排序并輸出。要求將排序單獨(dú)寫成一個(gè)函數(shù)。n和各整數(shù)在主函數(shù)中輸入,最后在主函數(shù)中輸出。三、程序調(diào)試與問(wèn)題解決:(1).
輸入三個(gè)整數(shù),按由小到大的順序輸出,然后將程序改為:輸入三個(gè)字符串,按由小到大順序輸出。(2).
將一個(gè)3X3的矩陣轉(zhuǎn)置,用一函數(shù)實(shí)現(xiàn)之。
l
3
5
c語(yǔ)言實(shí)驗(yàn)報(bào)告-全文共10頁(yè),當(dāng)前為第9頁(yè)。7
9
11
c語(yǔ)言實(shí)驗(yàn)報(bào)告-全文共10頁(yè),當(dāng)前為第9頁(yè)。13
15
19(3).有n個(gè)人圍成一圈,順序排號(hào)。從第1個(gè)人開(kāi)始報(bào)數(shù)(從1到3報(bào)數(shù)),凡報(bào)到3的人退出圈子,問(wèn)最后留下的是原來(lái)第幾號(hào)的那位。(5).用指向指針的指針的方法對(duì)n個(gè)整數(shù)排序并輸出。要求將排序單獨(dú)寫成一個(gè)函數(shù)。n和各整數(shù)在主函數(shù)中輸入,最后在主函數(shù)中輸出。實(shí)驗(yàn)12文件一、目的要求
:1.掌握文件以及緩沖文件系統(tǒng)、文件指針的概念;
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025工程咨詢居間服務(wù)合同
- 《絲網(wǎng)印刷技術(shù)》課件
- 《戰(zhàn)略規(guī)劃的啟迪》課件
- 2025年合肥貨運(yùn)從業(yè)資格考試技巧和方法
- Unit 6 Useful numbers Part B Lets talk(教學(xué)設(shè)計(jì))-2024-2025學(xué)年人教PEP版(2024)英語(yǔ)三年級(jí)上冊(cè)
- 《小貓語(yǔ)言樂(lè)園》課件
- 2025年南京從業(yè)資格證貨運(yùn)考試答案
- 2022-2023學(xué)年河北省滄衡八校聯(lián)盟高二下學(xué)期期中數(shù)學(xué)試題及答案
- 2025年的房屋租賃合同書模板
- 《第1課 錄制與處理聲音》教學(xué)設(shè)計(jì)教學(xué)反思-2023-2024學(xué)年小學(xué)信息技術(shù)人教版三起四年級(jí)下冊(cè)
- 國(guó)家開(kāi)放大學(xué)《人文英語(yǔ)3》章節(jié)測(cè)試參考答案
- 中國(guó)暈厥診斷與治療專家共識(shí)(2014 )
- 長(zhǎng)途大客車總布置設(shè)計(jì)
- Q∕GDW 10799.6-2018 國(guó)家電網(wǎng)有限公司電力安全工作規(guī)程 第6部分:光伏電站部分
- T∕CAAA 002-2018 燕麥 干草質(zhì)量分級(jí)
- 一年級(jí)《20以內(nèi)的加減法填括號(hào)口算題(共100道)》專項(xiàng)練習(xí)題
- 方格網(wǎng)計(jì)算步驟及方法
- 課題評(píng)分表(共1頁(yè))
- 六年級(jí)趣味數(shù)學(xué)(課堂PPT)
- 詢價(jià)單(模板)
- 關(guān)于我縣二次供水調(diào)研報(bào)告
評(píng)論
0/150
提交評(píng)論