c語言基礎知識大全
1. c語言基礎知識
C語言具有簡潔緊湊,靈活方便,運算符豐富,數據類型豐富,表達方式靈活實用等特點,所以C語言程序設計更主動、靈活。很多人從C語言入門編程,下面整理了一些C語言基礎知識,希望對大家有所幫助!
1.C語言中,變數必須先聲明後使用,即一個程序塊(花括弧對)中所有臨時變數必須在第一條可執行語句之前全部聲明,而不能像C++那樣隨用隨聲明;
2.C語言中參數傳值傳遞形參,即為參數的拷貝,此與C++/JAVA相同,同時值得注意,ANSI C不支持引用,此與C++/JAVA有區別,那麼要對參數進行修改只能使用指針方式(指針傳值指針本身仍是形參,要修改指針本身那必須使用雙重指針);
3.C語言默認類型為int,即參數無類型或函數無返回值類型聲明,則認為是int(貌似一些編譯器不支持),同時不建議使用該特性;
4.無參數的函數聲明應當使用void表明,否則C語言按照老式聲明方法忽略參數類型檢查;
5.全局變數建議全大寫,局部變數建議全小寫,內部變數31個字元有效,外部變數不區分大小寫,僅6個字元有效,所以必須保持唯一性;
6.ANSI C是按照多位元組實現的,UNICODE是後來發展的,所以有char/WCHAR,與.NET中char直接是雙位元組有區別,在C#中導入dll時值得注意;
7.C語言支持枚舉,並且枚舉和int直接強制類型轉換即可,比.NET方便;
8.#define聲明宏定義直接在編譯時替換,不進行類型檢查,const聲明常量則可以進行類型檢查;
9.運算符的優先順序記憶比較麻煩,還是()可靠;
10.goto並不是一無是處,在不考慮程序可讀性的情況下可能獲得更高的效率;
11.函數實際也可以與特殊的類型相對應,那樣對於理解函數指針比較方便,函數為外部類型;
12.static用於全局變數和函數則限定該變數和函數的使用范圍僅為該源文件(從而無需考慮與其他源文件不得重名),用於函數內部變數則該變數的內存分配和回收不再同於普通臨時變數(調用函數生成,函數返回銷毀),而是一直存在於靜態變數區,從而可以保存一些狀態;
13.頭文件的作用體現在調用其他源文件時不需要再次寫函數定義,所以實現函數是不需要頭文件的,調用時才需要,可以採用富頭文件定義一大組介面,然後使用多個源文件分別實現;
14.寄存器變數使用register聲明,僅適用於使用頻率高的局部變數(含形參)(受限於底層硬體,不一定會被分配到寄存器,但是這么寫不影響效率);
15.全局變數和靜態變數默認初始化為全零且僅初始化一次,局部變數默認初始化為未定義且每次都會重新初始化;
16.遞歸調用的方法一般比較緊湊,但是每次調用會單獨維護調用的`堆棧,所以效率不是最高;
17.#include的作用體現於將一些內容避免重新寫一遍(主要是類型、函數和外部變數定義),所以實際上不一定為h文件;
18.表示一行尚未結束,對於定義長的字元串和define比較有用;
19.函數調用的執行順序不確定,所以對於a()+b()這樣函數中使用相同變數並且改變其值的需要藉助臨時變數處理,防止不同實現的調用順序不一致;
20.##用於宏定義中連接前後兩個部分,如cat(a, b) a ## b;
21.指針是C/C++的重要內容,當然也是雙面刃,用好了很方便而且高效,用不好那就造成程序不穩定;
22.使用va_list, va_start, va_arg, va_end來定義可變參數的函數,通過va_start函數中的第一個不變參數將va_list指向參數列表(函數調用的棧中),然後通過va_arg獲取每個參數並將va_list移動指定類型的長度,最後則通過va_end完成必要的回收工作,需要指出的是va_arg沒有結束邊界,所以比較有效的方式有兩種,一種對於參數類型一致,則可以第一個參數指出後續參數的總數,然後依次獲取,另一種對於不同類型的參數混用,則可以通過類型標識+參數配對的方式進行使用(第一個參數依然可以指定數量,當然也可以檢查標識),從而避免最後讀取無效的參數,對於可變參數僅支持int和double兩種類型(參數未限定類型,故按照舊式聲明理解)以及指針類型;
23.函數指針是用來在C語言中實現動態調用的比較有效的方式
24.結構體用作參數依然是拷貝為形參傳遞,這點與JAVA中全部對象都是類有區別(類的對象通過引用傳值,C#支持struct),所以對於大的結構體事宜使用指針傳遞,而對於小的結構體拷貝傳值效率並不低;
25.代碼中字元數組為靜態常量,對其操作無效,程序塊中數組的聲明是可以自動回收的,通過malloc/calloc分配的內存為堆內存,需要自行通過free回收;
2. c語言的基礎知識入門有哪些
- 01
c語言入門基礎知識點有:c語言的命名;變數及賦值;基本數據類型;格式化輸出語句;強制類型轉換;不可改變的常量;自動類型轉換。C語言是一種通用的、面向過程式的計算機程序設計語言。
C語言是一門面向過程的、抽象化的通用程序設計語言,廣泛應用於底層開發。C語言能以簡易的方式編譯、處理低級存儲器。C語言是僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。盡管C語言提供了許多低級處理的功能,但仍然保持著跨平台的特性,以一個標准規格寫出的C語言程序可在包括類似嵌入式處理器以及超級計算機等作業平台的許多計算機平台上進行編譯。
c語言入門基礎知識:
1、c語言的命名編程時給變數或者函數起的名字就是標識符。C語言的標識符是不可以隨便起名字的,必須遵守一定的規則。C 語言規定,標識符可以是字母(A~Z,a~z)、數字(0~9)、下劃線_組成的字元串,並且第一個字元必須是字母或下劃線。
在使用標識符時還有注意以下幾點:
(1)標識符的長度最好不要超過8位,因為在某些版本的C中規定標識符前8位有效,當兩個標識符前8位相同時,則被認為是同一個標識符。
(2)標識符是嚴格區分大小寫的。例如Imooc和imooc 是兩個不同的標識符。
(3)標識符最好選擇有意義的英文單片語成做到"見名知意",不要使用中文。
(4)標識符不能是C語言的關鍵字。想了解更多C語言關鍵字的知識,請查閱WIKI。
2、變數及賦值變數就是可以變化的量,而每個變數都會有一個名字(標識符)。變數占據內存中一定的存儲單元。使用變數之前必須先定義變數,要區分變數名和變數值是兩個不同的概念。就好比:住在房間里的客人與房間號是兩個不同的概念。變數定義的一般形式為:數據類型 變數名;多個類型相同的變數:數據類型 變數名, 變數名, 變數名...;變數名和標識符的命名規范完全相同。
注意:在定義中不允許連續賦值,如int a=b=c=5;是不合法的。
變數的賦值分為兩種方式:1.先聲明再賦值2.聲明的同時賦值。
3、基本數據類型C語言中的數據也是有類型的,C語言中,數據類型可分為:基本數據類型,構造數據類型,指針類型,空類型四大類。
4、格式化輸出語句格式化輸出語句,也可以說是佔位輸出,是將各種類型的數據按照格式化後的類型及指定的位置從計算機上顯示。這樣做的好處,是有利於計算機能夠准確的將我們所要類型數據給我們。其格式為:printf("輸出格式符",輸出項);
5、不可改變的常量在程序執行過程中,值不發生改變的量稱為常量。C語言的常量可以分為直接常量和符號常量。直接常量也稱為字面量,是可以直接拿來使用,無需說明的量,比如:整型常量:13、0、-13;實型常量:13.33、-24.4;字元常量:‘a’、‘M’字元串常量:”I love php!”在C語言中,可以用一個標識符來表示一個常量,稱之為符號常量。符號常量在使用之前必須先定義,其一般形式為:#define 標識符 常量值;符號常量的標示符一般習慣使用大寫字母,變數的標示符一般習慣使用小寫字母,加以區分。
6、自動類型轉換數據類型存在自動轉換的情況,自動轉換發生在不同數據類型運算時,在編譯的時候自動完成。自動轉換遵循的規則就好比小盒子可以放進大盒子裡面一樣,下圖表示了類型自動轉換的規則。
7、強制類型轉換強制類型轉換是通過定義類型轉換運算來實現的。其一般形式為:(數據類型) (表達式);其作用是把表達式的運算結果強制轉換成類型說明符所表示的類型。
注意:double類型的數據的格式符 %f或%lf。
3. c語言基礎知識入門是什麼
C語言功能豐富,表達能力強、使用靈活方便、應用面廣、目標程序效率高、可移植性好,既具有高級語言的優點,又具有低級語言的許多特點,因此特別適合於編寫系統軟體。
C語言不需要基礎只是有計算的地方要用二進制計算,C+要有C語言的基礎,主要是知道那些關鍵字,還有編程語法。以及基本演算法。知道這些c語言就差不多了。至於數學之類的那是對你比較高深的編程才用到的。
(3)c語言基礎知識大全擴展閱讀:
當前階段,在編程領域中,C語言的運用非常之多,它兼顧了高級語言和匯編語言的優點,相較於其它編程語言具有較大優勢。計算機系統設計以及應用程序編寫是C語言應用的兩大領域。同時,C語言的普適較強,在許多計算機操作系統中都能夠得到適用,且效率顯著。
4. C璇璦鐭ヨ瘑鎬葷粨
c璇璦姒傝
絎涓絝犮 姒傝堪
1銆 c璇璦鐨勫熀鏈鐭ヨ瘑
1.1銆 c璇璦鐨勬墽琛屾ラ
緙栬緫-紼嬪簭浠g爜鐨勫綍鍏ワ紝鐢熸垚婧愮▼搴*.c
緙栬瘧-璇娉曞垎鏋愭煡閿欙紝緲昏瘧鐢熸垚鐩鏍囩▼搴*.obj
錛堣娉曟垨閫昏緫閿欒錛屼粠絎涓涓寮濮嬫敼錛屽彉閲忓畾涔夛紝璇鍙ユ牸寮忥紝琛ㄨ揪寮忔牸寮忕瓑錛
閾炬帴-涓庡叾浠栫洰鏍囩▼搴忔垨搴撻摼鎺ヨ呴厤錛岀敓鎴愬彲鎵ц岀▼搴*.exe
鎵ц
1.2銆 main鍑芥暟鐨勫熀鏈鐭ヨ瘑
main錛堬級鍑芥暟鐨勪綅緗
c紼嬪簭鎬繪槸浠巑ain( )鍑芥暟寮濮嬫墽琛
涓涓猚紼嬪簭鍙浠ュ寘鍚涓涓涓誨嚱鏁幫紝鍗砿ain錛堬級鍑芥暟錛涗篃鍙浠ュ寘鍚涓涓猰ain()鍑芥暟鍜岃嫢騫插叾瀹冨嚱鏁
1.3銆 c紼嬪簭鐨勭粨鏋
鍑芥暟涓庝富鍑芥暟
紼嬪簭鐢變竴涓鎴栧氫釜鍑芥暟緇勬垚
蹇呴』鏈変竴涓涓斿彧鑳芥湁涓涓涓誨嚱鏁癿ain()
紼嬪簭鎵ц屼粠main寮濮嬶紝鍦╩ain涓緇撴潫錛屽叾浠栧嚱鏁伴氳繃宓屽楄皟鐢ㄥ緱浠ユ墽琛
紼嬪簭璇鍙
C紼嬪簭鐢辮鍙ョ粍鎴
鐢ㄢ滐紱鈥濅綔涓鴻鍙ョ粓姝㈢
娉ㄩ噴
//
鎴
/* */ 涓烘敞閲婏紝涓嶈兘宓屽
涓嶄駭鐢熺紪璇戜唬鐮
1.4銆乧 紼嬪簭涔﹀啓鐨勮勫垯
涔犳儻鐢ㄥ皬鍐欏瓧姣嶏紝澶у皬鍐欐晱鎰
涓嶄嬌鐢ㄨ屽彿錛屾棤紼嬪簭琛屾傚康錛氶氬父涓涓璇鍙ュ崰涓琛
鍙浣跨敤絀鴻屽拰絀烘牸
甯哥敤閿榻垮艦鐨勪功鍐欐牸寮忥紱鍚屼竴灞傛$粨鏋勭殑璇鍙ヤ笂涓嬪歸綈銆
絎浜岀珷銆佸熀鏈鏁版嵁綾誨瀷涓庤繍綆
2.1銆乧紼嬪簭鐨勬暟鎹綾誨瀷
娉ㄦ剰綾誨瀷鍜屽彉閲忓惈涔夌殑涓嶅悓錛堢被鍨嬫槸鍥哄畾濂界殑鍚嶅瓧錛屽彉閲忔槸鑷宸辮搗鐨勫悕瀛楋級
鍙橀噺鍗犵敤鐨勫瓨鍌ㄧ┖闂
鏁版嵁綾誨瀷
鍩烘湰綾誨瀷錛氭暣鍨嬨佸瓧絎﹀瀷銆佹誕鐐瑰瀷錛堝崟綺懼害鍨嬶紝鍙岀簿搴﹀瀷錛
鏋勯犵被鍨嬶細鏁扮粍綾誨瀷銆佺粨鏋勪綋綾誨瀷
鎸囬拡綾誨瀷
絀虹被鍨
娉ㄦ剰鍩烘湰綾誨瀷璧嬪垵鍊肩殑鏂瑰紡
鍩烘湰鏁版嵁綾誨瀷鐨勮〃紺哄艦寮
鏁村艦鏁版嵁
鍗佽繘鍒訛細浠ラ潪0鏁板瓧寮澶達紝濡傦細123錛-9錛0
鍏榪涘埗;浠0鏁板瓧寮澶達紝濡傦細0123錛067
鍗佸叚榪涘埗錛氫互0x寮澶達紝濡傦細0x123,0xff
瀹炲瀷鏁版嵁
鍗佽繘鍒訛細蹇呴』甯﹀皬鏁扮偣錛屽傦細123.0錛-9.0
鎸囨暟褰㈠紡;濡傦細1.23E3錛0.9e-2,5e2
瀛楃﹀瀷鏁版嵁
鏅閫氬瓧絎︼細濡傦細鈥檃鈥,鈥2鈥,鈥橦鈥,鈥#鈥
杞涔夊瓧絎︼細濡傦細鈥\n鈥,鈥\167鈥,鈥\xlf,鈥\\鈥
錛堝疄鐜板嚑鍒楃殑瀵歸綈錛氭寚瀹氬藉害銆傚%100\ 鈥\t鈥欏埗琛ㄤ綅錛
錛堝瓧絎︿覆闀垮害銆傗渁bc\n\t\\鈥 strlen 6; sizeof 7錛
鍩烘湰鏁版嵁綾誨瀷鐨勫瓨鍌ㄩ暱搴
鏁村瀷
Int 瀛楄妭鏁 2 浣嶆暟 16 鏁扮殑琛ㄧず鑼冨洿 -32768鈥32767
Short 2 16 -32768鈥32767
Long 4 32 -2147483648鈥2147483647
瀹炲瀷
Float 4 32 3.4e-38---3.4e38
Double 8 64 1.7e-308---1.7e308
瀛楃﹀瀷
Char 1 8 -128----127
2.2銆佹爣璇嗙﹀懡鍚嶈勫垯
C璇璦鏍囧織絎﹀懡鍚嶈勫垯
鏍囪瘑絎︽湁鏁板瓧錛屽瓧姣嶏紝涓嬪垝綰跨粍鎴
鏍囪瘑絎︾殑棣栧瓧絎﹀繀欏諱負瀛楁瘝鍜屼笅鍒掔嚎
鏍囪瘑絎︿笉鑳戒負c璇璦鐨勪繚鐣欏瓧錛堝叧閿瀛楋級
濡傦細auto extern sizeof float static case for struct char goto switch continue in typedef const if union default long unsigned do register void double return else short while enum signed
綆楁湳榪愮畻絎 + - * / %
鍏崇郴榪愮畻絎 > < == >= <= !=
閫昏緫榪愮畻絎 錛 && ||
浣嶈繍綆楃 << >> ~ | ^ &
璧嬪艱繍綆楃 = 鍙婂叾鎵╁睍璧嬪艱繍綆楃
鏉′歡榪愮畻絎 ? :
閫楀彿榪愮畻絎 錛
鎸囬拡榪愮畻絎 * &
奼傚瓧鑺傛暟榪愮畻絎 sizeof
寮哄埗綾誨瀷杞鎹㈣繍綆楃 錛堢被鍨嬶級
鍒嗛噺榪愮畻絎 . ->
涓嬫爣榪愮畻絎 [ ]
鍏朵粬 濡傚嚱鏁拌皟鐢ㄨ繍綆楃()
榪愮畻絎︾殑浼樺厛綰
鐢遍珮鍒頒綆錛氬崟鐩榪愮畻絎︼紝綆楁暟榪愮畻絎︼紝鍏崇郴榪愮畻絎︼紝璧嬪艱繍綆楃
璇存槑錛氬崟鐩榪愮畻絎︼細鑷澧炶繍綆楃︼紝鑷鍑忚繍綆楃︼紝綾誨瀷瑁呮崲榪愮畻絎︺傜粨鍚堟柟鍚戱細鑷鍙寵嚦宸
濡傦細++--I 鍏堚攊.銆
綆楁湳榪愮畻 緇撳悎鏂瑰悜鑷宸﹁嚦鍙
2.3鍩烘湰榪愮畻鍜岃〃杈懼紡
鍏崇郴琛ㄨ揪寮忓拰閫昏緫琛ㄨ揪寮
(a>b)&&(x>y) (a==b)||(x==y) !=a||(a>b)
A&&b.a涓0.涓嶆墽琛宐
A||b a涓1.涓嶆墽琛宐
鍦 c 涓閫昏緫榪愮畻緇撴灉錛1浠h〃鈥滅湡鈥濓紝0浠h〃鈥滃亣鈥濓紱
鍒ゆ柇涓涓琛ㄨ揪寮忔槸鍚︾湡錛0浠h〃鈥滃亣鈥濓紝闈0浠h〃鈥滅湡鈥
鏉′歡琛ㄨ揪寮 閫楀彿琛ㄨ揪寮
濡傦細k=5,k++
閫楀彿鍊間負5錛沰涓6.
琛ㄨ揪寮1錛熻〃杈懼紡2 錛氳〃杈懼紡3
K=5>6 ? 1 : 0
2.4銆佹販鍚堣繍綆楃殑鏁版嵁綾誨瀷杞鎹
2/3+0.5 鍙岀簿搴︽誕鐐瑰瀷
絎涓夌珷銆侀『搴忕粨鏋勭▼搴忚捐
3.1銆乧璇鍙ョ殑鍒嗙被
綆鍗曡鍙
琛ㄨ揪寮忚鍙 琛ㄨ揪寮+鍒嗗彿
絀鴻鍙 鍙鏈夊垎鍙風殑璇鍙
澶嶅悎璇鍙 鐢ㄨ姳鎷鍙峰皢鑻ュ共璇鍙ユ嫭璧鋒潵
嫻佺▼鎺у埗璇鍙
閫夋嫨璇鍙 if ,switch
寰鐜璇鍙 while, do while , for
杞縐昏鍙 break ,continue ,return goto
3.2銆佹牸寮忚緭鍏ュ嚱鏁皊canf
涓鑸褰㈠紡錛歴canf(鈥滄牸寮忔帶鍒跺瓧絎︿覆鈥滐紝鍦板潃鍒楄〃)錛
浣跨敤scanf鍑芥暟鏃訛紝闇瑕佹敞鎰忥細
鏍煎紡瀛楃︾殑涓鏁板繀欏諱笌杈撳叆欏圭殑涓鏁扮浉鍚岋紝鏁版嵁綾誨瀷蹇呴』涓涓瀵瑰簲錛岄潪鏍煎紡瀛楃︿覆錛堣存槑鎬х殑錛夎佸師灝佷笉鍔ㄧ殑杈撳叆銆
杈撳叆瀹炶屾暟鎹鏃訛紝鍙浠ヤ笉甯﹀皬鏁扮偣錛屽嵆鎸夋暣鍨嬫暟鎹杈撳叆
鏁板煎瀷鏁版嵁涓庡瓧絎︽垨瀛楃︿覆娣峰悎杈撳叆鏃訛紝闇瑕佹敞鎰忚緭鍏ユ柟寮忋
3.3銆佹牸寮忚緭鍑哄嚱鏁皃rintf
Printf錛堚滄牸寮忔帶鍒跺瓧絎︿覆鈥滐紝杈撳嚭鍒楄〃錛夛紱
鎸囧畾杈撳嚭鏍煎紡錛岀敱鏍煎紡瀛楃︿覆鍜岄潪鏍煎紡瀛楃︿覆涓ょ嶇粍鎴愶紝闈炴牸寮忓瓧絎︿覆鐓у師鏍瘋緭鍑恆
%[鏍囧織][杈撳嚭鏈灝忓藉害][.綺懼害][闀垮害]綾誨瀷
鏍囧織錛- 宸﹀歸綈錛+ 鍙沖歸綈錛
%f, %d, %c, %s
3.4銆佸叾浠栬緭鍏ヨ緭鍑哄嚱鏁
Putchar getchar puts gets
絎鍥涚珷銆侀夋嫨緇撴瀯紼嬪簭璁捐
If閫夋嫨緇撴瀯
鍗曞垎鏀
If(琛ㄨ揪寮)
璇鍙
鍙屽垎鏀
If(琛ㄨ揪寮)
璇鍙1
Else
璇鍙2
澶氬垎鏀
If 錛堣〃杈懼紡1錛
璇鍙1
Else if錛堣〃杈懼紡2錛
璇鍙2
銆傘傘
Else if(琛ㄨ揪寮弇)
璇鍙m
Else
璇鍙n
Switch錛堣〃杈懼紡錛
{
Case 甯擱噺琛ㄨ揪寮1錛氳鍙1錛沚reak錛
Case 甯擱噺琛ㄨ揪寮2錛氳鍙2錛沚reak錛
銆傘傘
Case 甯擱噺琛ㄨ揪寮弇錛氳鍙m錛沚reak;
Default:璇鍙n錛沚reak;
}
娉ㄦ剰break鐨勪嬌鐢
絎浜旂珷銆佸驚鐜緇撴瀯紼嬪簭璁捐
寰鐜涓夎佺礌
鍒濆嬫潯浠 錛涚粓姝㈡潯浠 錛涘湪鍒濆嬫潯浠跺拰緇堟㈡潯浠墮棿鍙嶅嶅仛鏌愪歡浜嬫儏錛堝驚鐜浣擄級
While(琛ㄨ揪寮)
璇鍙
Do
璇鍙
While(琛ㄨ揪寮);
For(寰鐜浣撳彉閲忚祴鍒濆礆紱寰鐜鏉′歡錛涘驚鐜鍙橀噺澧為噺)
( for( ) ; // ; 榪涜屾椂闂村歡榪熴傚湪淇℃伅浜ゆ崲絳夋椂鐢ㄣ傚俧or(i=0,i<100) ; 浜掔浉閫氳鐨勬椂闂村歡榪熴 Delay )
Break璇鍙 錛氫笉鑳界敤浜庡驚鐜璇鍙ュ拰switch璇鍙ヤ箣澶栫殑浠諱綍鍏朵粬璇鍙ワ紱璺沖嚭寰鐜銆
Continue璇鍙 錛氳煩榪囧驚鐜浣撲腑鍓╀綑鐨勮鍙ヨ屽己琛屾墽琛屼笅涓嬈″驚鐜錛涜煩鍑烘湰嬈″驚鐜銆
絎鍏絝犮佸嚱鏁頒笌緙栬瘧棰勫勭悊
6.1銆佸嚱鏁扮殑瀹氫箟鍜岃皟鐢
綾誨瀷鏍囪瘑絎 鍑芥暟鍚 錛堝艦寮忓弬鏁板垪琛錛
{ 澹版槑閮ㄥ垎
璇鍙
}
渚嬶細
Int max (int x,int y)
{int z;<br>Z=x>y?x:y;<br>Return(z);}
6.2銆佸矓閮ㄥ彉閲忓拰鍏ㄥ矓鍙橀噺
娉ㄦ剰鍑芥暟涓闈欐佸彉閲忕殑瀹氫箟鍜屼嬌鐢
6.3銆佸彉閲忕殑瀛樺偍綾誨瀷
灞閮ㄥ彉閲忕殑瀛樺偍綾誨瀷
鑷鍔ㄥ彉閲(auto) 鍔ㄦ佸瓨鍌
灞閮ㄩ潤鎬佸彉閲忥紙static錛 闈欐佸瓨鍌
瀵勫瓨鍣ㄥ彉閲(register) 闈欐佸瓨鍌
鍏ㄥ矓鍙橀噺鐨勫瓨鍌ㄧ被鍨
鑷鍔ㄥ彉閲忥紙auto錛 鍔ㄦ佸瓨鍌
澶栭儴鍙橀噺 錛坋xtern錛 闈欐佸瓨鍌
鍏ㄥ矓闈欐佸彉閲忥紙static 錛夐潤鎬佸瓨鍌
Extern 澶栭儴寮曠敤
Static 涓嶈兘鐢╡xtern 寮曠敤銆
絎涓冪珷銆佹暟緇
7.1銆佷竴緇存暟緇勭殑瀹氫箟鍜屼嬌鐢
鐗瑰埆闇瑕佹敞鎰忓驚鐜浣撶殑鍒濆礆紝緇堟㈡潯浠
渚嬶細
Main()
{
Int I,a[10];
For(i=0;i<=9;i++)
A=I;
For(i=9;i>=0;i--)
Printf(鈥%d鈥,a);
}
娉ㄦ剰涓嬫爣闂棰
7.2銆佷簩緇存暟緇勭殑瀹氫箟鍜屼嬌鐢
浜岀淮鏁扮粍鐨勫垵濮嬪寲
渚嬪傦細
Int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
Int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
Int a[ ][4]={1,2,3,4,5,6,7,8,9,10,11,12};
Int a[ ][4]={{1,2,3,4},{5},{9,10,11,12}};
渚嬪傦細int a[3][3]={{1},{2},{3}};
鏄瀵規瘡涓琛岀殑絎涓鍒楀厓緔犺祴鍊礆紝鏈璧嬪肩殑鍏冪礌鍙0
7.3銆佸瓧絎︽暟緇勫拰 瀛楃︿覆
瀛楃︿覆鐢ㄥ瓧絎︽暟緇勬潵澶勭悊錛岀粨鏉熸爣蹇楃 鈥\0鈥
濡傦細char c[ ]={鈥淚 am happy鈥潁;
鐢ㄥ瓧絎︿覆甯擱噺浣垮瓧絎︽暟緇勫垵鍊煎寲
Char c[ ]={鈥業鈥,鈥 鈥,鈥檃鈥,鈥檓鈥,鈥 鈥,鈥檋鈥,鈥檃鈥,鈥檖鈥,鈥檖鈥,鈥檡鈥,鈥\0鈥檥;
絎鍏絝犮佹寚閽
8.1銆佸湴鍧鍜屾寚閽堢殑姒傚康
Int I;
Int *i_point;
8.2銆佹寚閽堝彉閲忓拰鍙橀噺鐨勫湴鍧
鎿嶄綔絎︼細* &
8.3銆佹寚閽堝拰涓緇存暟緇
鑻ユ湁瀹氫箟
Int a[10];
Int *p=a;
鍒嗘瀽涓嬮潰琛ㄨ揪寮忕殑鍚涔夛細
A, &a,
*(a+i), a+I,
*(p+i), p+i
A=*(a+i)=*(P+i)
&a=a+i=p+i
8.4銆佹寚閽堜笌瀛楃︿覆
Main()
{
Char string[ ]=鈥滻 love china!鈥;
Printf(鈥%s\n鈥,string);
}
Main()
{ char *string=鈥滻 love china!鈥;
Printf(鈥%s\n鈥,string);
}
8.5銆佹寚閽堝彉閲忎綔涓哄嚱鏁板弬鏁
褰㈠弬鐨勫畾涔夋柟寮忥紱瀹炲弬鐨勫艦寮忥紱鍙傛暟鐨勪紶閫掓柟寮忋
絎涔濈珷銆佺粨鏋勪綋
9.1銆佺粨鏋勪綋綾誨瀷鍜屽彉閲忕殑瀹氫箟
Struct 緇撴瀯浣撳悕
{鎴愬憳鍒楄〃}錛
Struct student
{char stuNO[8];<br>Char name[20];<br>Char sex;<br>Int age;<br>Float score;<br>Char addr[30];<br>};
Stuct student
{char stuNO[8];<br>Char name[20];<br>Char sex;<br>Int age;<br>Float score;<br>Char addr[30];<br>};
Struct student stu1, stu2;
9.2銆佺粨鏋勪綋鍙橀噺鐨勫紩鐢
涓鑸褰㈠紡涓猴細
緇撴瀯浣撳彉閲忓悕.鎴愬憳鍚
9.3銆佺粨鏋勪綋鏁扮粍
緇撴瀯浣撴暟緇 緇撴瀯浣撴暟緇勫厓緔.鎴愬憳鍚
鎸囧悜緇撴瀯浣撶殑鎸囬拡鍙橀噺
錛*p錛.鎴愬憳鍚
p->鎴愬憳鍚
鍏朵粬
Strcpy(瀛楃︽暟緇1錛屽瓧絎︿覆2)
Strcat(瀛楃︽暟緇1錛屽瓧絎︽暟緇2)
Strcmp(瀛楃︿覆1錛屽瓧絎︿覆2)
Strlen錛堝瓧絎︽暟緇勶級
5. c語言基礎知識必背有哪些
c語言基礎知識有:
1、c語言的命名。
2、變數及賦值。
3、基本數據類型。
4、格式化輸出語句。
5、強制類型轉換。
6、常量。
7、自動類型轉換。
c語言的特點:
1、廣泛性。C語言的運算范圍的大小直接決定了其優劣性。C語言中包含了34種運算符,因此運算范圍要超出許多其它語言,此外其運算結果的表達形式也十分豐富。
2、簡潔性。9類控制語句和32個關鍵字是C語言所具有的基礎特性,使得其在計算機應用程序編寫中具有廣泛的適用性,可以適用廣大編程人員的操作。
3、結構完善。C語言是一種結構化語言,它可以通過組建模塊單位的形式實現模塊化的應用程序,在系統描述方面具有顯著優勢。