C語言基礎(chǔ)知識總結(jié)_第1頁
C語言基礎(chǔ)知識總結(jié)_第2頁
C語言基礎(chǔ)知識總結(jié)_第3頁
C語言基礎(chǔ)知識總結(jié)_第4頁
C語言基礎(chǔ)知識總結(jié)_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

C語言基礎(chǔ)知識總結(jié)

C語言基礎(chǔ)知識總結(jié)

總結(jié)是對取得的成績、存在的問題及得到的經(jīng)驗和教訓等方面情

況進行評價與描述的一種書面材料,它可以促使我們思考,因此好好

準備一份總結(jié)吧。如何把總結(jié)做到重點突出呢?以下是店鋪整理的c

語言基礎(chǔ)知識總結(jié),希望能夠幫助到大家。

主要內(nèi)容:1.C數(shù)據(jù)類型

2.簡單的算術(shù)運算和表達式

3.鍵盤輸入和屏幕輸出

4.選擇控制結(jié)構(gòu)

總結(jié)風格:分條羅列,主要是知識點,有例題不多

5彳盾環(huán)控制結(jié)構(gòu)

一、C數(shù)據(jù)類型

1.C語言處理兩種數(shù)據(jù):常量和變量

2.常量:整形常量、實型常量、字符常量、字符串常量、枚舉常

3.整形常量:正整數(shù)、負整數(shù)、零eg:10,-30,0

4.實型常量:實數(shù)、小數(shù)、浮點數(shù)eg:3.14,-0.56,18.0

.字符常量:字符型常量、用單引號括起來的任意字符

5eg:xX?z

9

6.字符串常量:用雙引號括起來的一個或多個字符eg:Hx"nHelloM

"Y78"

7.在C程序中,整型常量可以用十進制、八進制、十六進制形式

表示,但編譯器都會自動將

其轉(zhuǎn)換成二進制存儲

8.整型常量的類型:長整型、短整型、有符號、無符號。

9.不同進制的整型常量的表示形式:

1)十進制:0?9數(shù)字組合,可帶正負號eg:256,?128,0,+7

2)八進制:0開頭,后面跟。?7數(shù)字組合eg:021,-017

3)十六進制:Ox(OX)開頭,后跟0?9,a~f(A?F)數(shù)字組合

eg:0xl2z-0xlF

10.不同類型的整形常量的表示形式:

1)有符號整型常量:默認int型定義為有符號整數(shù),無需signed

eg:10,-30,0

2)無符號整形常量:常量值后跟u或U,只能表示>=0的數(shù)

eg:30u,256U

3)長整型常量:常量值后跟I或Leg:-256L1024L

4)無符號長整型常量:常量值后跟LU、Lu.IU.lueg:30lu

ll.C程序中,實型常量兩種表示形式:小數(shù)、指數(shù)

12.不同形式的實型常量的表示形式:

1)十進制表示形式:數(shù)字和小數(shù)點組成,必須要有小數(shù)點,整數(shù)

部分可省略eg:0.123,-12.35,.98

2)指數(shù)形式:e或E代表以10為底的指數(shù),e左邊是數(shù)值部分

(有效數(shù)字,可以是整

數(shù)、小數(shù),不能省略),e右邊是指數(shù)部分(必須是整數(shù)形式)

eg:3.45e-6

13.實型常量有單精度和雙精度之分,無有符號和無符號之分

14.不同類型的實型常量表示形式:

1)單精度實型常量:常量值后跟F或feg:1.25F,L25e-2f

2)雙精度實型常量(double):實型常量默認按雙精度處理

eg:0.123,-12.35,.98

3)長雙精度實型常量(longdouble):常量值后跟L或Ieg:1.25L

15.變量:在程序執(zhí)行過程中可以改變的量

16.變量在必須先定義后使用,定義時需要聲明變量的類型和變量

名,一般形式:類型關(guān)鍵

字變量名;

17.關(guān)鍵字是C語言預(yù)先規(guī)定具有特殊意義的單詞,類型關(guān)鍵字用

于聲明變量的類型

18.標準C語言編寫的程序都是以main。作為開頭,指定了C程序

執(zhí)行的起點,在C程序中

只能出現(xiàn)一次,稱為主函數(shù)

19.C程序總是從main函數(shù)開始執(zhí)行,與他在程序中的位置無關(guān),

main函數(shù)主體部分稱為語

句,用{}括起來,一般C語句以;結(jié)束

20.變量的類型決定了編譯器為其分配內(nèi)存單元的字節(jié)數(shù)、數(shù)據(jù)在

