Time of Update: 2017-02-27
二、增量運算 在Turbo C中有兩個很有用的運算子, 在其它進階語言中通常沒有。這兩個運算子就是增1和減1運算子"++"和"--", 運算子"++"是運算元加1,而"--" 則是運算元減1。 例如: x=x+1 可寫成x++, 或++x x=x-1 可寫成x--, 或--x x++(x--)與++x(--x)在上例中沒有什麼區別, 但x=m++和x=++m卻有很大差別。
Time of Update: 2017-02-27
5. 運算子Turbo C的運算子非常豐富,主要分為三大類:算術運算子,關係運算子與邏輯運算子,按位元運算符。除此之外,還有一些用於完成特殊任務的運算子。下面分別進行介紹。5.1 算術運算子 Turbo C的算術運算子如下: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 操作符 作用 ──────────────────────────── + 加, 一目取正 - 減, 一目取負 * 乘 / 除 % 模數
Time of Update: 2017-02-27
三、數組與指標數組與指標有密切的聯絡。數組名本身就是該數組的指標,反過來,也可以把指標看成一個數組,數組名和指標實質上都是地址, 但是指標是變數,可以作運算。而數組名是常量,不能進行運算。例如: main() { char s[30], *p; /*定義字元型數組和指標變數*/ p=s; /*指標p指向數組s的第一個元素s[0]的地址*/ . . . *(p+8); /*指標p指向數組s的第9個元素s[8]的地址*/ . . . } 由上例可以看出數組和指標有如下關係:
Time of Update: 2017-02-27
2. 陣列變數的賦值 (1) 整型數組和浮點數組的賦值 例如: main() { int m[2][2]; float n[3]; m[0][0]=0, m[0][1]=17, m[1][0]=21;/*數組元素賦值*/ n[0]=109.5, n[1]=-8.29, n[2]=0.7; . . . } (2)字串數組的賦值 例如: main() { char s[30]; strcpy(s, "Good News!"); /*給數組賦字串*/ . . . }
Time of Update: 2017-02-27
對於指標變數的使用要特別注意。上例中兩個指標在說明前沒有初始化,因此這兩指標為隨機地址, 在小儲存模式下使用將會有破壞機器的危險。正確的使用辦法如下:例如: main() { int *i; char *str; i=(int*)malloc(sizeof(int)); i=420; str=(char*)malloc(20); str="Good, Answer!"; . . . } 上例中,
Time of Update: 2017-02-27
3. 指標型變數的初始化 例如: main() { int *i=7899; /*定義整型數指標變數並初始化*/ float *f=3.1415926; /*定義浮點數指標變數並初始化*/ char *s="Good"; /*定義字元型指標變數並初始化*/ . . . } 二、變數的賦值 變數賦值是給已說明的變數賦給一個特定值。 1. 單個變數的賦值 (1) 整型變數和浮點變數 這兩種變數採用下列格式賦值 變數名=運算式; 例如: main() {
Time of Update: 2017-02-27
4.5 變數的初始化和賦值一、變數的初始化 變數的初始化是指變數在被說明的同時賦給一個初值。Turbo C2.0中外部變數和靜態全程變數在程式開始處被初始化, 局部變數包括靜態局部變數是在進入定義它們的函數或複合陳述式時才作初始化。所有全程變數在沒有明確的初始化時將被自動清零,而局部變數和寄存器變數在未賦值前其值是不確定的。對於外部變數和靜態變數, 初值必須是常數運算式, 而自動變數和寄存器變數可以是任意的運算式,這個運算式可以包括常數和前面說明過的變數和函數。 1.
Time of Update: 2017-02-27
4.4 陣列變數 所謂數組就是指具有相同資料類型的變數集, 並擁有共同的名字。數組中的每個特定元素都使用下標來訪問。數組由一段連續的存貯地址構成, 最低的地址對應於第一個數組元素, 最高的地址對應最後一個數組元素。數組可以是一維的、也可以是多維的。Turbo C2.0象它進階語方一樣也使用陣列變數。 一、一維數組 一維數組的說明格式是: 類型 變數名[長度]; 類型是指資料類型, 即每一個數組元素的資料類型, 包括整數型、浮點型、字元型、指標型以及結構和聯合。 例如:
Time of Update: 2017-02-27
4.3 變數儲存類型 Turbo C2.0支援四種變數儲存類型。說明符如下: auto static extern register 下面分別來介紹。 一、auto auto稱為自動變數, 已在前面作了介紹, 這裡不再重複。 二、static static稱為靜態變數。根據變數的類型可以分為靜態局部變數和靜態全程變數。 1. 靜態局部變數 它與局部變數的區別在於: 在函數退出時, 這個變數始終存在, 但不能被其它函數使用, 當再次進入該函數時,
Time of Update: 2017-02-27
3. 變數4.1 變數說明Turbo C2.0規定所有變數在使用前都必須中以說明。一條變數說明語句由資料類型和其後的一個或多個變數名組成。變數說明的形式如下: 類型 <變數表>; 這裡類型是指Turbo C2.0的有效資料類型。變數表是一個或多個標識符名, 每個標識符之間用","分隔。 例如: int i, j, k; unsigned char c, str[5], *p;4.2 變數種類 變數可以在程式中三個地方說明:
Time of Update: 2017-02-27
2 關鍵字和標識符3.1 關鍵字 所謂關鍵字就是已被Turbo C2.0本身使用, 不能作其它用途使用的字。例如關鍵字不能用作變數名、函數名等。 Turbo C2.0有以下關鍵字: Turbo C2.0擴充的共11個 asm _cs _ds _es _ss cdecl far near huge interrupt pascal 由ANSI標準定義的共32個
Time of Update: 2017-02-27
2.3 字元型(char) 加上不同的修飾符, 可以定義有符號和無符號兩種類型的字元型變數, 例如: char a: /*a被定義為有符號字元變數*/ unsigned char l; /*l被定義為無符號字元變數*/ 字元在電腦中以其ASCII碼方式表示, 其長度為1個位元組, 有符號字元型數取值範圍為-128~127, 無符號字元型數到值範圍是0~255。因此在Turbo C語言中,字元型資料在操作時將按整型數處理, 如果某個變數定義成char,則表明該變數是有符號的,
Time of Update: 2017-02-27
1. 資料類型在Turbo C語言中, 每個變數在使用之前必須定義其資料類型。Turbo C有以下幾種類型: 整型(int)、浮點型(float)、字元型(char)、指標型(*)、無值型(void)以及結構(struct)和聯合(union)。其中前五種是Turbo C的基礎資料型別 (Elementary Data Type)、後兩種資料類型(結構和聯合)將在第五章介紹。2.1 整型(int) 一、整型數說明 加上不同的修飾符, 整型數有以下幾種類型; signed short
Time of Update: 2017-02-27
說明: 1. 象其它一些語言一樣, Turbo C的變數在使用之前必須先定義其資料類型,未經定義的變數不能使用。定義變數類型應在可執行語句前面, 如上例main()函數中的第一條語句就是變數定義語句, 它必須放在第一各執行語句clrscr()前面。2. 在Turbo C中, 大、小寫字母是有區別的, 相同字母的大、小寫代表不同的變數。3. Turbo C程式的書寫格式非常靈活, 沒有嚴格限制。例1的主函數可寫成: main(){char c; clrscr(); gotoxy(12,3);
Time of Update: 2017-02-27
七、Debug(調試)菜單按Alt+D可選擇Debug菜單, 該菜單主要用於查錯, 它包括以下內容:Evaluate Expression 要計算結果的運算式。 Result 顯示運算式的計算結果。 New value 賦給新值。 Call stack 該項不可接觸。而在Turbo C debuger 時用於檢 查堆棧情況。 Find function 在運行Turbo C debugger時用於顯示規定的函數。 Refresh display&
Time of Update: 2017-02-27
檔案檢測函數C語言中常用的檔案檢測函數有以下幾個。一、檔案結束檢測函數feof函數調用格式: feof(檔案指標); 功能:判斷檔案是否處於檔案結束位置,如檔案結束,則傳回值為1,否則為0。二、讀寫檔案出錯檢測函數ferror函數調用格式: ferror(檔案指標); 功能:檢查檔案在用各種輸入輸出函數進行讀寫時是否出錯。 如ferror傳回值為0表示未出錯,否則表示有錯。三、檔案出錯標誌和檔案結束標誌置0函數clearerr函數調用格式: clearerr(檔案指標);
Time of Update: 2017-02-27
檔案的隨機讀寫前面介紹的對檔案的讀寫方式都是順序讀寫, 即讀寫檔案只能從頭開始,順序讀寫各個資料。 但在實際問題中常要求唯讀寫檔案中某一指定的部分。 為瞭解決這個問題可移動檔案內部的位置指標到需要讀寫的位置,再進行讀寫,這種讀寫稱為隨機讀寫。 實現隨機讀寫的關鍵是要按要求移動位置指標,這稱為檔案的定位。檔案定位移動檔案內部位置指標的函數主要有兩個, 即 rewind 函數和fseek函數。rewind函數前面已多次使用過,其調用形式為: rewind(檔案指標);
Time of Update: 2017-02-27
資料區塊讀寫函數fread和fwriteC語言還提供了用於整塊資料的讀寫函數。 可用來讀寫一組資料,如一個數組元素,一個結構變數的值等。讀資料區塊函數調用的一般形式為: fread(buffer,size,count,fp); 寫資料區塊函數調用的一般形式為: fwrite(buffer,size,count,fp); 其中buffer是一個指標,在fread函數中,它表示存放輸入資料的首地址。在fwrite函數中,它表示存放輸出資料的首地址。 size 表示資料區塊的位元組數。count
Time of Update: 2017-02-27
一、讀字串函數fgets函數的功能是從指定的檔案中讀一個字串到字元數組中,函數調用的形式為: fgets(字元數組名,n,檔案指標); 其中的n是一個正整數。表示從檔案中讀出的字串不超過 n-1個字元。在讀入的最後一個字元後加上串結束標誌'\0'。例如:fgets(str,n,fp);的意義是從fp所指的檔案中讀出n-1個字元送入字元數組str中。[例10.4]從e10_1.c檔案中讀入一個含10個字元的字串。#include<stdio.h>main(){FILE
Time of Update: 2017-02-27
二、寫字元函數fputcfputc函數的功能是把一個字元寫入指定的檔案中,函數調用的 形式為: fputc(字元量,檔案指標); 其中,待寫入的字元量可以是字元常量或變數,例如:fputc('a',fp);其意義是把字元a寫入fp所指向的檔案中。對於fputc函數的使用也要說明幾點:1.