網站首頁 個人文檔 個人總結 工作總結 述職報告 心得體會 演講稿 講話致辭 實用文 教學資源 企業文化 公文 論文

c語言程序設計實驗報告【新版多篇】

欄目: 實用文精選 / 發佈於: / 人氣:5.17K

c語言程序設計實驗報告【新版多篇】

c語言程序設計實驗報告 篇一

一、實驗目的:

1、掌握C語言的`數據類型和變量的聲明。

2、掌握不同類型數據之間賦值的規律。

3、掌握C語言的運算符和表達式的使用。

4、熟悉C程序的編輯、編譯、連接和運行的過程。

二、實驗內容:

①輸人程序: #includevoid main() { int a, b; float d,e; char c1,c2; double f, g; long m, n; unsigned int p,q; a=61;b=62; c1='a';c2='b'; d=3.56;e=-6.87; f=3157.890121;g=0.123456789; m=50000;n=-60000; p=32768;q=40000; printf(“a=%d,b=%d c1=%c,c2=%c d=%6.2f,e=%6.2f ”,a,b,c1,c2,d,e); printf(“f=%15.6f,g=%15.6f m=%ld,n=%ld p=%u,q=%u ”,f,g,m,n,p,q); }

②運行此程序並分析結果

按習題4. 8要求編寫程序 題目為: 設圓半徑r=l. 5,圓柱高h=3,求圓周長、圓面積、圓球表面積、圓球體積、圓柱體積。 用scanf輸人數據,輸出計算結果口輸出時要有文字説明,取小數點後兩位數字。

程序:

三、實驗步驟:

①輸人程序:

#include

void main() { int a, b; float d,e; char c1,c2; double f, g; long m, n; unsigned int p,q; a=61;b=62; c1='a';c2='b'; d=3.56;e=-6.87; f=3157.890121;g=0.123456789; m=50000;n=-60000; p=32768;q=40000; printf(“a=%d,b=%d c1=%c,c2=%c d=%6.2f,e=%6.2f ”,a,b,c1,c2,d,e); printf(“f=%15.6f,g=%15.6f m=%ld,n=%ld p=%u,q=%u ”,f,g,m,n,p,q); }

②運行此程序並分析結果。

預計結果:

a=61,b=62

c1=a,c2=b

d=``3.56,e=`-6.87

f=````3157.890121,g=```````0.123456

m=50000,n=-60000

p=32768,q=40000(`代表空格)

結果:

g的輸出看來是四捨五入了。

③在此基礎上,將程序第9~14行改為:

a=61;b=62;

c1=a;c2=b;

f=3157.890121;g=0.123456789;

d=f;e=g;

p=a=m=50000;q=b=n=-60000;

運行程序,分析結果。

p=a=m=50000;q=b=n=-60000;這兩條語句將p、a、m的值和q、b、n的值都重新賦了相應的新值。除m、n外都是整型、無符號整型或字符型,因此輸出會按數據類型強制截取,因此得到的值會不盡相同,但可以從理論上做出推測,但由於編譯系統的不同,真正得到的結果也可能不盡相同。

④改用scanf函數輸人數據而不用賦值語句,scanf函數如下:

scanf(“%d,%d,%c,%c,%f,%f,%lf,%lf,%ld,%ld,%u,%u”,&a,&b,&c1,&c2,&d,&e,&f,&g,&m,&n,%p,%q);

輸入的數據如下:

分析運行結果。

(説明:lf和ld格式符分別用於輸人double型和long型數據)

⑤在④的基礎上將printf語句改為:

printf(“a=%d,b=%d c1=%c,c2=%c d=%15.6f,e=%15.6f ”,a,b,c1,c2,d,e);

printf(“f=%f,g=%f m=%ld,n=%ld p=%u,q=%u ”,f,g,m,n,p,q);

運行程序:

⑥將p、q改用%o格式符輸出。

⑦將scanf函數中的%1f和%ld改為%f和%d,運行程序並觀察分析結果。

