首頁(yè) 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實(shí)用文檔 求職招聘 論文下載
2011中考 | 2011高考 | 2012考研 | 考研培訓(xùn) | 在職研 | 自學(xué)考試 | 成人高考 | 法律碩士 | MBA考試
MPA考試 | 中科院
四六級(jí) | 職稱英語(yǔ) | 商務(wù)英語(yǔ) | 公共英語(yǔ) | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT
新概念英語(yǔ) | 成人英語(yǔ)三級(jí) | 申碩英語(yǔ) | 攻碩英語(yǔ) | 職稱日語(yǔ) | 日語(yǔ)學(xué)習(xí) | 法語(yǔ) | 德語(yǔ) | 韓語(yǔ)
計(jì)算機(jī)等級(jí)考試 | 軟件水平考試 | 職稱計(jì)算機(jī) | 微軟認(rèn)證 | 思科認(rèn)證 | Oracle認(rèn)證 | Linux認(rèn)證
華為認(rèn)證 | Java認(rèn)證
公務(wù)員 | 報(bào)關(guān)員 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 期貨從業(yè)資格 | 司法考試 | 法律顧問(wèn) | 導(dǎo)游資格
報(bào)檢員 | 教師資格 | 社會(huì)工作者 | 外銷(xiāo)員 | 國(guó)際商務(wù)師 | 跟單員 | 單證員 | 物流師 | 價(jià)格鑒證師
人力資源 | 管理咨詢師考試 | 秘書(shū)資格 | 心理咨詢師考試 | 出版專業(yè)資格 | 廣告師職業(yè)水平
駕駛員 | 網(wǎng)絡(luò)編輯
衛(wèi)生資格 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 執(zhí)業(yè)護(hù)士
會(huì)計(jì)從業(yè)資格考試會(huì)計(jì)證) | 經(jīng)濟(jì)師 | 會(huì)計(jì)職稱 | 注冊(cè)會(huì)計(jì)師 | 審計(jì)師 | 注冊(cè)稅務(wù)師
注冊(cè)資產(chǎn)評(píng)估師 | 高級(jí)會(huì)計(jì)師 | ACCA | 統(tǒng)計(jì)師 | 精算師 | 理財(cái)規(guī)劃師 | 國(guó)際內(nèi)審師
一級(jí)建造師 | 二級(jí)建造師 | 造價(jià)工程師 | 造價(jià)員 | 咨詢工程師 | 監(jiān)理工程師 | 安全工程師
質(zhì)量工程師 | 物業(yè)管理師 | 招標(biāo)師 | 結(jié)構(gòu)工程師 | 建筑師 | 房地產(chǎn)估價(jià)師 | 土地估價(jià)師 | 巖土師
設(shè)備監(jiān)理師 | 房地產(chǎn)經(jīng)紀(jì)人 | 投資項(xiàng)目管理師 | 土地登記代理人 | 環(huán)境影響評(píng)價(jià)師 | 環(huán)保工程師
城市規(guī)劃師 | 公路監(jiān)理師 | 公路造價(jià)師 | 安全評(píng)價(jià)師 | 電氣工程師 | 注冊(cè)測(cè)繪師 | 注冊(cè)計(jì)量師
繽紛校園 | 實(shí)用文檔 | 英語(yǔ)學(xué)習(xí) | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲

2011等考C語(yǔ)言基礎(chǔ)教程:數(shù)據(jù)類(lèi)型、變量和運(yùn)算符

