欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      學(xué)習(xí)C語言需要哪些基礎(chǔ)

      時(shí)間:2019-05-15 00:22:42下載本文作者:會(huì)員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《學(xué)習(xí)C語言需要哪些基礎(chǔ)》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《學(xué)習(xí)C語言需要哪些基礎(chǔ)》。

      第一篇:學(xué)習(xí)C語言需要哪些基礎(chǔ)

      004km.cn

      學(xué)習(xí)C語言需要哪些基礎(chǔ)

      C語言是.NET編程人員都需要掌握的語言,也是基礎(chǔ)語言,而對(duì)于一種新語言的入門,往往有一定的困難,其實(shí)是人們心中的疙瘩,對(duì)新事物的恐懼心理,其實(shí)學(xué)習(xí)C語言并不難。軟件培訓(xùn)網(wǎng)就為大家詳細(xì)講解C語言的入門。

      變量名與變量值,變量名實(shí)際上是一個(gè)符號(hào)地址。程序編譯時(shí),系統(tǒng)給變量開辟該變量對(duì)應(yīng)類型所需的內(nèi)存空間(用于存儲(chǔ)變量值),然后由系統(tǒng)建立一個(gè)從變量名到該內(nèi)存空間的首地址的映射,這樣就可以通過變量名訪問到變量值了。變量名由數(shù)字、字母和下劃線組成。大小寫敏感,不能以數(shù)字開頭。變量名的長度(字符個(gè)數(shù))沒有硬性的規(guī)定,只是不同的C編譯器可能會(huì)有不同要求。C語言中,使用變量之前必須定義該變量,否則編譯出錯(cuò)。定義變量時(shí)須寫明變量所屬類型。程序編譯時(shí),會(huì)根據(jù)變量的類型來決定為該變量開辟多大的內(nèi)存空間,同時(shí)還可以檢查運(yùn)算的合法性。比如實(shí)型數(shù)據(jù)之間不能做求余數(shù)的操作。

      整型數(shù)據(jù),C語言中,整型數(shù)據(jù)的類別有三種:short,int,long;屬性有兩種:signed,unsigned。共有六種組合。整型數(shù)據(jù)類型的長度:C標(biāo)準(zhǔn)沒有硬性規(guī)定每種類型的長度,只是規(guī)定:long的長度要不小于int;short的長度不大于int。一般的C編譯器都會(huì)以一個(gè)機(jī)器

      004km.cn 字的存放一個(gè)int型數(shù)據(jù)。

      變量初始化,變量的初始化不是在編譯期間完成內(nèi)存空間的分配(只有靜態(tài)變量和外部變量是在編譯期間初始化),而是在程序運(yùn)行時(shí)執(zhí)行函數(shù)時(shí)才賦值。

      C語言的變量的存儲(chǔ)類型,C語言的變量存儲(chǔ)類型有很多種分法,根據(jù)生命周期來分可分為:動(dòng)態(tài)變量和靜態(tài)變量;根據(jù)使用域來分可分為:局部變量和全局變量(又叫內(nèi)部變量和外部變量)。

      (ps:本文章由北大青鳥廣安門校區(qū)搜集自互聯(lián)網(wǎng))

      第二篇:c語言基礎(chǔ)總結(jié)

      常見錯(cuò)誤

      1.使用未初始化和未賦值的變量

      描述:非全局變量和靜態(tài)變量在定義時(shí)不自動(dòng)進(jìn)行初始化,初值為一個(gè)與該程序運(yùn)行環(huán)境有關(guān)的隨機(jī)數(shù)。不賦值或沒有顯示初值就直接使用這樣的變量是錯(cuò)誤的。

      解決:所有變量都顯示地進(jìn)行初始化,建議數(shù)值變量初始化為0,指針變量初始化為NULL

      2.不考慮數(shù)值溢出的可能

      描述:當(dāng)賦值超過此范圍數(shù)值,就會(huì)產(chǎn)生數(shù)值溢出,得到不正確的值。

      解決:預(yù)先估算運(yùn)行結(jié)果的可能范圍,采用可能范圍更大的,不處理負(fù)數(shù),就用無符號(hào)類型。運(yùn)算還沒開始前,判斷運(yùn)算數(shù)是否在合理取值的范圍內(nèi),超出則停止運(yùn)算。采用第三方無取值范圍的運(yùn)算庫。

      3.不用sizeof()獲得類型或變量的字長

      描述:相同類型在不同平臺(tái)上占得字節(jié)數(shù)不同。Int在16位,32位,64位系統(tǒng)分別占2,4,8個(gè)字節(jié)。結(jié)構(gòu)體所占字節(jié)也不是所有成員字長的簡單相加,而是和平臺(tái)與編譯器,編譯項(xiàng)都有關(guān)系。

      解決:用且只用sizeof獲得字長

      Intwriteint(intfh ,inti)

      {

      Returnwrite(fh ,&i,sizeof(i));

      }

      4.假定類型的取值范圍

      描述:類型的取值范圍與程序編譯息息相關(guān)。

      解決:使用limits.h和float.h定義的宏(INT--MAX,INT----MINULONG--MAXFLT---MAX

      5.期望兩個(gè)整數(shù)的運(yùn)算自動(dòng)獲得浮點(diǎn)數(shù)的結(jié)果

      描述:兩個(gè)數(shù)運(yùn)算的結(jié)果還是整數(shù),不是浮點(diǎn)數(shù)

      方案:強(qiáng)制轉(zhuǎn)換為浮點(diǎn)數(shù),再運(yùn)算

      例:voidfunc(void)voidfunc(void)

      {{

      Floatf=0.0;floatf=0.0;

      Inta =3,b=2;int a=3,b=2;

      f=a/b;f=a/(float)b;

      printf(“%f,f);printf

      }

      6.不預(yù)先判除除數(shù)是否為0

      編譯器反應(yīng):直接寫入inti=100/0,編譯器會(huì)報(bào)錯(cuò),編譯器對(duì)此問題沉默

      解決方案:先判斷除數(shù)是否為0,若是0則不運(yùn)算。

      7.混淆“&,|”與“&&,||”

      說明:他們是兩種不同的運(yùn)算符,有人總是弄錯(cuò)

      8使用依賴編譯器求值順序的語句

      描述:printf(“%d,%d,%d,i++,i++,i++);i=0可能輸出 0.1.20.0.0.2.1.0方案:按期望的順序分別求職,再綜合運(yùn)算

      Voidfunc(void)

      {

      Int a,b,c ,i=0;

      a=i++;

      b=i++

      C=i++

      Printf(“%d,%d,%d”,a,b,c)

      9.使用依靠算符優(yōu)先級(jí)的表達(dá)式

      描述;沒有記住優(yōu)先級(jí),容易出錯(cuò)。

      解決:用括號(hào)明確優(yōu)先計(jì)算的部分

      10.表達(dá)式過于復(fù)雜

      描述:(a>b||b>c)&&(o>P||q>p)?(a-b)*c+(o-p)*q:(a*b*c)-(o*p*q)

      11.用“==”時(shí)誤用“=”

      12.用“==”比較兩個(gè)浮點(diǎn)數(shù)

      描述;兩個(gè)數(shù)值表面相等或者非常接近的浮點(diǎn)時(shí)用“==”比較,結(jié)果可能不同

      解決;不用float用double在精度運(yùn)算中兩個(gè)浮點(diǎn)數(shù)的差的絕對(duì)值只要小于一個(gè)

      精度范圍,就可以相等

      13.使用幻數(shù)

      描述:直接使用的常數(shù)

      解決;把幻數(shù)定義為宏或枚舉,建議使用枚舉。編譯提示會(huì)更清晰,準(zhǔn)確

      #definearray-srze10

      Enum(array-size=10)printf()和scanf()中格式控制字符串與參數(shù)類型不匹配

      15.循環(huán)或判斷語句以“;”結(jié)尾

      描述:分別表示循環(huán)和判斷語句的終結(jié),后面的代碼不算循環(huán)體或分支,而是循環(huán)和判斷

      平行的代碼

      解決:禁止在循環(huán)判斷語句末尾出現(xiàn)分號(hào),循環(huán)體為空的情況下,While(.........)

      {

      }

      16.在循環(huán)體內(nèi)改變循環(huán)結(jié)束條件

      例如:voidfunc(void)

      {

      Int a,end:

      -------

      While(a

      {

      在這里修改end的值

      }

      }

      17.case分支不用break結(jié)束

      規(guī)定每個(gè)case分支必須用break結(jié)束,兩個(gè)分支用同樣的代碼,就把代碼定義為函數(shù)

      基本概念

      函數(shù)是c的基本單位,必須有且僅有一個(gè)main函數(shù)。一個(gè)c可以包含一個(gè)到多個(gè)函數(shù),在函數(shù)中可以調(diào)用系統(tǒng)提供的庫函數(shù)

      函數(shù)首部:函數(shù)返回值類型,函數(shù)名,形參類型,形參名的說明

      函數(shù)

      函數(shù)體:大括號(hào)中的內(nèi)容,包括變量聲明(對(duì)象)語句和執(zhí)行(動(dòng)作)語句c程序書寫規(guī)則;以分號(hào)結(jié)束,并且書寫注釋;“/**/,注釋之間不能留有空格常見關(guān)鍵字:asmautobreakcasecdeclchar

      Constcontinuedefaultdodoubleelse

      Enumexternfarfloatforgoto

      Hugeifinterruptintlongnear

      Pascalregisterreturnshortsigned

      Sizeofstaticstructswitchtypedef

      Unionunsignedvoidvolatilewhile

      標(biāo)識(shí)符:系統(tǒng)自定義標(biāo)識(shí)符,用戶自定義標(biāo)識(shí)符

      運(yùn)算符:算數(shù)運(yùn)算符:+—*/%關(guān)系運(yùn)算符: >>==<<=!=

      邏輯運(yùn)算符:!&&||

      賦值運(yùn)算符:=

      復(fù)合的賦值運(yùn)算符:+=-=*=/=%=&=!=^=<=>=

      增一減一的運(yùn)算符:++--

      條件運(yùn)算符:?:

      強(qiáng)制類型轉(zhuǎn)換運(yùn)算符:

      指針和地址運(yùn)算符:*&

      計(jì)算字節(jié)數(shù)運(yùn)算符:sizeof

      下標(biāo)運(yùn)算符:[]

      結(jié)構(gòu)體成員運(yùn)算符:->

      位運(yùn)算符:<<>>|^&~

      逗號(hào)運(yùn)算符:,分隔符:相鄰保留字,標(biāo)識(shí)符之間由空格或回車換行做分隔符:相鄰?fù)愴?xiàng)之間用逗號(hào)分隔

      聲明相同類型的變量之間可用逗號(hào)分離,向屏幕輸出的變量中各變量表達(dá)式之間用

      逗號(hào)分離。

      常見的轉(zhuǎn)義字符:n 換行r回車(不換行)