出現錯誤,提示為:浮點錯誤:超出範圍。程序異常中止。 (2)按習題4. 8要求編寫程序

題目為:

設圓半徑r=l. 5,圓柱高h=3,求圓周長、圓面積、圓球表面積、圓球體積、圓柱體積。 用scanf輸人數據,輸出計算結果口輸出時要有文字説明,取小數點後兩位數字。 程序:

#include

void main()

{

float h,r,s,sq,vq,vz;

float pi=3.1415926;

printf(“Please input the circinal r, and the cylindrical h:”);

scanf(“%f,%f”,&r,&h);

l=2*pi*r;

sq=4*pi*r*r;

vq=4.0/3.0*pi*r*r*r;

vz=pi*r*r*h;

printf(“circinal girth is: l=%6.2f ”,l);

printf(“circinal area is: s=%6.2f ”,s);

printf(“sphere surface area is: sq=%6.2f ”,sq);

printf(“sphere cubage is: vq=%6.2f ”,vq);

printf(“cylindrical cubage is: vz=%6.2f ”,vz);

}

(3)編程序,用getchar函數讀人兩個字符給c1 ,c2,然後分別用putchar函數和printf輸出這兩個字符。 上機運行程序,比較用printf和putchar函數輸出字符的特點。 程序如下: #includevoid main() { char c1,c2; printf(“Please input tow letters: ”); c1=get); c2=get); printf(“Putchar is: ”); putc1); putc2); printf(“ ”); printf(“Printf is: ”); printf(“%c %c ”,c1,c2);

}

可見有putchar輸出的結果是一個字符一個字符順序輸出的。每個putchar函數只能輸出一個字符,且只能輸出字符,而printf可以輸出多個數據,且為任意類

四、實驗心得(體會):

通過本次C語言上機實驗,我對順序結構程序設計有了一定的瞭解。通過幾個例題,我對順序結構中scanf和printf語句的基本實用情況有了一定的理解。我相信這些都為後來的編程打下基礎。對C語言學習,我會更加努力。

