欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

C語言中函數(shù)自學(xué) c語言數(shù)學(xué)函數(shù)怎么用

我想先自學(xué)c語言 應(yīng)該怎樣來學(xué)習(xí)呢

一、多看代碼

創(chuàng)新互聯(lián)是專業(yè)的海陵網(wǎng)站建設(shè)公司,海陵接單;提供網(wǎng)站設(shè)計制作、成都網(wǎng)站建設(shè),網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行海陵網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

在有一定基礎(chǔ)以后一定要多看別人的代碼,同時注意代碼中的算法和數(shù)據(jù)結(jié)構(gòu),因?yàn)閿?shù)據(jù)結(jié)構(gòu)和算法是程序的靈魂。提到數(shù)據(jù)結(jié)構(gòu),指針是其中重要的一環(huán),絕大多數(shù)的數(shù)據(jù)結(jié)構(gòu)是建立在指針之上的,如鏈表、隊(duì)列、樹、圖等等,所以只有學(xué)好指針才能真正學(xué)好C。別的方面也要關(guān)注一下,諸如變量的命名、庫函數(shù)的用法等等。有些庫函數(shù)是經(jīng)常用到的。對于這些函數(shù)的用法就要牢牢記住。

二、要多動手

學(xué)習(xí)編程像練習(xí)搏擊一樣,是個實(shí)戰(zhàn)的活,光說不練假把式。剛開始學(xué)的時候可以多練習(xí)書上的習(xí)題。 對于自己不明白的地方,自己編個小程序?qū)嶒?yàn)一下是最好的方法,能給自己留下深刻的印象。 自己動手的過程中要不斷糾正自己不好的編程習(xí)慣和認(rèn)識錯誤。有一定的基礎(chǔ)以后可以嘗試編一點(diǎn)小游戲,照著編寫作為練習(xí)。基礎(chǔ)很扎實(shí)的時候,可以編一些關(guān)于數(shù)據(jù)結(jié)構(gòu)方面的東西,諸如最經(jīng)典的學(xué)生管理系統(tǒng)。之后一切都是那么自然了......

三、 注重編程思維的鍛煉

一個真正意義上的程序員,一定會在編程思維上下狠功夫,這是我們和普通的搬磚程序員的本質(zhì)差別。

四、養(yǎng)成良好的編程習(xí)慣

基本上每本C教材上都要提到。作為新手這條一定要時時遵守。具體注意以下三個方面:

(1) 在比較復(fù)雜的代碼后面要有注釋。 如果光溜溜一堆代碼,別人就不可能看懂你的代碼,而且也不利于查找錯誤。除非你一直編東西給自己看。能在代碼里說明白的就一定要在代碼里體現(xiàn)。比如變量名、函數(shù)名,在命名的時候盡量說明是干什么用的。

(2)注意語句的嵌套不能過長,一般來說,一段代碼里Tab要少于8個。簡單說就是語句最多8個嵌套。 對于新手來說,這個標(biāo)準(zhǔn)還要下降。有一個好習(xí)慣是,把主函數(shù)盡量寫簡短。經(jīng)常看到別人的代碼是主函數(shù)只有幾行,幾個函數(shù)調(diào)用,而定義全在主函數(shù)外部。這樣一是減少了主函數(shù)內(nèi)部的嵌套,二是比較精簡,容易讀懂。

(3)注意語句的選擇。并不是分支語句就用if,循環(huán)就用while、for。在適當(dāng)?shù)那闆r下switch和do while語句也是要用的。在某些時候,switch語句比if語句更加精練明了,而do while比while少一個循環(huán)。

C語言自學(xué)——函數(shù)說明2

比如

void test( )

{

printf(“我就是無參+無返回值結(jié)合的函數(shù)!”);

}

void main ( )

{

test();

}

看上面的兩個函數(shù),一個自定義函數(shù)test,一個主函數(shù)main,在主函數(shù)main里面調(diào)用了test函數(shù),調(diào)用形式就是,直接用函數(shù)名+一對括號+分號,如test();

