黄色在线观看视频-黄色在线免费看-黄色在线视频免费-黄色在线视频免费看-免费啪啪网-免费啪啪网站

首頁考試吧論壇Exam8視線考試商城網絡課程模擬考試考友錄實用文檔求職招聘論文下載
2013中考
法律碩士
2013高考
MBA考試
2013考研
MPA考試
在職研
中科院
考研培訓 自學考試 成人高考
四 六 級
GRE考試
攻碩英語
零起點日語
職稱英語
口譯筆譯
申碩英語
零起點韓語
商務英語
日語等級
GMAT考試
公共英語
職稱日語
新概念英語
專四專八
博思考試
零起點英語
托福考試
托業考試
零起點法語
雅思考試
成人英語三級
零起點德語
等級考試
華為認證
水平考試
Java認證
職稱計算機 微軟認證 思科認證 Oracle認證 Linux認證
公 務 員
導游考試
物 流 師
出版資格
單 證 員
報 關 員
外 銷 員
價格鑒證
網絡編輯
駕 駛 員
報檢員
法律顧問
管理咨詢
企業培訓
社會工作者
銀行從業
教師資格
營養師
保險從業
普 通 話
證券從業
跟 單 員
秘書資格
電子商務
期貨考試
國際商務
心理咨詢
營 銷 師
司法考試
國際貨運代理人
人力資源管理師
廣告師職業水平
衛生資格 執業醫師 執業藥師 執業護士
會計從業資格
基金從業資格
統計從業資格
經濟師
精算師
統計師
會計職稱
法律顧問
ACCA考試
注冊會計師
資產評估師
審計師考試
高級會計師
注冊稅務師
國際內審師
理財規劃師
美國注冊會計師
一級建造師
安全工程師
設備監理師
公路監理師
公路造價師
二級建造師
招標師考試
物業管理師
電氣工程師
建筑師考試
造價工程師
注冊測繪師
質量工程師
巖土工程師
造價員考試
注冊計量師
環保工程師
化工工程師
咨詢工程師
結構工程師
城市規劃師
材料員考試
監理工程師
房地產估價
土地估價師
安全評價師
房地產經紀人
投資項目管理師
環境影響評價師
土地登記代理人
繽紛校園 實用文檔 英語學習 作文大全 求職招聘 論文下載 訪談|游戲
軟件水平考試
軟件水平考試資訊
軟件水平考試試題
軟件水平考試專項輔導
軟件水平考試交流互動
軟件水平考試交流互動
您現在的位置: 考試吧 > 軟件水平考試 > 復習資料 > 程序員資料 > 正文

