Time of Update: 2017-02-27
C語言程式設計本課介紹C語言程式設計的基本方法和基本的程式語句。從程式流程的角度來看,程式可以分為三種基本結構, 即順序結構、分支結構、迴圈結構。 這三種基本結構可以組成所有的各種複雜程式。C語言提供了多種語句來實現這些程式結構。 本章介紹這些基本語句及其應用,使讀者對C程式有一個初步的認識, 為後面各章的學習打下基礎。C程式的語句C程式的執行部分是由語句組成的。
Time of Update: 2017-02-27
逗號運算子C語言中逗號“,”也是一種運算子,稱為逗號運算子。 其功能是把兩個運算式串連起來組成一個運算式, 稱為逗號運算式。其一般形式為: 運算式1,運算式2 其求值過程是分別求兩個運算式的值,並以運算式2的值作為整個逗號運算式的值。void main(){int a=2,b=4,c=6,x,y;x=a+b,y=b+c;printf("y=%d,x=%d",y,x);}a<--2,b<--4,c<--6,x<--0,y<-
Time of Update: 2017-02-27
算術運算式是由算術運算子和括弧串連起來的式子, 以下是算術運算式的例子: a+b (a*2)/c (x+r)*8-(a+b)/7 ++i sin(x)+sin(y) (++i)-(j++)+(k--)賦值運算子和賦值運算式簡單賦值運算子和運算式,簡單賦值運算子記為“=”。由“= ”串連的式子稱為賦值運算式。其一般形式為: 變數=運算式 例如:x=a+bw=sin(a)+sin(b)y=i+++--j
Time of Update: 2017-02-27
強制類型轉換強制類型轉換是通過類型轉換運算來實現的。其一般形式為: (類型說明符) (運算式) 其功能是把運算式的運算結果強制轉換成類型說明符所表示的類型。例如: (float) a 把a轉換為實型(int)(x+y)
Time of Update: 2017-02-27
字串常量字串常量是由一對雙引號括起的字元序列。例如: "CHINA" ,"C program:" , "$12.5" 等都是合法的字串常量。字串常量和字元常量是不同的量。它們之間主要有以下區別:1.字元常量由單引號括起來,字串常量由雙引號括起來。2.字元常量只能是單個字元,字串常量則可以含一個或多個字元。3.可以把一個字元常量賦予一個字元變數,但不能把一個字串常量賦予一個字元變數。在C語言中沒有相應的字串變數。這是與BASIC
Time of Update: 2017-02-27
字元型量字元型量包括字元常量和字元變數。字元常量字元常量是用單引號括起來的一個字元。例如'a','b','=','+','?'都是合法字元常量。在C語言中,字元常量有以下特點: 1.字元常量只能用單引號括起來,不能用雙引號或其它括弧。2.字元常量只能是單個字元,不能是字串。3.字元可以是字元集中任一字元。但數字被定義為字元型之後就不能參與數值運算。如'5'和5
Time of Update: 2017-02-27
實型量實型常量實型也稱為浮點型。實型常量也稱為實數或者浮點數。在C語言中,實數只採用十進位。它有二種形式: 十進位數形式指數形式1.十進位數形式由數位0~ 9和小數點組成。例如:0.0,.25,5.789,0.13,5.0,300.,-267.8230等均為合法的實數。2.指數形式由十進位數,加階碼標誌“e”或“E”以及階碼(只能為整數,可以帶符號)組成。其一般形式為a E n (a為十進位數,n為十進位整數)其值為 a*10,n 如: 2.1E5
Time of Update: 2017-02-27
在程式中是根據首碼來區分各種進位數的。因此在書寫常數時不要把首碼弄錯造成結果不正確。4.整型常數的尾碼在16位字長的機器上,基本整型的長度也為16位,因此表示的數的範圍也是有限定的。十進位無符號整常數的範圍為0~65535,有符號數為-32768~+32767。八進位無符號數的表示範圍為0~0177777。十六進位無符號數的表示範圍為0X0~0XFFFF或0x0~0xFFFF。如果使用的數超過了上述範圍,就必須用長整型數來表示。長整型數是用尾碼“L”或“l&r
Time of Update: 2017-02-27
C語言的資料類型在第一課中,我們已經看到程式中使用的各種變數都應預先加以說明,即先說明,後使用。對變數的說明可以包括三個方面:·資料類型·儲存類型·範圍在本課中,我們只介紹資料類型說明。其它說明在以後各章中陸續介紹。所謂資料類型是按被說明量的性質,表示形式,佔據儲存空間的多少,構造特點來劃分的。在C語言中,資料類型可分為:基礎資料型別 (Elementary Data Type),構造資料類型,指標類型,空類型四大類。1.基礎資料型別
Time of Update: 2017-02-27
在學習C語言函數以前,我們需要瞭解什麼是模組化程式設計方法。人們在求解一個複雜問題時,通常採用的是逐步分解、分而治之的方法,也就是把一個大問題分解成若干個比較容易求解的小問題,然後分別求解。程式員在設計一個複雜的應用程式時,往往也是把整個程式劃分為若干功能較為單一的程式模組,然後分別予以實現,最後再把所有的程式模組像搭積木一樣裝配起來,這種在程式設計中分而治之的策略,被稱為模組化程式設計方法。在C語言中,函數是程式的基本組成單位,因此可以很方便地用函數作為程式模組來實現C語言程式。利用函數,不僅
Time of Update: 2017-02-27
如果一個函數要使用參數,它就必須定義接受參數值的變數。4.3.1
Time of Update: 2017-02-27
“語言的範圍規則”是一組確定一部分代碼是否“可見”或可訪問另一部分代碼和資料的規則。C語言中的每一個函數都是一個獨立的代碼塊。一個函數的代碼塊是隱藏於函數內部的,不能被任何其它函數中的任何語句(除調用它的語句之外)所訪問(例如,用g o t
Time of Update: 2017-02-27
2.5.1字元常量字元常量是指用一對單引號括起來的一個字元。如‘a’,‘9’,‘!’。字元常量中的單引號只起定界作用並不表示字元本身。單引號中的字元不能是單引號(’)和反斜線(\),它們特有的標記法在逸出字元中介紹。在CC語言中,字元是按其所對應的ASCII碼值來儲存的,一個字元佔一個位元組。例如:字元ASCII碼值(十進位)!33048149957A65B66a97b98注意字元'9'和數字9的區別,前者是字元
Time of Update: 2017-02-27
在編寫C語言的函數時,有幾個要點需要我們牢記,因為它們影響到函數的效率和可用性。4.5.1 參數和通用函數通用函數是指能夠被用在各種情況下,或者是可被許多不同程式員使用的函數。我們不應該把通用函數建立在全域變數上(不應該在通用函數中使用全域變數)。函數所需要的所有資料都應該用參數傳遞(在個別難以這樣做的情況下,可以使用靜態變數)。使用參數傳遞,除了有助於函數能用在多種情況下之外,還能提高函數代碼的可讀性。不用全域變數,可以使得函數減少因副作用而導致錯誤的可能性。4.5.2
Time of Update: 2017-02-27
3.2.2
Time of Update: 2017-02-27
在程式的運行過程中,往往需要由使用者輸入一些資料,而程式運算所得到的計算結果等又需要輸出給使用者,由此實現人與電腦之間的互動,所以在程式設計中,輸入輸出語句是一類必不可少的重要語句,在C語言中,沒有專門的輸入輸出語句,所有的輸入輸出操作都是通過對標準I/O庫函數的調用實現。最常用的輸入輸出函數有scanf()、printf()、getchar()和putchar(),以下分別介紹。3.2.1scanf()函數格式化輸入函數scanf()的功能是從鍵盤上輸入資料,該輸入資料按指定的輸入格式被賦給相
Time of Update: 2017-02-27
C程式的原始碼中可包括各種編譯指令,這些指令稱為預先處理命令。雖然它們實際上不是C語言的一部分,但卻擴充了C程式設計的環境。本節將介紹如何應用預先處理程式和注釋簡化程式開發過程,並提高程式的可讀性。4.7.1C語言的預先處理程式ANSI標準定義的C語言預先處理程式包括下列命令:#define#error#include#if#else#elif#endif#ifdef#ifndef#undef#line#pragma非常明顯,所有預先處理命令均以符號#開頭,下面分別加以介紹。4.7.2#defi
Time of Update: 2017-02-27
3.3.2switch語句if語句只能處理從兩者間選擇之一,當要實現幾種可能之一時,就要用if...elseif甚至多重的嵌套if來實現,當分支較多時,程式變得複雜冗長,可讀性降低。C語言提供了switch開關語句專門處理多路分支的情形,使程式變得簡潔。switch語句的一般格式為:switch<運算式>case常量運算式1:語句序列1;break;case常量運算式2:語句序列2;break;⋯⋯case常量運算式n:語句n;break;default:語句
Time of Update: 2017-02-27
2.3 函數的遞迴調用Turbo C2.0允許函數自己調用自己,即函數的遞迴調用,遞迴調用可以使程式簡潔、代碼緊湊,但要犧牲記憶體空間作處理時的堆棧。如要求一個n!(n的階乘)的值可用下面遞迴調用:例8: #include<stdio.h> unsigned ling mul(int n); int main() { int m; puts("Calculate n! n=?\n"); scanf("%d",
Time of Update: 2017-02-27
三、用全程變數實現參數互傳以上兩種辦法可以在調用函數和被調用函數間傳遞參數,但使用不太方便。如果將所要傳遞的參數定義為全程變數,可使變數在整個程式中對所有函數都可見。這樣相當於在調用函數和被調用函數之間實現了參數的傳遞和返回。這也是實際中經常使用的方法,但定義全程變數勢必長久地佔用了記憶體。因此,全程變數的數目受到限制,特別對於較大的數組更是如此。當然對於絕大多數程式記憶體都是夠用的。例6: #incluide<stdio.h> void disp(void); int m[10];