考試吧整理了2011計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言基礎(chǔ)教程,幫助考生備考。

  三、全程變量

  全程變量是指在所有函數(shù)之外說(shuō)明的變量, 它在整個(gè)程序內(nèi)部者是"可見(jiàn)的",可以被任何一個(gè)函數(shù)使用, 并且在整個(gè)程序的運(yùn)行中都保留其值。全程變量只要滿足在使用它以前和函數(shù)以外這兩個(gè)條件, 可在程序的任何位置進(jìn)行說(shuō)明, 習(xí)慣上通常在程序的主函數(shù)前說(shuō)明。

  例如:

  #include

  int test; /*定義全程變量*/

  void f1(int x, float y); /*子函數(shù)說(shuō)明*/

  void f2(void); /*子函數(shù)說(shuō)明*/

  main()

  {

  test=5; /*給全程變量賦值*/

  f1(20, 5.5); /*調(diào)用有形式參數(shù)的子函數(shù)f1()*/

  /*test的值變成115*/

  f2(); /*調(diào)用f2(), test的值變?yōu)?150*/

  }

  void f1(int x, float y)

  {

  float z; /*z定義為局部變量*/

  z=x*y; /*計(jì)算*/

  test=test+z;

  }

  void f2(void)

  {

  int count=10; /*定義局部變量并初始化*/

  test=test*count;

  }

  由于全程變量可被整個(gè)程序內(nèi)的任何一個(gè)函數(shù)使用, 所以可作為函數(shù)之間傳遞參數(shù)的手段, 但全程變量太多時(shí), 內(nèi)存開(kāi)銷(xiāo)變大。

  4.3 變量存儲(chǔ)類(lèi)型

  Turbo C2.0支持四種變量存儲(chǔ)類(lèi)型。說(shuō)明符如下:

  auto static extern register

  下面分別來(lái)介紹。

  一、auto

  auto稱為自動(dòng)變量, 已在前面作了介紹, 這里不再重復(fù)。

  二、static

  static稱為靜態(tài)變量。根據(jù)變量的類(lèi)型可以分為靜態(tài)局部變量和靜態(tài)全程變量。

  1. 靜態(tài)局部變量

  它與局部變量的區(qū)別在于: 在函數(shù)退出時(shí), 這個(gè)變量始終存在, 但不能被其它函數(shù)使用, 當(dāng)再次進(jìn)入該函數(shù)時(shí), 將保存上次的結(jié)果。其它與局部變量一樣。

  2. 靜態(tài)全程變量

  Turbo C2.0允許將大型程序分成若干獨(dú)立模塊文件分別編譯, 然后將所有模塊的目標(biāo)文件連接在一起, 從而提高編譯速度, 同時(shí)也便于軟件的管理和維護(hù)。靜態(tài)全程變量就是指只在定義它的源文件中可見(jiàn)而在其它源文件中不可見(jiàn)的變量。它與全程變量的區(qū)別是: 全程變量可以再說(shuō)明為外部變量(extern), 被其它源文件使用, 而靜態(tài)全程變量卻不能再被說(shuō)明為外部的, 即只能被所在的源文件使用。

  三、extern

  extern稱為外部變量。為了使變量除了在定義它的源文件中可以使用外, 還要被其它文件使用。因此, 必須將全程變量通知每一個(gè)程序模塊文件, 此時(shí)可用extern來(lái)說(shuō)明。

  例如:

  文件1為file1.c 文件2為file2.c

  int i, j;/*定義全程變量*/ extern int i, j;/*說(shuō)明將i, j從

  文件1中復(fù)制過(guò)來(lái)*/

  char c; extern char c; /*將c復(fù)制過(guò)來(lái)*/

  void func1(int k); func2() /*用戶定義函數(shù)*/

  {

  main() static float k;/*定義靜態(tài)變量*/

  { i=j*5/100;

  func1(20);/*調(diào)用函數(shù)*/ k=i/1.5;

  func2(); .

  . .

  . .

  . }

  }

  func1(int k) /*用戶定義函數(shù)*/

  {

  j=k*100;

  }

  對(duì)于以上兩個(gè)文件file1.c和file2.c, 用Turbo C2.0的集成開(kāi)發(fā)環(huán)境進(jìn)行編譯連接時(shí), 首先應(yīng)建立一個(gè).prj的文件。例如file.prj, 該文件內(nèi)容如下:

  file1.c

  file2.c

  然后將file.prj的文件名寫(xiě)入主菜單Project中的Project Name項(xiàng)中。 再用F9編譯連接, 就可產(chǎn)生一個(gè)文件名為fioe.exe的可執(zhí)行文件。

  外部變量和FORTRAN語(yǔ)言中的COMMOM定義的公共變量一樣。

  四、register

  register稱為寄存器變量。它只能用于整型和字符型變量。定義符register說(shuō)明的變量被Turbo C2.0存儲(chǔ)在CPU的寄存器中, 而不是象普通的變量那樣存儲(chǔ)在內(nèi)存中, 這樣可以提高運(yùn)算速度。但是Turbo C2.0只允許同時(shí)定義兩個(gè)寄存器變量, 一旦超過(guò)兩個(gè), 編譯程序會(huì)自動(dòng)地將超過(guò)限制數(shù)目的寄存器變量當(dāng)作非寄存器變量來(lái)處理。因此, 寄存器變量常用在同一變量名頻繁出現(xiàn)的地方。

  另外, 寄存器變量只適用于局部變量和函數(shù)的形式參數(shù), 它屬于auto型變量, 因此, 不能用作全程變量。定義一個(gè)整型寄存器變量可寫(xiě)成:

  register int a;

  對(duì)于以上所介紹的變量類(lèi)型和變量存儲(chǔ)類(lèi)型將會(huì)在以后的學(xué)習(xí)中, 通過(guò)例行程序中的定義、使用來(lái)逐漸加深理解。

  4.4 數(shù)組變量

  所謂數(shù)組就是指具有相同數(shù)據(jù)類(lèi)型的變量集, 并擁有共同的名字。數(shù)組中的每個(gè)特定元素都使用下標(biāo)來(lái)訪問(wèn)。數(shù)組由一段連續(xù)的存貯地址構(gòu)成, 最低的地址對(duì)應(yīng)于第一個(gè)數(shù)組元素, 最高的地址對(duì)應(yīng)最后一個(gè)數(shù)組元素。數(shù)組可以是一維的、也可以是多維的。Turbo C2.0象它高級(jí)語(yǔ)方一樣也使用數(shù)組變量。

  一、一維數(shù)組

  一維數(shù)組的說(shuō)明格式是:

  類(lèi)型 變量名[長(zhǎng)度];

  類(lèi)型是指數(shù)據(jù)類(lèi)型, 即每一個(gè)數(shù)組元素的數(shù)據(jù)類(lèi)型, 包括整數(shù)型、浮點(diǎn)型、字符型、指針型以及結(jié)構(gòu)和聯(lián)合。

  例如:

  int a[10];

  unsigned long a[20];

  char *s[5];

  char *f[];

  說(shuō)明:

  1. 數(shù)組都是以0作為第一個(gè)元素的下標(biāo), 因此, 當(dāng)說(shuō)明一個(gè)int a[16] 的整型數(shù)組時(shí), 表明該數(shù)組有16個(gè)元素, a[0]~a[15], 一個(gè)元素為一個(gè)整型變量。

  2. 大多數(shù)字符串用一維數(shù)組表示。數(shù)組元素的多少表示字符串長(zhǎng)度, 數(shù)組名表示字符串中第一個(gè)字符的地址, 例如在語(yǔ)句char str[ 8] 說(shuō)明的數(shù)組中存入"hello"字符串后, str表示第一個(gè)字母"h"所在的內(nèi)存單元地址。str[0] 存放的是字母"h"的ASCII碼值, 以此類(lèi)推, str[4]存入的是字母"o"的ASCII碼值, str[5]則應(yīng)存放字符串終止符'\0'。

  3. Turbo C2.0對(duì)數(shù)組不作邊界檢查。例如用下面語(yǔ)句說(shuō)明兩個(gè)數(shù)組 char str1[5], str2[6];

  當(dāng)賦給str1一個(gè)字符串"ABCDEFG"時(shí), 只有"ABCDE"被賦給, "E" 將會(huì)自動(dòng)的賦給str2, 這點(diǎn)應(yīng)特別注意。

  三、多維數(shù)組

  多維數(shù)組的一般說(shuō)明格式是:

  類(lèi)型 數(shù)組名[第n維長(zhǎng)度][第n-1維長(zhǎng)度]......[第1維長(zhǎng)度]; 這種說(shuō)明方式與BASIC、FORTRAN等語(yǔ)言中多維數(shù)組的說(shuō)明不一樣。

  例如:

  int m[3][2]; /*定義一個(gè)整數(shù)型的二維數(shù)組*/

  char c[2][2][3]; /*定義一個(gè)字符型的三維數(shù)組*/

  數(shù)組m[3][2]共有3*2=6個(gè)元素, 順序?yàn)?

  m[0][0], m[0][1], m[1][0], m[1][1], m[2][0], m[2][1];

  數(shù)組c[2][2][3]共有2*2*3=12個(gè)元素, 順序?yàn)?

  c[0][0][0], c[0][0][1], c[0][0][2],

  c[0][1][0], c[0][1][1], c[0][1][2],

  c[1][0][0], c[1][0][1], c[1][0][2],

  c[1][1][0], c[1][1][1], c[1][1][2],

  數(shù)組占用的內(nèi)存空間(即字節(jié)數(shù))的計(jì)算式為:

  字節(jié)數(shù)=第1維長(zhǎng)度*第2維長(zhǎng)度*...*第n維長(zhǎng)度*該數(shù)組數(shù)據(jù)類(lèi)型占用的字節(jié)數(shù)

上一頁(yè)  1 2 3 4 5 6 7 8 9 下一頁(yè)
  相關(guān)推薦:計(jì)算機(jī)等考二級(jí)C語(yǔ)言備考:C語(yǔ)言/C++編譯過(guò)程

       2010年計(jì)算機(jī)等級(jí)考試二級(jí)公共基礎(chǔ)知識(shí)教程

       考試吧:2010年計(jì)算機(jī)等考二級(jí)C預(yù)測(cè)題匯總

文章搜索
版權(quán)聲明:如果計(jì)算機(jī)等級(jí)考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系800@exam8.com,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本計(jì)算機(jī)等級(jí)考試網(wǎng)內(nèi)容,請(qǐng)注明出處。