這種最簡單,很好理解,函數(shù)的功能都集中在test內(nèi)部,調(diào)用它的函數(shù)沒有給它傳遞任何值,也沒有讓它返回任何值。

還是把上面的程序,改一下

int test( )

{

printf(“我就是無參+有返回值結(jié)合的函數(shù)!,給你返回一個值”);

return 1;

}

void main ( )

{

int back_num;

back_num=test();

printf(“返回的值是%d”,back_num);

}

現(xiàn)在繼續(xù)看,因?yàn)閠est函數(shù)呢,改成了有返回值了,那原則上你需要對調(diào)用這個test函數(shù)的返回值進(jìn)行處理,比如程序中,我再定義了一個對等變量back_num用來接收人家test給你返回的值,那要是你不想再定義這個對等變量,那你必須想辦法把人家?guī)Щ貋淼闹堤幚淼簦荒懿宦劜粏枺热纾梢赃@樣,修改一下代碼,你去掉上面標(biāo)黃的兩句,然后,改成這樣。

printf(“返回的值是%d”, test() );

請問,理解了嗎?

現(xiàn)在是否懂得了這兩種函數(shù)的定義以及被調(diào)用形式?

還不懂,那就返回去繼續(xù)研究,繼續(xù)理解?

over!please back!

還是以上面程序?yàn)闇?zhǔn),參數(shù)部分你可以定義多個,這里我定義一個來講解

void test( int test_num )

{

printf(“讓我看看你給我傳過來是多少!”);

printf(“收到,你傳過來是%d!,對吧,但我沒給你返回值哦!”, test_num );

}

void main ( )

{

int num=10;

printf(“讓我給他傳個值!”);

test(num) ;

}

哦,理解嗎?應(yīng)該很好理解,因?yàn)閠est設(shè)計的是需要開放一個接口參數(shù)量,所以,在()里面定義了一個變量,如果你設(shè)計的需要開放多個接口,那你就一個一個定義,用逗號(,)隔開就行,記得必須給這些量數(shù)據(jù)類型哦。別忘了。

然后呢,main函數(shù)想要調(diào)用test,test說呢,我這里需要你提供一個參數(shù)哦,你可要準(zhǔn)備好哦,main說,沒問題,我來定義一個對等量,給你傳過去,你說咋傳,test說,你就放我名字后面的()里面就行,main說,好嘞,走起!看main里面的標(biāo)黃一句。

理解了嗎?

繼續(xù)

char test( int test_num )

{

printf(“讓我看看你給我傳過來是多少!”);

printf(“收到,你傳過來是%d!,對吧,我也給你一個返回值哦!”, test_num );

return ‘Y’;

}

void main ( )

{

char sound;

int num=10;

printf(“讓我給他傳個值!然后我看看有啥反應(yīng),他能給我什么結(jié)果!總不能砸下去都沒響聲吧!”);

sound=test(num) ;

printf(“返回值是 %c ,不錯,還有個響聲!好歹有來有往!”, sound );

}

好了,到這里你能全部理解嗎?不能,那就繼續(xù)返回去再看再想吧!

補(bǔ)充。上面四個程序中,有返回值的,我沒有定義變量,直接使用的常量值給他返回去,當(dāng)然你可以根據(jù)函數(shù)功能與函數(shù)能求得的結(jié)果,通過變量來給他返回去,這都是可以的。