內(nèi)存單元中的存放形式、

該類型變量合法的取值范圍以及該類型變量可參與的運算種類

21.變量名是用戶定義的標識符,用于標識內(nèi)存中具體的存儲單元,

存放的數(shù)據(jù)稱為變量的

22.新數(shù)據(jù)存放于存儲單元時,舊數(shù)據(jù)將會被修改,反應(yīng)變量的值

是可以改變的

23.變量名的命名規(guī)則:

1)標識符只能由英文字母、數(shù)字、下劃線組成

2)標識符必須以字母或下劃線開頭

3)不允許使用C關(guān)鍵字為標識符命名

4)標識符可以包含任意多個字符,但一般會有最大長度限制,預(yù)

編譯器有關(guān),一般不會超過,最好不超過8個字符

注意:標識符區(qū)分大小寫

eg:xy3JmaxELSEXA_to_B(合法)

eg:7xint#Nobadonere-input(不合法)

24.標準C規(guī)定所有變量必須在第一條可執(zhí)行語句之前定義

25.在同一條語句中可以同時定義多個相同類型變量,多個變量之

間用逗號分隔,沒有順序要求

26.在使用標準輸入/輸出函數(shù)時,必須在程序開頭加上編譯預(yù)處

理命令

27.中stdio為頭文件,std是standard,1為input,。為output,h

為head

28.編譯預(yù)處理命令#include的作用:將在輸入/輸出函數(shù)的頭文

42.float型變量能接收實型常量的7位有效數(shù)字,double型變量

能接收16位

43.運算符的優(yōu)先級:單目運算〈算術(shù)運算〈關(guān)系運算〈邏輯運算<

條件運算<賦值運算<逗號運算

44.素數(shù):又稱質(zhì)數(shù),指在大于1的自然數(shù)中,除1和本身不能被

其他自然數(shù)整除的數(shù)

45.合數(shù):指在自然數(shù)中除1和本身外還能被其他自然數(shù)整除的數(shù)

46.因子:所有能整除這個數(shù)的數(shù),不包括自身,但包括1

47.閏年:能被4整除但不能被100整除,或能被400整除

二、簡單的算術(shù)運算和表達式

L條件運算符是C語言提供的唯一一個三元運算符,C語言中沒有

幕運算符

2.只有計算相反數(shù)是一元運算符,其余運算符都是二元運算符

3.一元運算符也叫單目運算符,二元運算符也叫雙目運算符,三

元運算符也叫三目運算符

4.整數(shù)除法的結(jié)果是整數(shù),浮點數(shù)除法的結(jié)果是浮點數(shù)

5.求余運算限定參與運算的兩個操作數(shù)必須為整型,余數(shù)的符號

與被除數(shù)的符號相同,不能對兩個實型數(shù)進行求余運算

6.所有的算術(shù)運算符中只有一元的去相反數(shù)運算符為右結(jié)合,其

余的結(jié)合性都為左結(jié)合

7.同一優(yōu)先級的運算符進行混合運算時,從左向右依次進行

8.運算符的優(yōu)先級:單目運算〉算術(shù)運算〉關(guān)系運算〉邏輯運算》

條件運算>賦值運算>逗號運算

9.計算并輸出一個三位整數(shù)的個位、十位、百位數(shù)字之和

#include

voidmain()

(

intx=321;

inta,b,c,sum;

a=x%10;//a=l

b=(x/10)%10;//b=2

c-x/100;//c=3

sum=a+b+c;

printf("a=%d,b=%d/c=%dsum=%d”,a,b,c,sum);

)

10.涉及算術(shù)運算的復(fù)合賦值運算符有5個:+=,?=,*=,/=,%二

11.增1運算符也稱自增運算符,減1運算符也稱自減運算符,都

是一元運算符,只有一個操作數(shù)必須是變量不能是常量或表達式

12.自增自減運算符作為前綴時,先執(zhí)行加1或減1然后使用;自增

自減運算符作為后綴時,先使用再執(zhí)行加1或減1;

13.考慮優(yōu)先級與結(jié)合性的實例

《=》《=》

m=-n++m=-(n++)m=-n/n=n+l;

〃正面:-和++都是一元運算符,優(yōu)先級相同,此時要考慮結(jié)合

性,結(jié)合性都是右結(jié)合的,所以先算++后算?

〃反面:如果等價m=(-n)++就不合法了,因為表達式不能進行

自增操作

14.scanf函數(shù)和printf函數(shù)都是C的標準輸入/輸出函數(shù),&為取

地址運算符

15.宏常量與宏替換:

1)在程序中直接使用的常數(shù)稱為幻數(shù),將幻數(shù)定義為宏常量或

