久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

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

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

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

www.tmdps.cn

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

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

變量名與變量值,變量名實(shí)際上是一個(gè)符號地址。程序編譯時(shí),系統(tǒng)給變量開辟該變量對應(yīng)類型所需的內(nèi)存空間(用于存儲變量值),然后由系統(tǒng)建立一個(gè)從變量名到該內(nèi)存空間的首地址的映射,這樣就可以通過變量名訪問到變量值了。變量名由數(shù)字、字母和下劃線組成。大小寫敏感,不能以數(shù)字開頭。變量名的長度(字符個(gè)數(shù))沒有硬性的規(guī)定,只是不同的C編譯器可能會有不同要求。C語言中,使用變量之前必須定義該變量,否則編譯出錯(cuò)。定義變量時(shí)須寫明變量所屬類型。程序編譯時(shí),會根據(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編譯器都會以一個(gè)機(jī)器

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

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

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

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

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

常見錯(cuò)誤

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

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

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

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

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

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

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

描述:相同類型在不同平臺上占得字節(jié)數(shù)不同。Int在16位,32位,64位系統(tǒng)分別占2,4,8個(gè)字節(jié)。結(jié)構(gòu)體所占字節(jié)也不是所有成員字長的簡單相加,而是和平臺與編譯器,編譯項(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)算自動獲得浮點(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,編譯器會報(bào)錯(cuò),編譯器對此問題沉默

解決方案:先判斷除數(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)先級的表達(dá)式

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

解決:用括號明確優(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ù)的差的絕對值只要小于一個(gè)

精度范圍,就可以相等

13.使用幻數(shù)

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

解決;把幻數(shù)定義為宏或枚舉,建議使用枚舉。編譯提示會更清晰,準(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)分號,循環(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ù)體:大括號中的內(nèi)容,包括變量聲明(對象)語句和執(zhí)行(動作)語句c程序書寫規(guī)則;以分號結(jié)束,并且書寫注釋;“/**/,注釋之間不能留有空格常見關(guān)鍵字:asmautobreakcasecdeclchar

Constcontinuedefaultdodoubleelse

Enumexternfarfloatforgoto

Hugeifinterruptintlongnear

Pascalregisterreturnshortsigned

Sizeofstaticstructswitchtypedef

Unionunsignedvoidvolatilewhile

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

運(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)算符:<<>>|^&~

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

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

逗號分離。

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

主站蜘蛛池模板: 国产仑乱无码内谢| 亚洲熟妇av午夜无码不卡| 性xxxxx大片免费视频| 最近免费韩国日本hd中文字幕| 国产97色在线 | 日韩| 人妻精油按摩bd高清中文字幕| 嫩b人妻精品一区二区三区| 男女啪啪免费观看网站| 久久66热人妻偷产国产| 亚洲18色成人网站www| 亚洲午夜成人精品电影在线观看| 影音先锋亚洲成aⅴ人在| 亚洲综合国产成人丁香五月激情| 精品亚洲一区二区三区在线播放| 妺妺窝人体色www在线观看| 乱人伦精品视频在线观看| 天天躁日日躁狠狠躁退| 亚洲中文字幕精品久久久久久动漫| 99久久无码国产精品性出奶水| 18禁亚洲深夜福利人口| 国产精品女同久久久久电影院| 精品国产乱码久久久久久婷婷| 亚洲日韩乱码久久久久久| 人妻无码一区二区视频| 国产精品无码一区二区桃花视频| 久久99精品久久久久久婷婷2021| 欧美三级午夜理伦三级| 国产香蕉97碰碰视频va碰碰看| 国产午夜精品一区二区三区漫画| 无码人妻av免费一区二区三区| 亚洲男人综合久久综合天堂| 国产白袜脚足j棉袜在线观看| 国产日韩av无码免费一区二区| av区无码字幕中文色| 欧美激情在线播放| 精品午夜福利在线观看| 综合图区亚洲另类图片| 天天爽天天爽天天片a| 嗯啊哦快使劲呻吟高潮视频| 日韩中文字幕无码一区二区三区| 国产午夜手机精彩视频|