重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
函數(shù)的作用主要是為了重復(fù)調(diào)用,當一段代碼在多處使用時,就要考慮寫函數(shù)了。
創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的孝南網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
還有一個方面,用了函數(shù),代碼看起來會很簡潔。
1、數(shù)組傳遞給函數(shù),模擬傳引用調(diào)用的方式自動把數(shù)組傳遞給函數(shù),意味著被調(diào)用的函數(shù)能夠修改原是數(shù)組的元素值,
e.g.int
hourly[24];//數(shù)組定義
void modify(int [],int
);//函數(shù)原型
modify(hourly,24);//函數(shù)調(diào)用,數(shù)組名即數(shù)組第一個元素的地址
注意:為了防止函數(shù)中修改數(shù)組的值,采用類型限定符const做前綴,數(shù)組元素成為函數(shù)體中的常量,函數(shù)體中任何修改數(shù)組元素的企圖都會導(dǎo)致編譯錯誤,
e.g.void modify(const int [],int);
2、字符數(shù)組
字符串讀取:scanf("%s",string1);//不用地址符號,因為數(shù)組名是數(shù)組的起始地址
字符串顯示:printf("%s",string1);
e.g.char string1[]="good
girl";//字符串
charstring1[]={'g','o','o','d','\0','g','i','r','l','\0'};//上下聲明等價
注意:'空字符'='\0',終止符,用printf("%s",string1)輸出,得到good girl。
3、多維數(shù)組
e.g.int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
假設(shè)數(shù)組起始地址2000,則
表示形式含義地址
a指向a[0],即0行首地址。2000
a[0],*(a+0),*a第0行第0列元素地址2000
a+1,a[1]第1行首地址2008
a[1],*(a+1)第1行第0列元素地址2008
a[1]+2,*(a+1)+2,a[1][2]第1行第2列元素地址2012
*(a[1]+2),*(*(a+1)+2),a[1][2]第1行第2列元素的值7
在二維數(shù)組中,a+i=a[i]=*(a+i)=a[i]=a[i][0],即他們的的地址值是想等的。
在初學(xué)C語言的一個學(xué)期后,我們進行了C語言實訓(xùn)階段,嘗試自己編寫一個比較復(fù)雜的程序系統(tǒng)。在為期兩周的時間中,我們同組的同學(xué)共同的感受是:C語言實訓(xùn)和平時上課所接觸的程序是有很大不同的,所經(jīng)受的考驗和克服的困難是平時所無法比擬的。好在同組的搭檔們精誠合作,分工明確,有問題共同解決,攻克了C語言實訓(xùn)的復(fù)雜程序。在這里,我作為其中的參與者,自然感觸良多。
剛開始接觸到C的時候,我已經(jīng)學(xué)過一些有關(guān)VB的內(nèi)容,這個在算法和思維上稍微有點幫助。回想本學(xué)期的學(xué)習(xí),首先,最基本的,是C的數(shù)據(jù)格式,讓我們知道整數(shù),浮點數(shù)以及字符常量在C中的運用。然后,在學(xué)會了數(shù)據(jù)轉(zhuǎn)化,以及熟練的可以對各種數(shù)據(jù)處理之后,我開始進行有關(guān)數(shù)據(jù)結(jié)構(gòu),像數(shù)組,結(jié)構(gòu)體等的學(xué)習(xí),因為有的東西從現(xiàn)有的知識來看都是非常簡單的,還沒有聯(lián)系到指針等等一些復(fù)雜的概念。可是,僅僅學(xué)會這些是遠遠不夠的,C語言中,還有很多更加經(jīng)典、重要、實用的知識。
說說函數(shù)。雖說很多程序語言都有函數(shù)這一內(nèi)容,但我覺得C語言的函數(shù)是最有魅力的了。學(xué)習(xí)函數(shù)的方法是比較簡單的,只有兩個字“牢記”,即:牢記函數(shù)的功能,牢記函數(shù)的用途以及如何輸入輸出。函數(shù)從本質(zhì)上講是一段通用程序,用它可以幫助我們節(jié)約很多編程的時間,學(xué)習(xí)C語言的“高人”都說,一個聰明的編程者在編寫程序前往往總是先找自己所編寫的程序中有多少是可以用函數(shù)來代替的。比如,大家可以作一個比較字符串的實驗,用C語言中的strcmp()函數(shù)只要一句話,而自己編寫的話,30句都很難實現(xiàn),可想而知函數(shù)的實用和快捷。在我們C語言實訓(xùn)的代碼中,函數(shù)更是得到了充分的應(yīng)用,可以說,實訓(xùn)題目的復(fù)雜代碼,就是用無數(shù)個函數(shù)的調(diào)用和嵌套積累出來的。
要注意的是,有的同學(xué)剛剛開始的時候,都是被一些大的程序激勵的,所以當開始的時候看到繁瑣的數(shù)據(jù)轉(zhuǎn)化和簡單的算法,都覺得很無聊,都想自己做幾個自己滿意的程序來看看,雖然這種想法很好,但是,我們說,沒有基礎(chǔ),純粹是搬照一些現(xiàn)成設(shè)計方法,是不足取的。要知道,程序設(shè)計講究的是個人的思維的,假如剛開始就被一些現(xiàn)成的思想束縛住,以后就會覺得很無趣。
我們知道,指針其實是C語言的靈魂,許多的數(shù)據(jù)結(jié)構(gòu)在我們學(xué)到這里之前都可以說是精通了。所以我們的任務(wù)就是,讓數(shù)據(jù)結(jié)構(gòu)在指針中運行。當然,剛剛開始接觸到這些新的東西,是一件非常痛苦的事情,所以我們一定要用非常形象的思維去看待指針,不能太固化。所以,新的東西,比如結(jié)構(gòu)體在指針中的表現(xiàn)方法,數(shù)組及多維數(shù)組在結(jié)構(gòu)體中的運用,都一點一點的加了進來,同時豐滿了我們對原來C的數(shù)據(jù)機構(gòu),數(shù)據(jù)表示的理解。當我們完成了這三步的學(xué)習(xí),我們已經(jīng)可以自豪的說,我們的基礎(chǔ)都扎實了,可以進一步的學(xué)習(xí)有關(guān)算法,設(shè)計概念等等深層次的東西了。
但是,指針,結(jié)構(gòu)體,這些太抽象的東西,在學(xué)習(xí)C語言的時候我們就有點“似懂非懂”,可是在眼下的C語言實訓(xùn)中,像這么重要的C語言知識,一定要達到能熟練掌握,實際運用的程度。在實訓(xùn)的大程序中,結(jié)構(gòu)體在指針中的表現(xiàn)方法,數(shù)組及在結(jié)構(gòu)體中的運用等具體的技術(shù)環(huán)節(jié),都得到了體現(xiàn),不會指針,我們的工作是沒法展開的。所以,在實訓(xùn)期間,大家在鞏固基本知識的基礎(chǔ)上,逐塊攻克實訓(xùn)課題,克服了困難,自信心得到了提高。
最后,談?wù)勎覀兘M的程序軟件。商店商品管理系統(tǒng),是一個比較利于應(yīng)用,解決實際問題,方便實際管理的程序。設(shè)計代碼比較復(fù)雜,結(jié)構(gòu)比較嚴謹。在程序編寫的1周左右的時間里,組員們遇到了上述的困難,包括程序設(shè)計構(gòu)思,甚至是指針等某些知識點的欠缺,導(dǎo)致的工作中出現(xiàn)的困難。但是,當大家一起團結(jié)協(xié)作,解決了這些困難之后,發(fā)現(xiàn)自己也可以編寫復(fù)雜的、應(yīng)用性的程序了,更發(fā)現(xiàn)自己對C語言這門學(xué)科的興趣也提高了。
當然,我們編寫的商店商品管理系統(tǒng),還存在很多疏漏和不合理之處。比如,程序復(fù)雜冗長,如果時間充裕,我們將在不改變程序運行結(jié)果的基礎(chǔ)上,簡化程序,使每一句更加精辟,總體上更加簡化。另外,在程序的外觀上,我們由于時間問題,沒有做更多的修飾,運行起來顯得比較死板、枯燥乏味。如果增添一些色彩和其他效果,我們的程序也許會更加完美。
以上就是我的C語言實訓(xùn)個人總結(jié)