前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇c語(yǔ)言范文,相信會(huì)為您的寫作帶來(lái)幫助,發(fā)現(xiàn)更多的寫作思路和靈感。
關(guān)鍵詞:C語(yǔ)言 函數(shù)調(diào)用 間接訪問
中圖分類號(hào):TP312 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2015)12-0000-00
C語(yǔ)言程序設(shè)計(jì)是結(jié)構(gòu)化程序設(shè)計(jì),函數(shù)是C語(yǔ)言的基本模塊,函數(shù)調(diào)用是C語(yǔ)言運(yùn)行的重要機(jī)制,在C語(yǔ)言中除了提供大量的庫(kù)函數(shù)外,要實(shí)現(xiàn)具體的功能必須自己定義函數(shù),定義出函數(shù)要實(shí)現(xiàn)的功能,使用函數(shù)的過(guò)程就是調(diào)用函數(shù)的過(guò)程,即函數(shù)間的接口,接口的實(shí)現(xiàn)是通過(guò)參數(shù)傳遞方式實(shí)現(xiàn),函數(shù)調(diào)用的關(guān)鍵是正確傳遞實(shí)參值,用正確的形參變量來(lái)接收。
1 函數(shù)的定義
所謂函數(shù)定義,即定義函數(shù)功能,如求和,求最值,排序功能,用C語(yǔ)言提供的選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)寫出具體的代碼實(shí)現(xiàn)。如果函數(shù)只是完成某項(xiàng)特定的處理任務(wù)可以定義無(wú)返回值的函數(shù),如果函數(shù)最后要返回結(jié)果,可以定義的返回值的函數(shù),如下兩段代碼左邊有返回值,右邊沒有返回值。
int sum1(int m)//函數(shù)頭部
{ int i,sum=0;
for(i=1;i
sum=sum+i;
return sum; }
void sum2(int m)//函數(shù)頭部
{ int i,sum=0;
for(i=1;i
sum=sum+i;
}
s=sum;
}
2 函數(shù)的調(diào)用
函數(shù)調(diào)用的一般形式為:
函數(shù)名(實(shí)參列表);
實(shí)參可以是常數(shù)、變量、表達(dá)式等,多個(gè)實(shí)參用逗號(hào),分隔。
在C語(yǔ)言中,函數(shù)調(diào)用的方式有多種,例如:
01.// 函數(shù)作為表達(dá)式中的一項(xiàng)出現(xiàn)在表達(dá)式中
02.z = max(x, y);
03.m = n + max(x, y);
04.// 函數(shù)作為一個(gè)單獨(dú)的語(yǔ)句
05.printf("%d", a);
06.scanf("%d", &b);
07.// 函數(shù)作為調(diào)用另一個(gè)函數(shù)時(shí)的實(shí)參
08.printf( "%d", max(x, y) );
09.total( max(x, y), min(m, n) );
在函數(shù)調(diào)用中還應(yīng)該注意的一個(gè)問題是求值順序的問題。所謂求值順序是指對(duì)實(shí)參列表中各個(gè)參數(shù)是自左向右使用呢,還是自右向左使用。對(duì)此,各系統(tǒng)的規(guī)定不一定相同。
3 實(shí)際參數(shù)和形式參數(shù)
在函數(shù)定義時(shí)出現(xiàn)函數(shù)名后邊括號(hào)里的變量就是形參,形參必須是變量,因?yàn)樵诤瘮?shù)調(diào)用時(shí)形參是被賦值對(duì)象,形參只在定義它的函數(shù)內(nèi)部被訪問,是局部變量。
在函數(shù)調(diào)用時(shí)出現(xiàn)在函數(shù)名后邊括號(hào)里的常量、變量、表達(dá)式、函數(shù)等是實(shí)參,實(shí)參當(dāng)前值是確定的,因?yàn)樗谫x號(hào)右側(cè)。
實(shí)參出現(xiàn)在主調(diào)函數(shù)中,形參出現(xiàn)在被調(diào)函數(shù)中。
4 傳值調(diào)用和傳址調(diào)用
4.1兩個(gè)數(shù)對(duì)調(diào)的函數(shù)實(shí)現(xiàn)
#include
int a=3,b=4;
void swap1(int a,int b){//值傳遞,也稱為單向傳遞
int t;
t=a;a=b;b=t;
}
void swap2(int *a,int *b){//地址傳遞,也稱為“雙向傳遞”,實(shí)質(zhì)還是單向傳遞
int t;
t=*a;*a=*b;*b=t;
}
main(){
swap1(a,b);
printf("a=%d,b=%d\n",a,b);
swap2(&a,&b);
printf("a=%d,b=%d\n",a,b);
}
第一個(gè)輸出結(jié)果為3,4,第二個(gè)輸出結(jié)果為4,3,在這里傳值調(diào)用和傳址調(diào)用正確,多數(shù)教材和資料中談到傳址調(diào)用時(shí)介紹是雙向傳遞,應(yīng)該是不正確的,以下面例子為例:
4.2有下列程序
# include
void fun1(int x,int y)
{ int z;
z=x; x=y; y=z;
}
void fun2(int *x,int *y)
{ int z;
z=*x; *x=*y; *y=z;
(*x)++; (*y)++;
}
void fun3(int *x,int *y)
{ int z;
z=*x; *x=*y; *y=z;
(*x)++; (*y)++;
}
void main()
{ int a=5,b=9;
fun1(a,b);
printf("a=%d,b=%d\n",a,b);
fun2(&a,&b);
printf("a=%d,b=%d\n",a,b);
fun3(&a,&b);
printf("a=%d,b=%d\n",a,b);
}
在這個(gè)程序中有三次函數(shù)調(diào)用,第一次調(diào)用結(jié)果還第三次調(diào)用都沒有改變主調(diào)函數(shù)中變量的值第二次改變了,第一次是傳值調(diào)用,第二、三次是傳址調(diào)用,第二次改變的實(shí)質(zhì)不是因?yàn)槭莻髦氛{(diào)用,而是因?yàn)槭褂昧碎g接訪問。
5 C語(yǔ)言程序設(shè)計(jì)函數(shù)使用方法
5.1函數(shù)是C模塊語(yǔ)言的模塊
C語(yǔ)言的基本框架是函數(shù),函數(shù)是C語(yǔ)言的基本模塊,在理解中列舉生活中的例子,例如一個(gè)部門一開始很小,只有一個(gè)人,相當(dāng)只有一個(gè)主函數(shù),慢慢的部門壯大起來(lái),需要的人數(shù)增多,這時(shí)候部門就可以再進(jìn)一個(gè)人,那必然有一個(gè)領(lǐng)導(dǎo)另一個(gè),領(lǐng)導(dǎo)者就是先來(lái)的人,也就是主函數(shù),被領(lǐng)導(dǎo)者是后來(lái)的人,即被調(diào)用函數(shù),主函數(shù)安排任務(wù)給被調(diào)函數(shù),要把任務(wù)內(nèi)容告訴被調(diào)用函數(shù),這變是參數(shù)傳遞。
5.2函數(shù)代碼定義過(guò)程
定義時(shí)先定義被調(diào)用函數(shù),然后再定義主函數(shù),這樣在主函數(shù)中就不用做函數(shù)聲明了。
定義被調(diào)用函數(shù)時(shí),先把函數(shù)名字及圓括號(hào)和大括號(hào)寫,里面的代碼先不寫。然后寫主函數(shù)定義,主函數(shù)在這里沒有返回值也無(wú)參,主函數(shù)的頭部定義沒有問題,然后先寫主函數(shù)體代碼,通常主函數(shù)分三部分, 輸入、調(diào)用和輸出,這三部分相對(duì)比較難的是調(diào)用,調(diào)用時(shí)要分析有沒有返回值,有沒有參數(shù),如果有參數(shù),有幾個(gè)并且參數(shù)的類型要確定,調(diào)用時(shí)的參數(shù)是實(shí)際參數(shù),根據(jù)實(shí)參和形參的一一對(duì)應(yīng)關(guān)系,實(shí)參確定好了,形參的類型和個(gè)數(shù)自然也就確定了,這樣被調(diào)用函數(shù)的頭部就定義好了。
主函數(shù)定義后,被調(diào)用函數(shù)的頭部也定義好了,這時(shí)候開始寫被調(diào)用函數(shù)的函數(shù)體,也是編寫程序最難的一部分,涉及具體的算法。
把主函數(shù)和被調(diào)用函數(shù)定義好后,在具體開發(fā)環(huán)境下編譯、鏈接、執(zhí)行,找出程序有沒有語(yǔ)法錯(cuò)誤和邏輯錯(cuò)誤,最后程序得出正確的結(jié)果。
6 結(jié)語(yǔ)
C語(yǔ)言程序設(shè)計(jì)函數(shù)部分是學(xué)習(xí)難點(diǎn),它把以前學(xué)的一個(gè)函數(shù)能實(shí)現(xiàn)的功能分在兩個(gè)或多個(gè)函數(shù)中實(shí)現(xiàn),并且多個(gè)函數(shù)這間有接口,接口就是函數(shù)調(diào)用時(shí)的參數(shù)傳遞,參數(shù)傳遞時(shí)又涉及到變量的作用域和生存期,函數(shù)部分把C語(yǔ)言的各個(gè)知識(shí)點(diǎn)都聯(lián)接起來(lái)了,是C語(yǔ)言的集成和綜合,所以學(xué)好函數(shù)是學(xué)好C語(yǔ)言的關(guān)鍵。
參考文獻(xiàn)
[1] 譚浩強(qiáng).C程序設(shè)計(jì)(第三版)[M].清華大學(xué)出版社,2005年.
關(guān)鍵詞:C語(yǔ)言;程序;學(xué)習(xí)
中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2008)25-1497-03
Discussion about C Language Learning
YING Shi-yong
(Yancheng Textile Vocational and Technical College, Yancheng 224005, China)
Abstract: In regard to fragmentary knowledge of C language, the beginner have difficulty in learning it. The author puts forward some methods of studying C language from the teaching practice. It helps the beginner to solve some problems in the process of studying and seek for study methods that suit themselves.
Key words: C language; procedures; learning
1 問題的提出
隨著計(jì)算機(jī)技術(shù)的普及,學(xué)習(xí)語(yǔ)言程序設(shè)計(jì)的人也越來(lái)越多,尤其是學(xué)習(xí)C語(yǔ)言的人更是多。但是不少人對(duì)計(jì)算機(jī)語(yǔ)言的學(xué)習(xí)比較頭疼,感到力不從心。平心而論,對(duì)于初學(xué)者而言,這屬于正?,F(xiàn)象。請(qǐng)看下面用C語(yǔ)言編寫的一道程序:
#include "stdio.h"
#definePI 3.1415
main()
{ float r,area;
printf("%please input the value of r:");
scanf("%f",&r);
if(r>0) s=PI*r*r;
else { if(area==0) return(0);
ease return(-1); }
printf("area=%f",area); }
這個(gè)程序的功能是通過(guò)鍵盤輸入一個(gè)實(shí)型數(shù),經(jīng)過(guò)程序的運(yùn)行后,在屏幕上顯示以這個(gè)數(shù)作為半徑的圓的面積。這雖然是一個(gè)比較簡(jiǎn)單的程序,卻包含了C語(yǔ)言的很多重要的知識(shí)點(diǎn)。因此,對(duì)知識(shí)點(diǎn)的學(xué)習(xí)就顯得很重要了。
2 C語(yǔ)言的特點(diǎn)
每一種語(yǔ)言都有自己的特點(diǎn),C也不例外。它的特點(diǎn)如下:
2.1 語(yǔ)言簡(jiǎn)單,使用方便
它采用類似自然語(yǔ)言的語(yǔ)法來(lái)書寫程序代碼。所謂自然語(yǔ)言就是接近于人思維習(xí)慣的語(yǔ)言。用C語(yǔ)言編寫程序的過(guò)程往往就是反映了編程者思考問題的過(guò)程。
2.2 運(yùn)算符豐富
C語(yǔ)言總共有34種運(yùn)算符號(hào)。從而使得C的運(yùn)算類型很豐富,表達(dá)式類型多樣化,靈活使用各種運(yùn)算可以實(shí)現(xiàn)其他高級(jí)語(yǔ)言中很難實(shí)現(xiàn)的運(yùn)算。
2.3 數(shù)據(jù)結(jié)構(gòu)豐富
C本身數(shù)據(jù)類型多,如整型、單精度型、雙精度型、字符型、數(shù)組型、指針型、結(jié)構(gòu)體型、共同體型等,并且能實(shí)現(xiàn)各種復(fù)雜的鏈表、樹、棧的運(yùn)算。
2.4 具有結(jié)構(gòu)化的控制語(yǔ)句
常用的有if……else語(yǔ)句、while語(yǔ)句、do……while語(yǔ)句、switch語(yǔ)句、for語(yǔ)句等。用函數(shù)作為程序模塊以實(shí)現(xiàn)程序的模塊化。
2.5 移植性好
“基本上不作修改就能用語(yǔ)各種型號(hào)的計(jì)算機(jī)和各種操作系統(tǒng)。”[1]
3 C語(yǔ)言入門要點(diǎn)
3.1 注意C語(yǔ)言的書寫
比起經(jīng)典的教學(xué)語(yǔ)言PASCAL來(lái)講,C語(yǔ)言的書寫是相對(duì)比較隨便,而且具有很靈活性。但是,從易讀性的角度出發(fā)還是要遵循一些規(guī)則。往往有條有理的程序在視覺上有一種美的享受。如果書寫的程序沒有一定的規(guī)律可尋,語(yǔ)句沒有層次感,讀者就會(huì)沒有耐心去讀了。書寫結(jié)構(gòu)就如同框架、基本輪廓。養(yǎng)成良好的書寫習(xí)慣,對(duì)于培養(yǎng)嚴(yán)謹(jǐn)?shù)乃季S很有幫助。在書寫時(shí)要尤其要注意以下幾點(diǎn):
(1)一行中最好是以一個(gè)語(yǔ)句為佳。雖然一行中可以書寫很多的語(yǔ)句,但在讀的時(shí)候很煩瑣,而且在調(diào)試程序時(shí)也不容易發(fā)現(xiàn)錯(cuò)誤;
(2){}的配對(duì)。在書寫時(shí)尤其要注意配對(duì),對(duì)于要配對(duì)的{}盡量書寫在同一列中。
3.2 掌握C語(yǔ)言的結(jié)構(gòu)
C語(yǔ)言的程序從程序結(jié)構(gòu)上看主要有順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。程序的結(jié)構(gòu)也就是程序的骨架和輪廓,對(duì)程序的執(zhí)行過(guò)程有著很大的影響。
3.2.1 順序結(jié)構(gòu)
顧名思義,就是程序順序地從第一個(gè)操作開始,一直執(zhí)行到最后一個(gè)操作[2]。流程圖如圖a。
3.2.2 條件選擇結(jié)構(gòu)
例如:“如果明天下雨,我就不去看電影;如果不下雨,我就在家看電視?!蔽摇叭ゲ蝗タ措娪啊笔怯伞疤煜虏幌掠辍边@個(gè)條件決定的,同時(shí),“天下不下雨”這個(gè)條件決定了我有兩中選擇:“看電影”還是“在家看電視”。這就是條件選擇的一個(gè)模型。
對(duì)于程序設(shè)計(jì)語(yǔ)言來(lái)講,選擇結(jié)構(gòu)是一種很重要的結(jié)構(gòu)。就文章開頭的這個(gè)例程序,里面就是用了條件選擇結(jié)構(gòu)。首先判斷r是否大于0,因?yàn)榘霃绞秦?fù)數(shù)就沒有意義,所以它不可能是個(gè)負(fù)數(shù)。當(dāng)半徑為0是就表示是一個(gè)點(diǎn)圓,面積自然就是0了。
下面來(lái)看看程序中這種結(jié)構(gòu)的程序執(zhí)行過(guò)程:
首先判定條件是否成立,如果成立就說(shuō)這個(gè)條件是真,程序就執(zhí)行條件問真的子句,如果條件不成立就是說(shuō)這個(gè)條件是假,程序就跳轉(zhuǎn)執(zhí)行它下面的條件為假的子句。
用流程圖來(lái)表示,如圖b。
對(duì)于這個(gè)流程圖用語(yǔ)言可以這樣描述:
if (P成立) A
else B
如果語(yǔ)句A或者是語(yǔ)句B中也是一個(gè)條件選擇結(jié)構(gòu)結(jié)果又會(huì)怎么樣?用語(yǔ)言就可以這樣描述了:
if(條件P1){ if(條件P2)語(yǔ)句A;
else語(yǔ)句B;}
else{ if(條件P3)語(yǔ)句C;
else語(yǔ)句D;}
這就是條件結(jié)構(gòu)的嵌套。注意嵌套在C中是很重要的一種結(jié)構(gòu),不僅是可以在條件選擇之間有嵌套,還可以和下面的要提到的重復(fù)(循環(huán))之間構(gòu)成嵌套。
3.2.3 循環(huán)結(jié)構(gòu)
所謂循環(huán)結(jié)構(gòu)就是:有一條或者是幾條語(yǔ)句在重復(fù)執(zhí)行,直到它不滿足某種條件為止。典型循環(huán)結(jié)構(gòu)有:當(dāng)型循環(huán)和直到型循環(huán)。它們的代表語(yǔ)句分別是:while語(yǔ)句和do…while語(yǔ)句。當(dāng)型結(jié)構(gòu)的流程圖如圖c。
語(yǔ)句的執(zhí)行過(guò)程就是:首先判定條件是否為真,當(dāng)條件是真時(shí),就重復(fù)執(zhí)行語(yǔ)句,直到條件為假為止。特殊情況,條件永遠(yuǎn)為真時(shí),就會(huì)變成死循環(huán)。
3.3 注重C語(yǔ)言的零碎知識(shí)點(diǎn)
零碎的知識(shí)點(diǎn)就是血肉,C語(yǔ)言本身的特點(diǎn)就是知識(shí)點(diǎn)很零碎,不太容易做到面面俱到,但是我們應(yīng)力求不要放過(guò)每一個(gè)知識(shí)點(diǎn)。要在細(xì)節(jié)上多花工夫。
例如:
(1)printf函數(shù)和scanf函數(shù)。這兩個(gè)函數(shù)的格式比較復(fù)雜,不同的格式要求就會(huì)有不同的輸出形式。它們都是C的庫(kù)函數(shù)。在需要使用標(biāo)準(zhǔn)I/O庫(kù)中的函數(shù)時(shí),就要包含#include "stdio.h"這個(gè)宏定義。
(2)編譯預(yù)處理。C的編譯系統(tǒng)對(duì)程序進(jìn)行通常的編譯之前,先對(duì)程序中的特殊命令進(jìn)行預(yù)處理。特殊命令有:宏定義、文件包含、條件編譯。編譯預(yù)處理也是C語(yǔ)言中常用的寫程序的方法。
(3)數(shù)據(jù)構(gòu)造方式可以分為基本類型的數(shù)據(jù)和派生類型的數(shù)據(jù)。
(4)算術(shù)表達(dá)式、關(guān)系表達(dá)式和邏輯表達(dá)式。例如:x+y、x>y和x&&y 分別是是算術(shù)表達(dá)式、關(guān)系表達(dá)式和邏輯表達(dá)式。算術(shù)表達(dá)式的結(jié)果是根據(jù)x,y的取值不同而不同,而關(guān)系表達(dá)式和邏輯表達(dá)式的結(jié)果只有兩個(gè):1、0。另外,還要注意表達(dá)式的優(yōu)先級(jí)。
3.4 要注重上機(jī)操作練習(xí)
C也是一個(gè)操作性很強(qiáng)的語(yǔ)言。編寫好的程序必須要通過(guò)調(diào)試。在調(diào)試程序的過(guò)程中可以學(xué)習(xí)到很多東西。因?yàn)闄C(jī)器是很“無(wú)私的”,會(huì)無(wú)情地指出操作中的錯(cuò)誤。只要有錯(cuò)就不能通過(guò)編譯,程序就無(wú)法運(yùn)行下去。上機(jī)操作的主要目的就是要通過(guò)調(diào)試程序來(lái)驗(yàn)證你編寫的程序。程序調(diào)試是一項(xiàng)很細(xì)致的工作,是需要下工夫、積累經(jīng)驗(yàn)的過(guò)程。上機(jī)調(diào)試程序不僅僅是 “驗(yàn)證程序的正確性”,而更重要的是“掌握調(diào)試方法和技巧”。因此上機(jī)過(guò)程中要注意經(jīng)驗(yàn)的積累。
4 C語(yǔ)言提高關(guān)鍵
學(xué)好、用好C語(yǔ)言光靠入門知識(shí)還好似不夠的,必須學(xué)習(xí)好它的提高部分,也是C的精華部分:數(shù)組、函數(shù)和指針。
4.1 數(shù)組
數(shù)組是一組類型相同的數(shù)據(jù)的有序集合。它是一種簡(jiǎn)單實(shí)用的數(shù)據(jù)結(jié)構(gòu)。數(shù)組是用一個(gè)具有特定意義的名字代表順序排列的一組數(shù),順序號(hào)就是下標(biāo)變量的值。[3]在學(xué)習(xí)數(shù)組時(shí),應(yīng)該重點(diǎn)掌握:一維數(shù)組、二維數(shù)組和字符數(shù)組的定義、初始化和引用。尤其是基本的概念。如:int a[10]和a[8]的區(qū)別,二維數(shù)組的存放形式等。
4.2 函數(shù)
函數(shù)是實(shí)現(xiàn)語(yǔ)言模塊化結(jié)構(gòu)的重要體現(xiàn)。在設(shè)計(jì)程序的過(guò)程中,經(jīng)常會(huì)在不同的程序段中出現(xiàn)有相同或相似功能的小塊程序。如果在每個(gè)不同的程序段中都反復(fù)出現(xiàn)這樣的小塊程序,那么對(duì)整個(gè)大程序來(lái)講它的可讀性會(huì)降低,同時(shí)也會(huì)給設(shè)計(jì)者和讀者帶來(lái)不必要的麻煩。這就好比建造一座大樓,我們主要要做的工作是結(jié)構(gòu)的設(shè)計(jì),對(duì)于門窗、水泥和鋼材等施工材料,直接可以從廠家購(gòu)買使用即可,而沒有必要再專門的成立門窗生產(chǎn)廠、水泥生產(chǎn)廠和鋼材生產(chǎn)廠來(lái)生產(chǎn)這些施工材料。因此,我們就可以將反復(fù)出現(xiàn)的小塊程序組成在一起形成一個(gè)模塊,然后其他的函數(shù)就可以通過(guò)語(yǔ)句直接調(diào)用這些模塊即可,這是函數(shù)的主要思想。
想要學(xué)好函數(shù)還得在這些方面下工夫:函數(shù)的定義、函數(shù)的參數(shù)、函數(shù)的值、局部變量和全局變量的一些基本概念;同時(shí)對(duì)于函數(shù)的調(diào)用(嵌套調(diào)用、遞歸調(diào)用等)過(guò)程要特別注意,一定要理清調(diào)用的關(guān)系及參數(shù)的正確傳遞。
要學(xué)好函數(shù)。善于利用函數(shù)減少重復(fù)編寫程序代碼的工作量。
4.3 指針
指針部分是C語(yǔ)言精華中的精華,主要是因?yàn)橹羔樀膽?yīng)用可以使程序更加簡(jiǎn)潔、緊湊和高效。指針使用的好處是顯而易見的,但是要學(xué)好用好它卻不是很容易的,學(xué)好指針的關(guān)鍵是要深入理解基本的概念,如指針、變量的指針、指針變量等;另外還要注意與前面的知識(shí)相聯(lián)系,如指針和數(shù)
5 結(jié)束語(yǔ)
C語(yǔ)言的應(yīng)用很廣,著名的UNIX操作系統(tǒng)就是用C語(yǔ)言來(lái)寫的。現(xiàn)在的C++也是在C語(yǔ)言的基礎(chǔ)上發(fā)展起來(lái)的。本文粗淺地談了C語(yǔ)言的學(xué)習(xí),由于篇幅所限,只是提供了學(xué)習(xí)的方法和途徑。所以有興趣的初學(xué)者應(yīng)在入門之后反復(fù)練習(xí),悉心揣摩,由淺入深,循序漸進(jìn),就一定能熟練地掌握和運(yùn)用好C語(yǔ)言。
參考文獻(xiàn):
[1] 譚浩強(qiáng). C程序設(shè)計(jì)[M]. 北京:清華大學(xué)出版社,1997.
區(qū)別:
1、C語(yǔ)言適用范圍大,可移植性好,嵌入式的C語(yǔ)言是跑在嵌入式的開發(fā)板上的,CPU和我們電腦不一樣,所以編譯器也是不一樣的,生成的可執(zhí)行程序也是不一樣的;
2、C語(yǔ)言允許直接訪問物理地址,可以直接對(duì)硬件進(jìn)行操作,嵌入式有很多時(shí)候會(huì)受到硬件的限制,同時(shí),在編寫嵌入式的程序時(shí),對(duì)于實(shí)時(shí)性要求可能會(huì)很高;
3、C語(yǔ)言程序生成代碼質(zhì)量高,程序執(zhí)行效率高,由于嵌入式系統(tǒng)一般內(nèi)存,cpu等資源有限,編程時(shí)需要特別考慮系統(tǒng)的高效性。
(來(lái)源:文章屋網(wǎng) )
考研有四門課:數(shù)學(xué)、英語(yǔ)、政治、專業(yè)課,如果不是計(jì)算機(jī)專業(yè)的,不需要考C語(yǔ)言。
C語(yǔ)言:是一門通用計(jì)算機(jī)編程語(yǔ)言,應(yīng)用廣泛,C語(yǔ)言的設(shè)計(jì)目標(biāo)是提供一種能以簡(jiǎn)易的方式編譯、處理低級(jí)存儲(chǔ)器、產(chǎn)生少量的機(jī)器碼以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的編程語(yǔ)言。
盡管C語(yǔ)言提供了許多低級(jí)處理的功能,但仍然保持著良好跨平臺(tái)的特性,以一個(gè)標(biāo)準(zhǔn)規(guī)格寫出的C語(yǔ)言程序可在許多電腦平臺(tái)上進(jìn)行編譯,甚至包含一些嵌入式處理器以及超級(jí)電腦等作業(yè)平臺(tái)。
(來(lái)源:文章屋網(wǎng) )
1、編譯系統(tǒng)最底部出現(xiàn)241表示代碼中含有程序不認(rèn)識(shí)的字符。
2、C語(yǔ)言是一門通用計(jì)算機(jī)編程語(yǔ)言,應(yīng)用廣泛。C語(yǔ)言的設(shè)計(jì)目標(biāo)是提供一種能以簡(jiǎn)易的方式編譯、處理低級(jí)存儲(chǔ)器、產(chǎn)生少量的機(jī)器碼以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的編程語(yǔ)言。盡管C語(yǔ)言提供了許多低級(jí)處理的功能,但仍然保持著良好跨平臺(tái)的特性,以一個(gè)標(biāo)準(zhǔn)規(guī)格寫出的C語(yǔ)言程序可在許多電腦平臺(tái)上進(jìn)行編譯,甚至包含一些嵌入式處理器(單片機(jī)或稱MCU)以及超級(jí)電腦等作業(yè)平臺(tái)。
(來(lái)源:文章屋網(wǎng) )