C語言初學者入門知識之函數04

  二、全局變量

  全局變量也稱為外部變量,它是在函數外部定義的變量。 它不屬于哪一個函數,它屬于一個源程序文件。其作用域是整個源程序。在函數中使用全局變量,一般應作全局變量說明。 只有在函數內經過說明的全局變量才能使用。全局變量的說明符為extern。但在一個函數之前定義的全局變量,在該函數內使用可不再加以說明。 例如:

  int a,b; /*外部變量*/

  void f1() /*函數f1*/

  {

  ……

  }

  float x,y; /*外部變量*/

  int fz() /*函數fz*/

  {

  ……

  }

  main() /*主函數*/

  {

  ……

  }/*全局變量x,y作用域 全局變量a,b作用域*/

  從上例可以看出a、b、x、y 都是在函數外部定義的外部變量,都是全局變量。但x,y 定義在函數f1之后,而在f1內又無對x,y的說明,所以它們在f1內無效。 a,b定義在源程序最前面,因此在f1,f2及main內不加說明也可使用。

  [例5.12]輸入正方體的長寬高l,w,h。求體積及三個面x*y,x*z,y*z的面積。

  int s1,s2,s3;

  int vs( int a,int b,int c)

  {

  int v;

  v=a*b*c;

  s1=a*b;

  s2=b*c;

  s3=a*c;

  return v;

  }

  main()

  {

  int v,l,w,h;

  printf("\ninput length,width and height\n");

  scanf("%d%d%d",&l,&w,&h);

  v=vs(l,w,h);

  printf("v=%d s1=%d s2=%d s3=%d\n",v,s1,s2,s3);

  }

  本程序中定義了三個外部變量s1,s2,s3, 用來存放三個面積,其作用域為整個程序。函數vs用來求正方體體積和三個面積, 函數的返回值為體積v。由主函數完成長寬高的輸入及結果輸出。由于C語言規定函數返回值只有一個,當需要增加函數的返回數據時,用外部變量是一種很好的方式。本例中,如不使用外部變量, 在主函數中就不可能取得v,s1,s2,s3四個值。而采用了外部變量,在函數vs中求得的s1,s2,s3值在main 中仍然有效。因此外部變量是實現函數之間數據通訊的有效手段。對于全局變量還有以下幾點說明:

  1. 對于局部變量的定義和說明,可以不加區分。而對于外部變量則不然,外部變量的定義和外部變量的說明并不是一回事。外部變量定義必須在所有的函數之外,且只能定義一次。其一般形式為: [extern] 類型說明符 變量名,變量名… 其中方括號內的extern可以省去不寫。

  例如: int a,b;

  等效于:

  extern int a,b;

  而外部變量說明出現在要使用該外部變量的各個函數內,在整個程序內,可能出現多次,外部變量說明的一般形式為:extern 類型說明符 變量名,變量名,…;外部變量在定義時就已分配了內存單元,外部變量定義可作初始賦值,外部變量說明不能再賦初始值,只是表明在函數內要使用某外部變量。

  2. 外部變量可加強函數模塊之間的數據聯系 但是又使函數要依賴這些變量,因而使得函數的獨立性降低。從模塊化程序設計的觀點來看這是不利的,因此在不必要時盡量不要使用全局變量。

  3. 在同一源文件中,允許全局變量和局部變量同名。在局部變量的作用域內,全局變量不起作用。

  [例5.13]

  int vs(int l,int w)

  {

  extern int h;

  int v;

  v=l*w*h;

  return v;

  }

  main()

  {

  extern int w,h;

  int l=5;

  printf("v=%d",vs(l,w));

  }

  int l=3,w=4,h=5;

  本例程序中,外部變量在最后定義,因此在前面函數中對要用的外部變量必須進行說明。外部變量l,w和vs函數的形參l,w同名。外部變量都作了初始賦值,mian函數中也對l作了初始化賦值。執行程序時,在printf語句中調用vs函數,實參l的值應為main中定義的l值,等于5,外部變量l在main內不起作用;實參w的值為外部變量w的值為4,進入vs后這兩個值傳送給形參l,wvs函數中使用的h 為外部變量,其值為5,因此v的計算結果為100,返回主函數后輸出。變量的存儲類型各種變量的作用域不同,就其本質來說是因變量的存儲類型相同。所謂存儲類型是指變量占用內存空間的方式,也稱為存儲方式。

上一頁  1 2 3 4 5 下一頁

  相關推薦:

  2012年軟考系統分析師考試60天完美復習計劃

  2012年軟件水平考試網絡工程師章節筆記講義匯總

  2012年上半年軟件水平考試成績查詢匯總

文章搜索
軟件水平考試欄目導航
版權聲明:如果軟件水平考試網所轉載內容不慎侵犯了您的權益,請與我們聯系800@exam8.com,我們將會及時處理。如轉載本軟件水平考試網內容,請注明出處。
主站蜘蛛池模板: 一级黄色片一级片 | 精品国产日韩亚洲一区在线 | 欧美日韩导航 | 99re免费在线视频 | 高h超辣bl文 | 一区二区在线看 | 99精品国产成人一区二区在线 | 狠狠色综合色综合网站嗯 | 大杳蕉伊人狼人久久一本线 | 国产一线大片免费观看 | free性欧美极度另类性性欧美 | 色美女影院 | 午夜国产在线视频 | 福利一二区 | 日本天堂网站 | 爽爽爽爽爽爽爽太爽了免费观看 | 日韩国产欧美在线观看 | 国产欧美日韩精品专区 | 欧美性猛交ⅹxxx乱大交按摩 | 国产在线a | 国产精品午夜波多野结衣性色 | 精精国产www视频在线观看免费 | 最近2019中文字幕mv免费看 | 国产特黄特色a级在线视频 国产特黄特色a级在线视 | 九九九九热精品免费视频 | 国内小情侣一二三区在线视频 | 在线观看你懂得 | 欧美a视频在线观看 | 国产高清视频在线观看不卡v | 小明明看看视频永久免费网 | 欧美xxxhd18| 激情5月 | 成人三级精品视频在线观看 | yy6080理aa级伦大片一级 | 视频色版 | 国产一区免费观看 | 91香蕉国产 | 午夜视频福利在线观看 | 最近中文字幕mv免费视频 | 欧美精品在线免费观看 | eee在线播放成人免费 |