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

C語言初學者入門知識之枚舉與位運算2

  二、位域的使用

  位域的使用和結構成員的使用相同,其一般形式為: 位域變量名·位域名 位域允許用各種格式輸出。

  main(){

  struct bs

  {

  unsigned a:1;

  unsigned b:3;

  unsigned c:4;

  } bit,*pbit;

  bit.a=1;

  bit.b=7;

  bit.c=15;

  printf("%d,%d,%d\n",bit.a,bit.b,bit.c);

  pbit=&bit;

  pbit->a=0;

  pbit->b&=3;

  pbit->c|=1;

  printf("%d,%d,%d\n",pbit->a,pbit->b,pbit->c);

  }

  上例程序中定義了位域結構bs,三個位域為a,b,c。說明了bs類型的變量bit和指向bs類型的指針變量pbit.這表示位域也是可以使用指針的。

  程序的9、10、11三行分別給三個位域賦值。( 應注意賦值不能超過該位域的允許范圍)程序第12行以整型量格式輸出三個域的內容。第13行把位域變量bit的地址送給指針變量pbit.第14行用指針方式給位域a重新賦值,賦為0.第15行使用了復合的位運算符“&=”, 該行相當于: pbit->b=pbit->b&3位域b中原有值為7,與3作按位與運算的結果為3(111&011=011,十進制值為3)。同樣,程序第16行中使用了復合位運算“|=”,,相當于: pbit->c=pbit->c|1其結果為15.程序第17行用指針方式輸出了這三個域的值。

  類型定義符typedef

  C語言不僅提供了豐富的數(shù)據(jù)類型,而且還允許由用戶自己定義類型說明符,也就是說允許由用戶為數(shù)據(jù)類型取“別名”。 類型定義符typedef即可用來完成此功能。例如,有整型量a,b,其說明如下: int aa,b; 其中int是整型變量的類型說明符。int的完整寫法為integer,

  為了增加程序的可讀性,可把整型說明符用typedef定義為: typedef int INTEGER 這以后就可用INTEGER來代替int作整型變量的類型說明了。 例如: INTEGER a,b;它等效于: int a,b; 用typedef定義數(shù)組、指針、結構等類型將帶來很大的方便,不僅使程序書寫簡單而且使意義更為明確,因而增強了可讀性。例如:

  typedef char NAME[20]; 表示NAME是字符數(shù)組類型,數(shù)組長度為20。

  然后可用NAME 說明變量,如: NAME a1,a2,s1,s2;完全等效于: char a1[20],a2[20],s1[20],s2[20]

  又如:

  typedef struct stu{ char name[20];

  int age;

  char sex;

  } STU;

  定義STU表示stu的結構類型,然后可用STU來說明結構變量: STU body1,body2;

  typedef定義的一般形式為: typedef 原類型名 新類型名 其中原類型名中含有定義部分,新類型名一般用大寫表示, 以便于區(qū)別。在有時也可用宏定義來代替typedef的功能,但是宏定義是由預處理完成的,而typedef則是在編譯時完成的,后者更為靈活方便。

  相關推薦:

  2012年軟考系統(tǒng)分析師考試60天完美復習計劃

  2012年軟件水平考試網(wǎng)絡工程師章節(jié)筆記講義匯總

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

文章搜索
軟件水平考試欄目導航
版權聲明:如果軟件水平考試網(wǎng)所轉載內容不慎侵犯了您的權益,請與我們聯(lián)系800@exam8.com,我們將會及時處理。如轉載本軟件水平考試網(wǎng)內容,請注明出處。