另外,有參數(shù)的函數(shù),在主函數(shù)main中目前都是直接通過變量的形式(當(dāng)然你也可以直接給常量,比如int num=10; test(num) ;,你可以去掉int num=10;這一句,后面的改成 test(10) ;也是可以的。這種傳遞數(shù)據(jù)的方式叫傳值調(diào)用,就是不管是變量(num)還是常量(10)其實(shí)都是具體的數(shù)據(jù),而且量也是一個,不是多個。所以,相當(dāng)于一個量只能傳遞一個值,如果有多個量,那你就必須定義多個參數(shù)。調(diào)用時,位置是一對一的。

大家先學(xué)習(xí)傳值,這個懂得了,再看傳遞地址怎么做!一步一步來。

如何學(xué)習(xí)C語言的庫函數(shù)?

1. 最好是先看看標(biāo)準(zhǔn)文檔,在cppreference.com這網(wǎng)站也能查看,打開文檔里面有各標(biāo)準(zhǔn)庫函數(shù)、宏的列表以及詳細(xì)介紹,C和C++的都有,如英文讀不懂的話可以選擇中文版。內(nèi)置的系列函數(shù),查找文檔就一目了然,還有非常詳盡的參數(shù)、功能、返回值等說明以及各種格式化說明符的用法。

2. 對于初學(xué)C語言底層實(shí)現(xiàn)并不需要深入了解,如想了解的話可以研究一下glibc之類的實(shí)現(xiàn)。

今天自學(xué)了C語言函數(shù)一章,大體有個了解。但是還有很多問題,麻煩高手給我解釋下!先謝謝各位了!

第一段代碼只要把

int a[4]={"1,2,3,4"}; 改為 int a[4]={1,2,3,4};

就正確了

運(yùn)行的結(jié)果是輸入 1

第二段代碼除了要把引號改掉外,

Han(a[4]); 也要改為 Han(a); 運(yùn)行的結(jié)果是輸出1,或者 Han(a[4]);運(yùn)行的結(jié)果是輸出4

C語言常用的函數(shù)有哪些

C語言庫函數(shù),常用庫函數(shù)有:

1、scanf格式輸入函數(shù)

2、printf格式輸出函數(shù)

3、systemdos命令函數(shù)

4、sort排序

5、main主函數(shù)

6、fgets文件讀取字符串函數(shù)

7、fputs文件寫入字符串函數(shù)

8、fscanf文件格式讀取函數(shù)

9、fprintf文件格式寫入函數(shù)

10、fopen打開文件函數(shù)

11、getchar輸入字符函數(shù)

12、putchar輸出字符函數(shù)

13、malloc動態(tài)申請內(nèi)存函數(shù)

14、free釋放內(nèi)存函數(shù)

15、abs求絕對值數(shù)學(xué)函數(shù)

16、sqrt求平方根數(shù)學(xué)函數(shù)

擴(kuò)展資料

語言組成:

1、數(shù)據(jù)類型

C的數(shù)據(jù)類型包括:整型、字符型、實(shí)型或浮點(diǎn)型(單精度和雙精度)、枚舉類型、數(shù)組類型、結(jié)構(gòu)體類型、共用體類型、指針類型和空類型。

2、常量與變量

常量其值不可改變,符號常量名通常用大寫。

變量是以某標(biāo)識符為名字,其值可以改變的量。標(biāo)識符是以字母或下劃線開頭的一串由字母、數(shù)字或下劃線構(gòu)成的序列,請注意第一個字符必須為字母或下劃線,否則為不合法的變量名。變量在編譯時為其分配相應(yīng)存儲單元。

3、數(shù)組

如果一個變量名后面跟著一個有數(shù)字的中括號,這個聲明就是數(shù)組聲明。字符串也是一種數(shù)組。它們以ASCII的NULL作為數(shù)組的結(jié)束。要特別注意的是,方括內(nèi)的索引值是從0算起的。

4、指針

如果一個變量聲明時在前面使用 * 號,表明這是個指針型變量。換句話說,該變量存儲一個地址,而 *(此處特指單目運(yùn)算符 * ,下同。C語言中另有 雙目運(yùn)算符 *) 則是取內(nèi)容操作符,意思是取這個內(nèi)存地址里存儲的內(nèi)容。指針是 C 語言區(qū)別于其他同時代高級語言的主要特征之一。

參考資料來源:百度百科-函數(shù)

自學(xué)C語言要先學(xué)習(xí)什么呢?

編程語言其實(shí)是一個很初級的工具,但是你又必須熟練的掌握它,學(xué)懂一門編程語言就好像學(xué)會了寫字,但是會寫字的人不見得會寫文章,而會寫文章又不見的寫得好。可是如果你不會寫字,那就一定寫不出文章來。 首先,在學(xué)習(xí)C語言之前,應(yīng)該學(xué)好計算機(jī)基礎(chǔ)。里面的很多概念對于C程序員都是非常重要的。如果你在著手學(xué)習(xí)C之前,或者已經(jīng)開始學(xué)習(xí)C,但是碰到了很多問題,應(yīng)該再把計算機(jī)基礎(chǔ)的書拿來好好看看。 如果你有足夠的耐心,十足的毅力,應(yīng)該再學(xué)習(xí)C語言之前學(xué)學(xué)匯編,這會讓你對許多比較細(xì)膩的概念有清醒的認(rèn)識,如果你不是那么有耐心(恕我直言,大部分人可能沒有)。那么可以在看完一遍C語言的教材后再看,但是一定要看一遍,相信我一定會受益匪淺。 看到有些人發(fā)問的帖子,很明顯的沒有仔細(xì)的思考過問題,或者沒有認(rèn)真地查閱過書籍,因?yàn)槠渲械恼Z法和邏輯錯誤實(shí)在是不能理解。想來如果你的語文作業(yè)上面滿篇都是錯字,老師一定不會放過你。為什么不先打好基礎(chǔ)呢?有些人抱怨說因?yàn)榻滩牟缓茫蠋熕讲恍械鹊取5俏冶救司褪窃赥C2下學(xué)習(xí)C語言的,那時候除了譚浩強(qiáng)的書,也幾乎找不到什么別的書。我不打算就譚浩強(qiáng)的書發(fā)表什么意見,那也實(shí)在稱不上是一本好書,但是如果這本是能學(xué)好,全部看好,都記住,也應(yīng)該有相當(dāng)?shù)乃搅恕=ㄗh不管看什么書,先認(rèn)真地看懂,不要貪速度,應(yīng)該力求深入的理解。 如果你能夠比較熟練的解決一本教材上的所有習(xí)題,那么就應(yīng)該轉(zhuǎn)入對算法的學(xué)習(xí),盡管此時你的C語言還稱不上精通,有許多細(xì)節(jié)問題還不了解,許多問題還沒有碰到,但是這些問題會在后面的工作和學(xué)習(xí)中得到解決的。 新手學(xué)習(xí)C語言,有很多誤區(qū),以一個學(xué)過C語言的人,給新手一些建議。 拋磚引玉,請前輩指出問題,發(fā)表意見,新手請注意后面的回復(fù)。 第一:一些概念。 C語言是一門程序設(shè)計語言,有一些標(biāo)準(zhǔn),比較重要的是ANSI C(好像是C89)和C99。 數(shù)據(jù)結(jié)構(gòu)包括邏輯結(jié)構(gòu)和物理結(jié)構(gòu)。邏輯結(jié)構(gòu)是數(shù)據(jù)元素集合和定義在集合上的關(guān)系。物理結(jié)構(gòu)是邏輯結(jié)構(gòu)在計算機(jī)中的實(shí)現(xiàn)。 LCC、VC、TC、GCC都是C語言編譯器,一般包括集成開發(fā)環(huán)境,編譯器和鏈接器及輔助工具 我們書寫的是C源程序,源程序通過編譯器編譯為中間文件,中間文件經(jīng)鏈接器鏈接生成可執(zhí)行文件。不同操作系統(tǒng)可執(zhí)行文件不同。中間文件也有幾個標(biāo)準(zhǔn),微軟使用的和Linux下通用的有差異。 第二:學(xué)習(xí)什么。 個人認(rèn)為程序設(shè)計學(xué)習(xí)的重點(diǎn)放在數(shù)據(jù)結(jié)構(gòu)的學(xué)習(xí)上,但是這種學(xué)習(xí)要有一個平臺,比如C語言。 學(xué)習(xí)C語言首先要掌握基本語法,常量、變量、類型、及順序結(jié)構(gòu)、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)的意義及用法。進(jìn)一步學(xué)習(xí)構(gòu)造類型如指針、結(jié)構(gòu)、函數(shù)的意義和用法。 C語言提供一些標(biāo)準(zhǔn)函數(shù)以減輕程序設(shè)計工作量,這些函數(shù)我們自己也可以實(shí)現(xiàn)。即使不依靠函數(shù)庫,只有編譯器,理論上就足夠了。事實(shí)上,提供的標(biāo)準(zhǔn)函數(shù)效率都很高,使用很頻繁,沒有自己實(shí)現(xiàn)的必要,所以掌握常用函數(shù)是非常必要的,但是要注意函數(shù)的適用范圍。 繼續(xù)學(xué)習(xí)因人而異,應(yīng)該可以獨(dú)立選擇了。 第三:如何學(xué)習(xí)。 強(qiáng)調(diào)多實(shí)踐,C語言的學(xué)習(xí)要經(jīng)常上機(jī),多寫程序才能逐步提高。 推薦書籍:C Programming Languge。有中譯本,但最好看英文版。 通讀,并將所有習(xí)題獨(dú)立思考,給出解答,尤其是編程實(shí)踐題,最好逐一上機(jī)完成。 C語言其實(shí)并不難,如果認(rèn)真掌握了C Programming Language,C語言的基礎(chǔ)就可以了,繼續(xù)學(xué)習(xí)就更加容易。建議不要找捷徑,通過考試除外,真正的水平提高是建立在編程實(shí)踐積累基礎(chǔ)上的,必須一個一個程序的完成才能提高。 談及C語言,我想凡是學(xué)過它的朋友都有這樣一種感覺,那就是“讓我歡喜讓我憂。”歡喜的是,C語言功能非常強(qiáng)大、應(yīng)用廣泛,一旦掌握了后,你就可以理直氣壯地對他人說“我是電腦高手!”,而且以后若是再自學(xué)其他語言就顯得輕而易舉了。憂慮的是,C語言猶如“少林武功” 一般博大精深,太難學(xué)了。其實(shí)就筆者認(rèn)為C語言并非是“difficult(困難)”的,只要你能理清思路,掌握它的精髓,那么自學(xué)C語言是一件非常容易且又其樂無窮的事。今天本人就與大家一起談?wù)勅绾螌W(xué)習(xí)C語言或者說學(xué)習(xí)C語言應(yīng)從哪幾方面著手。 了解一些基本知識 一.C語言的背景 就個人感觸,無論學(xué)習(xí)哪門語言首先應(yīng)該了解一下自己所學(xué)語言的背景,也可以說它的發(fā)展史。 C語言屬于高級程序語言的一種,它的前身是“ALGOL”。其創(chuàng)始人是布朗·W·卡尼漢和丹尼斯·M·利奇。C語言問世時是帶有很大的局限性,因?yàn)樗荒苡糜赨NIX系統(tǒng)上。然而隨著科學(xué)技術(shù)的進(jìn)步,計算機(jī)工業(yè)的發(fā)展,C語言逐漸脫離UNIX。1987年美國標(biāo)準(zhǔn)化協(xié)會制定了C語言的國際標(biāo)準(zhǔn),簡稱 “ANSI C”,從此以后它便成為一種廣泛使用的程序語言。C語言的優(yōu)點(diǎn)很多,主要的有如下四點(diǎn): 1.兼?zhèn)涓呒壵Z言與低級語言的優(yōu)點(diǎn),屬于一種中間語言。 2.它是一種結(jié)構(gòu)化程序設(shè)計語言,非常適合結(jié)構(gòu)化程序設(shè)計。 3.有較豐富的數(shù)據(jù)類型、運(yùn)算符以及函數(shù)供以選用。 4.直接與內(nèi)存打交道,使修改、編輯其他程序與文檔變得輕松,簡單。 二.二大語系二種不同的學(xué)習(xí)方法 筆者學(xué)習(xí)過很多程序語言,例如:C,C++(C語言的擴(kuò)展),QBASIC,VB(BASIC的可視化),JAVASCRIPT,JSCRIPT ,VBSCRIPT,JAVA,ASP,F(xiàn)OXPRO,PERL等等,就本人實(shí)踐所得,其實(shí)高級程序語言分為兩大語系。一路是以C為主的程序語言,例如: JAVASCRIPT,JAVA等,這類語言在函數(shù)的調(diào)用,程序語句的書寫,循環(huán)的控制都極為相似。另一路是以BASIC為首的程序語言,例如: FOXPRO,VBSCRIPT等,此類語言同樣具有相似的函數(shù)調(diào)用,程序語句書寫以及循環(huán)控制,但與C語系是不同的。因此若是您以前是從QBASIC起家的,那么在學(xué)習(xí)C語言前最好是先洗洗腦,千萬不要把學(xué)習(xí)BASIC的方法以及思路用在C身上。 講到這里,我想大家對C語言一定有了感性認(rèn)識吧!下面讓我們再升華一下,全方位親密接觸它。學(xué)習(xí)C語言必須從以下四點(diǎn)入手,也就是說,只要你能掌握這四點(diǎn)的內(nèi)容,那么基本上就大功告成了。 親密接觸C語言 一.輸入輸出 C語言的輸入輸出是非常嚴(yán)格的,或許在其他程序語言中我們可以不關(guān)心這個問題,但在C語言中,我們必須要徹底了解它。由于篇幅有限,因此筆者不能詳談,有興趣的朋友可以參考由著名程序語言教授譚浩強(qiáng)先生主編,由清華大學(xué)出版社出版的《C程序設(shè)計第二版》。不過這里筆者還是有幾點(diǎn)要談一下。 1.二維浮點(diǎn)數(shù)數(shù)組的輸入 二維浮點(diǎn)數(shù)數(shù)組的輸入(即:通過鍵盤給二維浮點(diǎn)數(shù)數(shù)組賦值)在很多專業(yè)書中都沒有詳細(xì)講過這個問題。在給二維浮點(diǎn)數(shù)數(shù)組賦值時一定要先聲明一個變量,接著把數(shù)值賦予這個變量,最后把變量數(shù)值賦予二維浮點(diǎn)數(shù)數(shù)組賦值。實(shí)例如下: # include "stdio.h" main() { float a[2][3],x ; int i,j; for(i=0;i2;i++) for(j=0;j3;j++) {scanf("%f",x); a[i][j]=x;} } 不能寫成: # include "stdio.h" main() { float a[2][3] ; int i,j; for(i=0;i2;i++) for(j=0;j3;j++) scanf("%f",a[i][j]); } 同樣道理,在結(jié)構(gòu)性浮點(diǎn)數(shù)組變量中也一定要按照這種格式輸入。實(shí)例如下: # include "stdio.h" struct student {float b[3]; int x; }a[2]; main() { float x ; int i,j; for(i=0;i2;i++) for(j=0;j3;j++) {scanf("%f",x); a[i].b[j]=x;} } 2.注意輸出格式中“%”后的字符 C語言的輸出說復(fù)雜不復(fù)雜,因?yàn)槌S玫亩己芎唵巍?烧f不復(fù)雜也未必,記得曾在一次等級考前輔導(dǎo)我們C語言的教授講道:“如果C語言要考得很難的話,根本不用考什么指針,只要專考輸出格式,我想百分之九十九的學(xué)生都不及格。”當(dāng)時我們無不認(rèn)同。從這則事例中可以看出C語言的輸出格式之復(fù)雜程度。因此大家在學(xué)習(xí)它時千萬要學(xué)會辨別輸出格式中“%”后的字符,每個字符都有其意義,也都有其作用。 二.優(yōu)先級 說道優(yōu)先級,有很多朋友都不是很了解或說很模糊。為此筆者想先通過一個例子讓各位有個概念。什么叫優(yōu)先級?比方說,我們在公交車終點(diǎn)站排座隊(duì)時總會遇到70歲以上的老人不需要排隊(duì)就能上車的情景,這就是優(yōu)先級的涵義。C程序在運(yùn)行時也象排隊(duì)坐車一樣,首先照顧那些優(yōu)先級高的運(yùn)算符,若是優(yōu)先級相同,那么就象遇到兩位(或兩位以上)70歲以上的老人那樣,讓他們依次上車。但是C語言中的優(yōu)先級的運(yùn)算并不是千篇一律的,只能說是在大多數(shù)情況下,有些運(yùn)算符的優(yōu)先級有其自己的特點(diǎn),因此這點(diǎn)大家要注意。例如條件表達(dá)式:條件?結(jié)果1:結(jié)果2,這種表達(dá)式很多朋友都知道,它的作用與IF…ELSE…條件判斷語句很雷同,它運(yùn)算時的優(yōu)先級就不是按照C語言的規(guī)則來完成的。所以說對于優(yōu)先級各位編程愛好者一定靈活掌握,不要死記硬背。 三.指針 就個人認(rèn)為,C語言中的指針是最有特色的,當(dāng)然也是最難學(xué)的。指針說穿了,其實(shí)是變量的一種表現(xiàn)形式,只不過這種變量記載的不是數(shù)值而是地址。就象一個人可以用姓名來表示自己,也可以用身份證號碼來表示自己一樣。筆者涉足編程已經(jīng)有三年多了,在這期間曾經(jīng)收到過很多網(wǎng)友的電子郵件詢問學(xué)習(xí)指針的方法。就本人感觸,學(xué)習(xí)指針最好是先學(xué)些計算機(jī)硬件工作的原理,例如:直接尋址,間接尋址等,只有了解了這些內(nèi)容以后,你再學(xué)指針就比較容易理會,畢竟C語言是一門介于機(jī)器語言與高級語言中間的語言,沒有一些硬件工作知識是很難領(lǐng)悟它的真諦的。然而事事并非絕對,如果你沒有這些知識也不要緊,只要清楚知道以下筆者總結(jié)的二點(diǎn)再加上多練習(xí)便可: 1.指針是地址變量:它的值有兩種:其一是地址,其二是內(nèi)容。不同的表達(dá)方式可以取不同的值,這有點(diǎn)象一個家庭地址在不同的場合標(biāo)識的人物也不同。例如:父母親在他們的單位所登記的家庭地址就代表他們自己,而你在學(xué)校中登記的同樣的家庭地址就代表你自己。 2.指針是可以運(yùn)算的,它的運(yùn)算法則與變量是一致的。 另外,在編寫一個程序時,除非萬不得已,一般不要使用指針變量。因?yàn)橹羔樖潜容^復(fù)雜的,用不好就“當(dāng)機(jī)”。所以筆者建議各位對于指針只要能看懂就行,當(dāng)然如果你是準(zhǔn)備參加考試的就另當(dāng)別論了。 四.函數(shù) 雖說很多程序語言都有函數(shù)這一內(nèi)容,但筆者覺得C語言的函數(shù)是最有魅力的。如果你能完全掌握C語言的函數(shù),那么學(xué)習(xí)C++就不成問題了(C++是一門建立在C語言上,但又不同于C語言的高級程序語言,它增添了很多函數(shù)。)。學(xué)習(xí)函數(shù)的方法是比較簡單的,只有兩個字“牢記”,即:牢記函數(shù)的功能,牢記函數(shù)的用途以及如何輸入輸出。有些朋友認(rèn)為,程序語言中的函數(shù)沒有多大用處,其實(shí)這并不正確,函數(shù)從本質(zhì)上講是一段通用程序,用它可以幫助我們節(jié)約很多編程的時間,一個聰明的編程者在編寫程序前往往總是先找自己所編寫的程序中有多少是可以用函數(shù)來代替的。筆者曾經(jīng)作過一個比較字符串的實(shí)驗(yàn),用C語言中的strcmp()函數(shù)只要一句話,而自己編寫的話30句話都擺不平,可想而知函數(shù)是多么實(shí)用呀! 寫到這里筆者該告一段落了,下面送一個本人自己用C 語言編寫的注冊表比較程序給諸位。此段程序的注釋請看“/*…*/”后的文字,程序運(yùn)行時(在DOS模式下)輸入的方式如下:compare xx1.reg xxx2.reg xxx3.txt,注意字段與字段之間是有空格的。(compare是程序名) 程序代碼: # include "stdio.h" /*定義頭文件或說包含文件*/ main(argc,argv) /*定義帶參數(shù)的主函數(shù)*/ int argc; /*定義參數(shù)類型*/ char *argv[]; /*定義第二參數(shù)類型*/ { FILE *fp1,*fp2,*fp3; /*定義文件指針*/ char a,b; /*定義字符變量*/ if((fp1=fopen(argv[1],"r"))==NULL) /*打開第一的注冊表備份文件,如果不存在則跳出程序并顯示“The file don`t open!”*/ { printf("The file don`t open!"); exit(0); } if((fp2=fopen(argv[2],"r"))==NULL) /*打開第二的注冊表備份文件,如果不存在則跳出程序并顯示 “The file don`t open!”*/ { printf("The file don`t open!"); exit(0);} if((fp3=fopen(argv[3],"w"))==NULL) /*建立新的文本文件,用于存放比較結(jié)果。*/ {printf("The file don`t open!"); exit(0);} rewind(fp1); /*規(guī)定文件指針fp1指向第一個注冊表文件頭部*/ rewind(fp2); /*規(guī)定文件指針fp2指向第二個注冊表文件頭部*/ while(!feof(fp1)||!feof(fp2)) /*開始比較*/ { a=fgetc(fp1); /*讀取第一個注冊表文件內(nèi)容并賦予給字符變量a*/ b=fgetc(fp2); /*讀取第二個注冊表文件內(nèi)容并賦予給字符變量b*/ if(a!=b) fputc(b,fp3); /*字符變量a與b不相同的話,那么把不同之處寫入新建的文本文件中*/ if(feof(fp1)) fputc(b,fp3); /*如果第一個注冊表文件已經(jīng)讀完,第二個文件還有未讀取部分,那么把第二個文件的剩余部分全部寫入新建文件中*/ if(feof(fp2)) fputc(a,fp3);} /*如果第二個注冊表文件已經(jīng)讀完,第一個文件還有未讀取部分,那么把第一個文件的剩余部分全部寫入新建文件中*/ fclose(fp1); /*關(guān)閉第一個注冊表文件*/ fclose(fp2); /*關(guān)閉第二個注冊表文件*/ fclose(fp3); /*關(guān)閉新建文件*/ } 對于高深莫測的C語言來說,寥寥3千字并不能說清楚的什么問題。但只要您看了此文后,我想對于您學(xué)習(xí)此語言一定有很大的幫助,同時也能了知曉如何用最短的時間學(xué)會C語言以及掌握C語言的精髓所在。另外,此文中所涉及的知識點(diǎn)都是筆者通過實(shí)踐得出的,因此若是其他專業(yè)書籍沒有講到過的問題可以參考本文。最后祝大家學(xué)習(xí)C語言順利!

網(wǎng)站題目:C語言中函數(shù)自學(xué) c語言數(shù)學(xué)函數(shù)怎么用
地址分享:http://www.chinadenli.net/article32/hpippc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站網(wǎng)站排名全網(wǎng)營銷推廣網(wǎng)站維護(hù)Google品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)