const常量是為了提高程序的可讀性和可維護性

2)宏常量也稱符號常量,沒有數(shù)據(jù)類型,編譯器不對其進行類型

檢查,只進行字符串替換

3)宏定義一般形式:#define標識符字符串。標識符被稱為宏名,

宏名與字符串之間可有多個空白符,不加等號,結(jié)尾不加分號

4)宏常量是由宏定義編譯預(yù)處理命令來定義,宏名替換成字符串的

過程稱為宏替換,宏替換不做任何語法檢查

5)當宏定義是一個表達式時,調(diào)用時,是一個數(shù)就可以直接帶入,

而是表達式也要看成是一個數(shù)代進宏定義表達式中,

而看成一個數(shù)這就要求把調(diào)用的數(shù)加上圓括號,為了減少不必要

的錯誤,最好都加上圓括號

6)宏替換的過程是將宏名原樣替換成字符串,而不是直接計算出

值,所以要用調(diào)用后的結(jié)果參與其他運算就需要把調(diào)用的結(jié)果加上圓

括號

7)例題:

#include

#defineN2//N=2

#defineMN+l//M=2+l

#defineNUM2*M+1//NUM=2*2+1+1=6

voidmain()

(

inti;

for(i=l;i<=NUM;i++);

printf("%d”,i);〃執(zhí)行完空循環(huán),i=7

i-;//i=6

printf("%d'J);

)

8)例題:

#include

#definef(x)x*x

voidmain()

(

intb;

b=f(4+4);//b=4+4*4+4=24,解釋見5)

printf("b=%d”,b);

)

9)例題:

#include

#definef(x)x*x

voidmain()

intb;

b=f(4+4)/(2+2);//b=4+4*4+4/(2+2)=21解釋見6)

printf("b=%d”,b);

)

10)例題:

#include

#definef(x)x*x

voidmain()

(

intb;

b=f((4+4));//b=(4+4)*(4+4)=64

printf("b=%d”,b);

)

11)例題:

#include

#definef(x)(x*x)

voidmain()

(

intb;

b=f((4+4))/(2+2);//b=((4+4)*(4+4))/(2+2)=16

printf("b=%d”,b);

)

16.const常量

1)const常量只能在定義時賦初值,因為編譯器將其放在只讀存

儲區(qū),不允許在程序中修改

2)const常量的定義一般形式:const類型名標識符二字符串;〃

將標識符聲明為具有該數(shù)據(jù)類型的const常量

3)const是一種類型修飾符,const常量具有數(shù)據(jù)類型,編譯器要

對其進行類型檢查

17.表達式中的自動類型轉(zhuǎn)換:

1)表達式中,操作數(shù)類型相同,運算的結(jié)果類型與操作數(shù)類型相

2)表達式中,操作數(shù)類型不相同,C編譯器自動將所有操作數(shù)進

行類型提升,轉(zhuǎn)換成同一類型,所占字節(jié)最大,再計算

18.賦值中的自動類型轉(zhuǎn)換:

1)賦值運算符左側(cè)變量與右側(cè)表達式類型不同時,發(fā)生自動類型

轉(zhuǎn)換:右側(cè)表達式的值轉(zhuǎn)換成左側(cè)變量的類型

19.強制類型轉(zhuǎn)換:

1)強制類型轉(zhuǎn)換運算符是一元運算符

2)強制類型轉(zhuǎn)換也稱強轉(zhuǎn),是將表達式的值轉(zhuǎn)換為任意類型,并

不改變變量本身的數(shù)據(jù)類型

3)強轉(zhuǎn)一般形式:(類型)表達式

4)演示強制類型轉(zhuǎn)換運算符的使用

#include

voidmain()

(

intm=5;

printf("m/2=%d”,m/2);〃m=2

printf("(float)(m/2)=%f"/(float)(m/2));//m=2.000000

printf("(float)m/2=%f"/(float)m/2);//m=2.500000

printf(”m=%cr,m);〃m=5,只是將m強轉(zhuǎn)為實型數(shù)據(jù),并不改變

m的數(shù)據(jù)類型}

20.常用的標準數(shù)學函數(shù):

1)使用C標準數(shù)學函數(shù),要在程序開頭加上編譯預(yù)處理命令:

#include

2)例:已知三角形三邊長為a,b,c,計算三角形的面積

#include

#include

voidmain()

floata,b,c,s,area;