精選C語言程序設計實驗報告範文(推薦 篇二

在初學c語言的一個學期後,我們進行了c語言實訓階段,嘗試編寫一個比較複雜的程序系統。在為期一週的時間中,我們同組的同學共同的感受是:c語言實訓和平時上課所接觸的程序是有很大不同的,所經受的考驗和克服的困難是平時所無法比擬的。好在同組的搭檔們精誠合作,分工明確,有問題共同解決,攻克了c語言實訓的複雜程序。在這裏,我作為其中的參與者,感觸良多。

在這次實訓中,我對對c語言有了一個更深的瞭解認識,也對這個學期學的知識得到鞏固,還嘗試運行編程,每次運行程序成功,讓我對下面的項目就充滿信心。通過自己與同學合作編寫程序,最終把最初的理論知識轉化基本技能。這次的實訓,使我對c語言的學習產生濃厚的興趣。

還是這次實訓,最令人激動的就是合作做項目,雖然那只是一個很小很小的項目。每天大家來得很早,大家在一起學習,取長補短,我們很好的在實訓中長知識,提高我們的學習熱情。實訓中深切體會到了老師認真負責的偉大的精神和熱情為同學指導的促學方式,雖然對有些時候老師沒給我們指出解決問題的方法有些小抱怨,但是到了結束時才知道,這種教學讓我們自己學會了自學,學會了去看懂別人的代碼。更多是老師給的感動,每天在我們來之前就到了教室,在講課中海給我們分享他在公司上班的一些心得和體會,還有那些我們應該注意的事項,這些是平時上課時無法學到的,是更深層次的巨大收穫。

通過這次實訓,也使我們發現了許多問題。

在實訓中,我們認識到自己還有很多的知識沒學好,基礎知識沒理清,而且許多東西還要去翻書,去上網搜索。而且遇到一些小錯誤運行不出來,就會煩躁不安,覺得有些自暴自棄或者抱怨項目的變態,以後要克服,儘量保持一顆良好的心態,學好c語言,也學好用c語言編寫一個按要求的系統。

還有就是對於未來,近程就是下學期,我覺得我還有許多方面需要提高。

首先我要繼續學習好c語言的基礎知識,然後能在電腦上熟練的運用。然後每天都能寫一些程序,上網時候多看一些優秀的教程和優秀的代碼。遇到問題時多和同學討論,並且多弄出幾套方案,多鍛鍊自己結局問題的能力和與同學合作的能力。

總之,這一切都成為我記憶裏面的一個篇章,更是在c語言編程上的一個里程碑。

一週的c語言實訓,雖然時間略顯倉促,但卻讓我學到了很多實際運用的技能!

首先,在實訓中的第一步是編寫功能較為單一的小程序,雖然是小程序,但所用的知識卻都是我們本學期學習的重點知識。在做題的過程中讓我們把這些知識複習了一遍,強化了知識!

其次,這次作中所碰到的題目,在實訓中已經接觸過,所我們都比較深知這些題目的要求和算法,因次在編寫小程序時比較快,而且算法也是比較簡化,運算準確。鑑次我明白很多編程題要經過多次編寫修改與調試,才會得到最簡略的算法。

再次,平時我們學c語言視乎都是為了考試或者做一些比較常規的題目,而這次實訓卻給我們的將所學知識運用於解決實際問題的機會,讓人更有激情,這就是編寫軟件的在雛形,也讓我們感受到了編寫軟件程序的樂趣。但是不僅僅是如此,更為重要的是在運用所學知識的過程中,記住這些知識,並能夠廣泛的運用!

雖然我這次是編寫一個菜單的程序,但是如果我麼留心的話,我們身邊有許多電子設備都是內置有程序的,我們也可以在此次專題實訓過後,自行確定其他的專題進行編寫程序,這樣可以讓我們的知識更加深化豐富!

這次實訓似乎是對我巨大的考驗,程序在不慌不忙的進行着,按照我自身的進度,提前完成是沒有問題的,但是很多客觀條件讓我不得不在最後的時間裏才上交的作業。每當我把程序寫完以後,卻由於每一台電腦的識別格式不一樣而導致我所寫的文件一次次的被損壞,儘管這樣,我仍然沒有放棄,最後還趕在截止時間到來之前上交了我的作業!

這一次編寫大作業的程序又讓我感受到學程序可以鍛鍊縝密的思維了。因為平時練習的都是小程序,所以句段比較少,一些錯誤都很容易被檢查出來,但是這次實訓卻是上百段的語句,難以檢查,似乎也沒有經驗去怎麼檢查,那一剎那感覺到很急,但又不知如何是好,可是又不輕易的向老師詢問,因為好像蠻簡單,相信自己能夠檢查出來,所以我一般都是獨立思考的完成的,只有少部分是在老師和與同學討論下完成的。

在編寫程序中,真的是細節決定成敗,因為不管程序的語句是多是少,但是隻要有一條語句或語法不正確,就不能使程序得到所需要的結果。沒能夠使自己編寫出來的程序等到想要的結果,意味着這是一個不理想的程序,對於本次編寫來説則是失敗的。

精選C語言程序設計實驗報告範文(推薦 篇三

c 語言是目前大多數職業學校及大專院校開設的一門計算機基礎課。對於剛接觸計算機語言的職業學生,它具有較強的抽象性且結構化程序設計語言,對初學者來説比較難於接受,也容易出現一些問題。現針對本學期教學中的工作進行總結,以便更好的進行下學期的工作。

本學期教學工作,歸納起來主要有一下幾點。

在c語言教學中我們不僅要使得學生掌握語法知識,重要的是通過課程教學,培養學生抽象思維和邏輯推理能力,掌握程序設計的思想和方法。教學過程中我們有選擇地使用多媒體教學,可以將語言語法中的深奧理論和邏輯推理的內容(如數據類型、運算符、語句及部分語法規則)運用多媒體教學直觀形象地講授給學生。加深學生對問題的理解。這樣的多媒體教學,收到了將抽象問題形象化,枯燥問題生動化的效果。它使得相關的教學手段、教學方法、教學觀念、教學形式、教學結構以致教育思想與教學理論都發生了相應的變革。 但是,在具體使用多媒體的課堂教學中,應依據教學的需要,根據不同的教學目標,教學內容合理適當地組合使用各種教學媒體,多媒體教學一定要實事求是,從學科教學的需要和效果出發,進行系統科學的設計,這樣才能更好地為課堂教學服務,提高課堂教學效果。相反,如果盲目刻意追求現代化教學手段,不遵循教育教學的規律,一味的使用多媒體也將產生副作用(如學生將注意力只集中在投影效果上而忽視教師的語言表達)。因此,多媒

體不是萬能的,它還不能代替教師獨立完成教學活動,只能作為教學手段的補充和提高。

計算機語言課是一門實踐性很強的課。教學過程中除了教師的課堂講解外,主要靠學生的上機實踐來培養學生的操作能力和靈活運用能力。我們提倡“精講多練”,具體措施為:

(1)壓縮講授課時,加強上機訓練,使學生能有更多的時間進行上機實踐。

(2)佈置與現實生活學習緊密聯繫的上機題目,培養學生編寫程序解決問題的能力與興趣。

(3)教師起引導作用。

(4)提倡上機實踐互幫互助,使每個學生的優點都能得到鍛鍊。

(1)以實例為引導,講解語法規則。《c語言程序設計》中很多知識比較抽象、枯燥,不容易被學生接受和理解,教師在課堂教學中應該巧用生活中的實例化繁為簡,將深奧的理論講得通俗易懂。例如,對於幾種結構的理解,我們可以在講解基本概念的同時,可以以通俗易懂的例子為引導逐步引出各個相關知識點和概念,然後以總結的形式講解語法要點,避免純粹學習語法的單調枯燥。這既容易激發學生的學習興趣,又利於學生快速掌握抽象的概念。

(2) 從輸入/輸出函數入手逐步認識c語言程序。學生在學習c語言時,首先遇到的問題就是不知從何處人手,即使在課堂上聽懂了老師所講述的例題,但在上機輸人這些程序後,編譯時還會出現各種問題,加之學生的英語基礎較差,看不懂message窗口中的英文提示信息,導致大多數學生面對機器不知所措,而這種情形又降低了他

們學好這門課的信心以及學習這門課的主動性。因此,教師要做的就是找到一種好的方法使學生少出現這種問題。要做到這一點,就必須要求學生對c語言知識進行積累, 從經典的小程序人手,一步步的實踐和學習,其中學會使用輸人/輸出函數是很關鍵的一步。常用的輸人/輸出函數很具有代表性,特別是printf()和scanf()這兩個格式輸入/輸出函數。通過運用這兩個函數編寫一些程序上機練習。對於學生而言,這樣的程序既具有數據輸入,又具有數據輸出,具有較強的直觀性。通過這些小程序不僅能提高學生對c語言程序結構化的認識。而且也能提高學生學好這門課程的信心。

(3)將算法教學融入到語言教學中。c語言學習過程中,學生感到困難的一般不是在於語法,而是如何用相關語法的語句實現編制程序,也就是根據算法編寫程序問題。由於c語言語法的邏輯性較強、結構性要求較高,學生剛接觸的時候容易考慮不全。因此在算法教學中可以通過實例進行,從最簡單的例子入手使學生在解決其體問題的過程中學習一些基本邏輯結構和語句。同時讓學生知道根據同一個問題可以提出不同的從易於理解到精簡的算法,從而比較這些算法之間的優劣。瞭解算法的優化。通過對算法的優化練習,可以在無形中提高學生寫算法的水平。使得學生真正瞭解到算法是程序的靈魂。

在 c 語言的教學過程中,我們可以採用項目教學法。項目教學法,是師生通過共同實施一個完整的項目工作而進行的教學活動。通過對完整的項目的系統分析,培養學生良好的編程習慣,善於獲取他人經驗的能力以及掌握綜合運用所

學知識的能力,從而完全瞭解項目流程,真正提高編程水平。如讓學生編寫一個簡單的學生信息管理系統,這不但使得學生掌握了所學的c語言知識,同時也使得學生了解了數據字典、流程圖等其它軟件工程方面的內容。這種教學方法,不但提高了學生的實踐能力,同時也激發了學生的學習興趣。

以上是本人在本學期c語言教學中遇到的幾個問題作的簡單討論,在實際教學當中,還有其它一些具體問題,鑑於篇幅問題,我們在這裏不作更深的討論。希望以上思考能對實際的教學和學習有所幫助。

精選C語言程序設計實驗報告範文(推薦 篇四

在這次實訓中,我對c語言有了一個更深的認識瞭解,也對這學期的知識得到鞏固,還嘗試了運行編程,每次運行程序成功,讓我對下面的項目充滿了信心通過自己的努力最終把最初的理論知識轉化成基本技能,這次的實訓,是我對c語言的學習產生了農活的興趣。

還是這次實訓,最令人激動的就是同學遇到問題互相幫助雖然只是一個很小得實訓,但同學們的滿腔人情卻是值得驕傲的,我們在實訓中取長補短在實訓中長知識,提高了我們學習,雖然對有些時候老師沒給我們指出解決問題的方法有一些小抱怨,但到了結束是才知道,這種教學讓我們自己學會了自學,學會了去看懂別人的代碼。更多的是老師的感動,每天在我們來之前家到了機房,給我們我分享他學c語言的感受,還提醒我們注意在編程時與遇到的事項,,這些是我們平時上課無發了解到的知識是我們更深層次的極大收穫。

通過實訓我們也發現了許多問題,在試訓中我認識到自己還有很多知識沒學好,最基本的知識點沒有理清楚,而且許多東西要經過翻書,上網查閲,搜索,遇到一小點錯誤運行不出來,就會煩躁不安,覺得有些自暴自棄或這抱怨題目有些變態,以後要克服,儘量保持一顆藍好的心態,學好c語言,用c語言來編寫一個按要求的系統。

對於未來,近程下個學期,我覺得我還有許多方面需要提高。

首先我要繼續學習好c語言的基礎知識,然後能在電腦上熟練的運用。能寫出一些程序,上網的時候多看一些優秀的教程和優秀的代碼,遇到問題是多和同學討論,並且多弄出幾套方案,多練習自己結局問題的能力和與同學合作的能力。

總之,這一切都成為我記憶裏面的一個篇章,更是c語言編程上的一個里程碑。

精選C語言程序設計實驗報告範文(推薦 篇五

一 選擇題(7分,每小題0.5分)

1.c語言源程序的基本單位是( )。

a 過程 b 函數 c 子程序 d 標識符

2、下列程序的輸出結果是( )。

main( )

{ int a=7,b=5;

printf("%d",b=b/a);

}

a 5 b 1 c 0 d不確定值

3、假設變量a,b均為整型,表達式(a=5,b=2,ab?a++:b++,a+b)的值是( )。

a 7 b 8 c 9 d 2

4、設a為int型變量,執行下列賦值語句後,a的取值分別是( )。

a=125.534; a=(int)125.521%4; a=52;

a 125,31,1 b 125,1,20 c 125,31,20 d 125.534,2,20

5、設有如下程序段,下面描述中正確的是 ( )。

int k=10; while(k=0) k=k-1;

a 循環執行一次 b循環是無限循環 c循環體語句一次也不執行 d循環體語句執行一次

6、以下程序的輸出結果為( )。

int i;

void prt( )

{ for(i=5;i8;i++) printf("%c",*);

printf(" ");

}

main( )

{ for(i=5;i=8;i++) prt( );

}

a *** b *** *** *** *** c *** *** d * * *

7、在c語言程序中,以下説法正確的是()。

a函數的定義可以嵌套,但函數的調用不可以嵌套

b函數的定義不可以嵌套,但函數的調用可以嵌套

c函數的定義和函數的調用都不可以嵌套

d函數的定義和函數的調用都可以嵌套

8、以下函數調用語句中含有( )個實參。

func((e1,e2),(e3,e4,e5));

a 2 b 3 c 5 d 語法錯誤

9、以下程序的輸出結果為( )。

#define add(x) x*x

main( )

{ int a=4,b=6,c=7,d=add(a+b)*c;

printf("d=%d",d);

}

a d=70 b d=80 c d=140 d d=700

10、已知職工記錄描述如下,在turbo c中,系統為變量w分配( )字節的空間。

struct worker

{ int no;

char name[20];

char sex;

union

{ int day; int month; int year;}birth;

} w;

a 29 b 20 c 25 d 6

11、設有以下定義,值為5的枚舉常量是( )。

enum week{sun,mon=4,tue,wed,thu,fri,sat} w;

a tue b sat c fri d thu

12、下面選項中正確的賦值語句是(設 char a[5],*p=a;)( )。

a p="abcd"; b a="abcd"; c *p="abcd"; d *a="abcd";

13、設有以下程序段,則值為6的表達式是( )。

struct st { int n; struct st *next;};

static struct st a[3]={5,&a[1],7,&a[2],9,0 },*p;

p=&a[0];

a p++-n b ++p-n c p-n++ d (*p)。n++

14.c語言中的文件類型只有( )。

a 索引文件和文本文件兩種 b 文本文件一種

c 二進制文件一種 d ascii碼文件和二進制文件兩種

二 判斷對錯,對的劃“√”,錯的劃“×”(5分,每小題0.5分)

1、在turbo c中,整型數據在內存中佔2個字節。( )

i=20;switch(i/10){case 2:printf("a");case 1:printf("b");}的輸出結果為a。( )

語句用在循環體中,可結束本層循環,continue語句用在循環體中,可結束本次循環。( )

4、函數的遞歸調用不過是一個函數直接或間接地調用它自身。( )

5、函數strlen("asdfg")的值是7。( )

6、通過return語句,函數可以帶回一個或一個以上的返回值。( )

7、結構體類型只有一種。 ( )

*p="girl";的含義是定義字符型指針變量p,p的值是字符串"girl"。( )

9、若有定義:char *p(char a[10]);則p是函數名。( )

10、用fopen("file","r+");打開的文件"file"可以進行修改。 ( )

三 寫出下列程序的運行結果(10分,每小題2分)

average (float array[10])

{ int i;

float aver,sum=array[0];

for (i=1;i10;i++)

sum=sum+array[i];

aver=sum/10;

return(aver);

}

main( )

{ float score[10]={89,67.5,78,91,56,82.5,65,70,79,88},aver;

int i;

aver=average (score);

printf (“average score is %5.2f”,aver);

}

( )

{ char a[5]={‘a’,‘b’,‘c’,‘d’,‘e’},*p=a,**pa;

for(p=0;pa+5;p++) p=""

printf(“%2c”,*p);

printf(“”);

printf(“%2c”,**(pa=&p));

}

( )

{ int a,b,s=0;

for(a=1,b=1;a=100;a++)

{ if(b=20) break;

if(b%3==1)

{b+=3; continue; }

b-=5;

}

printf(“a=%d b=%d”,a,b);

}

()

{ printf(“main( ) :%d”,fact(5));

fact(-5);

}

fact(int value)

{ int f;

if(value0)

{ printf(“arg error");

return(-1);

}

else if(value==1||value==0) f=1;

else f=value*fact(value-1)+1;

printf(“this called value=%d”,f);

return f;

}

( )

{ int a=012,b=0x12,k=12;

char c=‘102’,d=‘’;

printf(“a=%d b=%d k=%d”,a,b,k);

printf(“c=%c,d=%c%o”,c,d,a);

a=‘a’; c=49;

printf(“a=%d c=%c”,a,c);

}

四 閲讀下列程序,在 處填入適當內容,使程序完整(8分,每個空1分)

1、有一個3*4矩陣,求其中的最大元素。

max_value( (1) )

{ int i,j,max;

max=array[0][0];

for(i=0;i3;i++)

for(j=0;j4;j++)

if(array[i][j]max)

max=array[i][j];

(2) ;

}

main( )

{ int a[3][4], i,j;

for(i=0;i3;i++)

for(j=0;j4;j++)

(3) ;

printf(“max value is %d”,max_value(a));

}

2、輸入x、y兩個整數,按先大後小的順序輸出x、y。

#include “stdio.h”

main( )

{ int x,y, *px,*py, (4) ;

scanf(“%d%d”,&x,&y);

(5) ; (6) ;

if(xy) p=""

{ p=px; px=py; py=p; }

printf(“x=%d,y=%d”,x,y);

printf(“max=%d,min=%d”,*px,*py);

}

3、用選擇排序法對任意10個整數按照由小到大排序。

main()

{ int a[11],i,j,k,t;

printf("please input 10 numbers:");

for(i=1;i11;i++) scanf("%d",&a[i]);

printf("");

for(i=1;i=9;i++)

{ (7) ;

for(j=i+1; (8) ;j++)

if(a[j]a[k]) k=j;

if(k!=i)

{ t=a[k]; a[k]=a[i]; a[i]=t;}

}

printf("the sorted numbers:");

for(i=1;i11;i++) printf("%d ",a[i]);

}

答案

一 選擇題(7分,每小題0.5分)

1、b 2. c 3. b 4. b 5. c

6、a 7. b 8. a 9. a 10. c

11、a 12. a 13. b 14. d

二 判斷對錯,對的劃“√”,錯的劃“×”(5分,每小題0.5分)

1、× 2.× 3.√ 4.√ 5.×

6、× 7.× 8.× 9.√ 10.√

三 寫出下列程序的運行結果(10分,每小題2分)

1、2. 3.

4、5.

四 閲讀下列程序,在 處填入適當內容,使程序完整(8分,每個空1分)

1、(1)int array[3][4](int array[][4]) (2)return(max) (3)scanf(“%d”,&a[i][j])

2、(4)*p (5)px=&x(py=&y) (6)py=&y(px=&x)

3、(7) (8)

2003c語言試題3

一 選擇題(24分,每小題2分)

1、已知函數fread的調用形式為fread(buffer,size,count,fp),其中buffer代表的是( )。

a 存放讀入數據項的存儲區 b 存放讀入數據的地址或指向此地址的指針

c 一個指向所讀文件的文件指針 d 一個整形變量,代表要讀入的數據項總數

2、以下程序的輸出結果為( )。

main( )

{ int i=010,j=10;

printf("%d,%d",i++,j--);

}

a 11,9 b 9,10 c 8,10 d 9,9

3、設a為int型變量,執行下列賦值語句後,a的取值分別是( )。a=125.534;a=20.0/3;a=(int)125.521%4;a=52;

a 125,6,31,1 b 125,6,1,20 c 125,6.666666,31,20 d 125.534,6.666666,2,20

4、設i和k都是int類型,則for循環語句( )。

for(i=0,k=-1;k=1;i++,k++) printf("****");

a 循環結束的條件不合法 b 循環體一次也不執行 c 循環體只執行一次 d 是無限循環

5、以下程序的輸出結果為( )。

main( )

{ char c;

int i;

for(i=65;i68;i++)

{ c=i+32;

switch(c)

{ case a:case b:case c:printf("%c,",c);break; default:printf("end");}

}

}

a a,b,c,end b a,a,a,end c a,a,a, d a,b,c,

6、函數調用語句:fseek(fp,-10l,2);的含義是( )。

a 將文件位置指針從文件末尾處向文件頭的方向移動10個字節

b 將文件位置指針從當前位置向文件頭的方向移動10個字節

c 將文件位置指針從當前位置向文件末尾方向移動10個字節

d 將文件位置指針移到距離文件頭10個字節處

7、以下程序的輸出結果為( )。

main( )

{ char s1[40]="country",s2[20]="side";

int i=0,j=0;

while(s1[i]!=