printf("Inputa,b,c:");

scanf("%f,%f,%f",&a,&b,&c);

s=(a+b+c)/2;

area=(float)sqrt(s*(s-a)*(s-b)*(s-c));

printf("area=%f:area);

)

21.賦值運算符的左側(cè)不能出現(xiàn)表達式,變量與變量之間可以賦值

例1:若有定義:inta,b,c;下列表達式中哪一個是合法的C語言賦

值表達式(C、D)

A)a=7+b=c=7B)a=b++=c=7C)a=(b=71c=12)

D)a=3/b=a+5zc=b+2

〃A.7+b表達式不能做左值B.b++表達式不能做左值C.逗號表達

式a=12D.依次賦值

例2:下面不正確的賦值語句是(B)

A)a=++aB)a=b++=10C)a+=bD)a=l>a

〃D.算術(shù)運算符優(yōu)先級高于賦值運算符,先算再將其結(jié)果賦

給a

例3:若有下列定義:inta=3,b=2,c=l以下選項錯誤的賦值表達

式是(A)

A)a=(b=4)=3B)a=b=c+1C)a=(b=4)+cD)a=l+(b=c=4)

〃A.先計算圓括號里的值等于4,然后按照賦值表達式的順序從右

向左計算,將3賦值給4這是不對的,

即賦值號左側(cè)只能是變量,不能出現(xiàn)表達式b=4

三、鍵盤輸入和屏幕輸出

1.字符常量:

把字符放在一對單引號內(nèi),適用于多數(shù)可打印字符

2.轉(zhuǎn)義字符:

以反斜線()開頭,也是放在一對單引號內(nèi),適用于控制字符(如回

車符,換行符)

3.常用的轉(zhuǎn)義字符:

1)—換行8)a—響鈴報警提示音

2)—回車(不換行)9)"—一個雙引號

3)一空字符10)——個單引號

4)—水平制表11)-一個反斜線

5)V—垂直制表12)?—問號

6)—退格13)ddd-1至U3位八進制ASCII碼值所代表的字符

7)f—走紙換頁14)xhh—1到2位十六進制ASCII碼值所代表

的字符

4.,是將光標移到下一行起始位置,是將光標移到當前行的起始位

5.,是水平制表符,相當于按下Tab鍵,每次按下Tab鍵并不是從

當前光標位置向后移動一個Tab寬度,而是移到下一個制表位

實際移動的寬度視當前光標位置距相鄰的下一個制表位的距離而

6.制表位,屏幕上的一行被分為若干個域,相鄰域之間的交接點

稱為制表位,每個域的寬度就是一個Tab寬度,多數(shù)習慣上為4

7.當轉(zhuǎn)義序列出現(xiàn)在字符串中時,是按單個字符計數(shù)的

8.一個整形數(shù)在內(nèi)存中是以二進制形式存儲的,而一個字符在內(nèi)

存中也是以其對應(yīng)的ASCII碼的二進制形式存儲的,

但char型數(shù)據(jù)在內(nèi)存中只占一個字節(jié),而int型數(shù)據(jù)在16位系統(tǒng)

中占2個字節(jié),32位系統(tǒng)占4個字節(jié)

9.在ASCII碼取值范圍內(nèi),char型數(shù)據(jù)可以和int型數(shù)據(jù)進行混合

運算,char型數(shù)據(jù)也能以int型輸出,直接輸出其對應(yīng)的ASCII碼的

十進制值

10.字符的輸入/輸出:

1)get)和put)是C標準函數(shù)庫中專門用于字符輸入/輸出的函數(shù),

功能是只能輸入/輸出一個字符

2)例:從鍵盤輸入一個大寫英文字母,將其轉(zhuǎn)換為小寫字母顯示

在屏幕上

#include

voidmain()

charch;

ch=get);〃鍵盤輸入一個字符,再按回車表示輸入結(jié)束,字符存

入變量ch,注意:get)沒有參數(shù),直接返回讀入的字符

ch=ch+32;

putch);〃第二次按回車,將顯示轉(zhuǎn)換后的結(jié)果

put);〃注意:put)內(nèi)一定要有參數(shù),參數(shù)就是待輸出的字符,可

以是可打印字符,也可是轉(zhuǎn)義字符

11.數(shù)據(jù)的格式化屏幕輸出:

1)函數(shù)printf()的一般格式:printf(格式控制字符串);或者

printf(格式控制字符串,輸出值

參數(shù)表);

2)格式控制字符串包括:格式轉(zhuǎn)換說明符,需要原樣輸出的普通

字符

3)函數(shù)printf。的格式轉(zhuǎn)換說明符:

%d-輸出帶符號十進制整數(shù),整數(shù)符號省略

%u—輸出無符號十進制整數(shù)

%o-輸出無符號八進制整數(shù),不輸出前導符0

%x-輸出無符號十六進制整數(shù)(小寫),不輸出前導符Ox

%X—輸出無符號十六進制整數(shù)(大寫),不輸出前導符Ox

%c—輸出一個字符

%s—輸出字符串

%f一以十進制小數(shù)形式輸出實數(shù),包含單,雙精度,隱含6位小

數(shù),但并非全是有效數(shù)字,單精度有效7位,雙精度16位

%e-以指數(shù)形式輸出實數(shù)(小寫e表示指數(shù)部分),小數(shù)點前有且

僅有一位非0數(shù)字

%E—以指數(shù)形式輸出實數(shù)(大寫E表示指數(shù)部分)

%g—自動選取f或e格式中寬度較小的一種使用,不輸出無意

義的0

%%—輸出%

4)輸出值參數(shù)表:需要輸出的數(shù)據(jù)項的列表,可以是變量或表達

式,逗號隔開,類型與格式轉(zhuǎn)換說明符相匹配

5)每個格式轉(zhuǎn)換說明符與輸出值參數(shù)表中的輸出值參數(shù)一一對應(yīng),

沒有輸出值參數(shù),格式控制字符串就不需要格式轉(zhuǎn)換說明符

6)例:從鍵盤輸入一個大寫英文字母,將其轉(zhuǎn)換為小寫字母和其

十進制ASCII碼值顯示在屏幕上

#include

voidmain()

(

charch;

printf("Pleaseenterakey:");

ch=get);

ch=ch+32;

,,

printf("%c,%d/ch/ch);//printf("%c",ch)<<=>>putch)fprintf("

")<<=>>put)}

7)函數(shù)printf()中的格式修飾符:在%和格式符中間插入格式修飾

符,用于輸出格式的微調(diào),如:指定輸出域?qū)?、精度、左對齊等

英文字母I一修飾格式符d,o,x,u時,用于輸出long型數(shù)據(jù)

英文字母L-修飾格式符f,e,g時,用于輸出longdouble型數(shù)

據(jù)

英文字母修飾格式符時,用于輸出型數(shù)據(jù)

h-d/O/xshort

輸出域?qū)抦—m為整數(shù),輸出時占m列,若m>0,當數(shù)據(jù)寬度

小于m時,域內(nèi)右靠齊,左補空格,當數(shù)據(jù)寬度大于m時,修飾符失

效,按實際寬度輸出,若m有前導符0,左邊多余位補0;若m<0,輸

出數(shù)據(jù)在域內(nèi)左靠齊

顯示精度.n-n為大于等于0的整數(shù),精度修飾符位于最小域?qū)?/p>

修飾符之后,由圓點和整數(shù)構(gòu)成,對于浮點數(shù),用于指定輸出的浮點

數(shù)小數(shù)位數(shù);對于字符串,用于指定從字符串左側(cè)開始截取的子串字符

個數(shù)

8)使用const常量定義pi,編程從鍵盤輸入圓的周長和面積,使其

輸出數(shù)據(jù)保留兩位小數(shù)

#include

voidmain()

(

constdoublepi=3.14159;

doubleGcircum^rea;

printf("Pleaseenterr:");

scanf(”%lf”,&r);

circum=2*pi*r;

area=pi*r*r;

printf("輸出沒有寬度和精度的值

printf("circum=%farea=%ftcircum,area);

printf("輸出沒有寬度和精度的值:");

printf("circum=%7.2farea=%7.2f”,circum,area);〃域?qū)挒?,

占7個字符寬度,小數(shù)點也算一個字符,精度為2,小數(shù)點后保留2位

)

12.數(shù)據(jù)的格式化鍵盤輸入:

1)函數(shù)scanf()的一般格式:scanf(格式控制字符串,參數(shù)地址表);

2)格式控制字符串:包括格式轉(zhuǎn)換說明符,分隔符

3)格式轉(zhuǎn)換說明符以%開始,以格式字符結(jié)束,用于指定各參數(shù)

的輸入格式

4)函數(shù)scanf()的格式轉(zhuǎn)換說明符:

%d-輸入十進制整數(shù)

%。一輸入八進制整數(shù)

%x-輸入十六進制整數(shù)

%c-輸入一個字符,空白字符(包括空格、回車、制表符)也作為

有效字符輸入%S

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論