最新国产在线不卡AV,国产又爽又黄的视频免费看,精品综合久久久久久97,日韩欧美高清中文字幕免费一区二区

            科普

            c語(yǔ)言基本常識(shí)有哪些_C語(yǔ)言程序架構(gòu) IT知識(shí)

            電腦知識(shí)優(yōu)爾供稿

            C語(yǔ)言一經(jīng)出現(xiàn)就以其功能豐富、表達(dá)能力強(qiáng)、靈活方便、應(yīng)用面廣等特點(diǎn)迅速在全世界普及和推廣。下面一起來(lái)看看9252兒童網(wǎng)小編為大家整理的c語(yǔ)言基本常識(shí),歡迎閱讀,僅供參考。

            c語(yǔ)言基本常識(shí)有哪些

            C語(yǔ)言基礎(chǔ)知識(shí)

            一:主要內(nèi)容

            1.C數(shù)據(jù)類型

            2.簡(jiǎn)單的算術(shù)運(yùn)算和表達(dá)式

            3.鍵盤(pán)輸入和屏幕輸出

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

            總結(jié)風(fēng)格:分條羅列,主要是知識(shí)點(diǎn),有例題不多

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

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

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

            2.常量:整形常量、實(shí)型常量、字符常量、字符串常量、枚舉常量

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

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

            5.字符常量:字符型常量、用單引號(hào)括起來(lái)的任意字符 eg: x X ? , 9

            6.字符串常量:用雙引號(hào)括起來(lái)的一個(gè)或多個(gè)字符 eg: "x" "Hello" "Y78"

            7.在C程序中,整型常量可以用十進(jìn)制、八進(jìn)制、十六進(jìn)制形式表示,但編譯器都會(huì)自動(dòng)將其轉(zhuǎn)換成二進(jìn)制存儲(chǔ)

            8.整型常量的類型:長(zhǎng)整型、短整型、有符號(hào)、無(wú)符號(hào)。

            9.不同進(jìn)制的整型常量的表示形式:

            1)十進(jìn)制:0~9數(shù)字組合,可帶正負(fù)號(hào) eg: 256,-128,0,+7

            2)八進(jìn)制:0開(kāi)頭,后面跟0~7數(shù)字組合 eg: 021,-017

            3)十六進(jìn)制:0x(0X)開(kāi)頭,后跟0~9,a~f(A~F)數(shù)字組合 eg:0x12,-0x1F

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

            1) 有符號(hào)整型常量:默認(rèn)int型定義為有符號(hào)整數(shù),無(wú)需signed eg:10,-30,0

            2) 無(wú)符號(hào)整形常量:常量值后跟u或U,只能表示>=0的數(shù) eg:30u,256U

            3) 長(zhǎng)整型常量:常量值后跟l或L eg:-256l,1024L

            4) 無(wú)符號(hào)長(zhǎng)整型常量:常量值后跟LU、Lu 、lU 、lu eg:30lu

            11.C程序中,實(shí)型常量?jī)煞N表示形式:小數(shù)、指數(shù)

            12.不同形式的實(shí)型常量的表示形式:

            1) 十進(jìn)制表示形式:數(shù)字和小數(shù)點(diǎn)組成,必須要有小數(shù)點(diǎn),整數(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.實(shí)型常量有單精度和雙精度之分,無(wú)有符號(hào)和無(wú)符號(hào)之分

            14.不同類型的實(shí)型常量表示形式:

            1)單精度實(shí)型常量:常量值后跟F或f eg:1.25F,1.25e-2f

            2)雙精度實(shí)型常量(double):實(shí)型常量默認(rèn)按雙精度處理 eg:0.123,-12.35, .98

            3)長(zhǎng)雙精度實(shí)型常量(long double):常量值后跟L或l eg:1.25L

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

            16.變量在必須先定義后使用,定義時(shí)需要聲明變量的類型和變量名,一般形式:類型關(guān)鍵字 變量名;

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

            18.標(biāo)準(zhǔn)C語(yǔ)言編寫(xiě)的程序都是以main()作為開(kāi)頭,指定了C程序執(zhí)行的起點(diǎn),在C程序中只能出現(xiàn)一次,稱為主函數(shù)

            19.C程序總是從main函數(shù)開(kāi)始執(zhí)行,與他在程序中的位置無(wú)關(guān),main函數(shù)主體部分稱為語(yǔ)句,用{}括起來(lái),一般C語(yǔ)句以;結(jié)束

            20.變量的類型決定了編譯器為其分配內(nèi)存單元的字節(jié)數(shù)、數(shù)據(jù)在內(nèi)存單元中的存放形式、該類型變量合法的取值范圍以及該類型變量可參與的運(yùn)算種類

            21.變量名是用戶定義的標(biāo)識(shí)符,用于標(biāo)識(shí)內(nèi)存中具體的存儲(chǔ)單元,存放的數(shù)據(jù)稱為變量的

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

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

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

            2)標(biāo)識(shí)符必須以字母或下劃線開(kāi)頭

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

            4)標(biāo)識(shí)符可以包含任意多個(gè)字符,但一般會(huì)有最大長(zhǎng)度限制,預(yù)編譯器有關(guān),一般不會(huì)超過(guò),最好不超過(guò)8個(gè)字符

            注意:標(biāo)識(shí)符區(qū)分大小寫(xiě)

            eg:x y3 _imax ELSE X A_to_B (合法)

            eg:7x int #No bad one re-input(不合法)

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

            25.在同一條語(yǔ)句中可以同時(shí)定義多個(gè)相同類型變量,多個(gè)變量之間用逗號(hào)分隔,沒(méi)有順序要求

            26.在使用標(biāo)準(zhǔn)輸入/輸出函數(shù)時(shí),必須在程序開(kāi)頭加上編譯預(yù)處理命令

            27.中stdio為頭文件,std是standard,i為input,o為output,h為head

            28.編譯預(yù)處理命令#include的作用:將在輸入/輸出函數(shù)的頭文件stdio.h包含到用戶源文件中

            29.%d按十進(jìn)制整數(shù)個(gè)格式輸出,%f按十進(jìn)制小數(shù)格式輸出,一般輸出6位小數(shù),%c輸出一個(gè)字符, 換行,雙引號(hào)內(nèi)字符原樣輸出

            30.不同類型的數(shù)據(jù)在內(nèi)存中占用不同大小的存儲(chǔ)單元,他們所能表示的數(shù)據(jù)的取值范圍各不相同,不同類型的數(shù)據(jù)表示形式及其可以參與的運(yùn)算種類也不同

            31.定義整型變量時(shí),只要不指定為無(wú)符號(hào)型,其隱含類型為有符號(hào)型,signed通常省略不寫(xiě)

            32.C程序中每個(gè)變量的值都是按字節(jié)編址,都被存儲(chǔ)在內(nèi)存中特定的存儲(chǔ)單元中,這個(gè)存儲(chǔ)空間實(shí)際是一個(gè)線性地址表,即每個(gè)字節(jié)的存儲(chǔ)空間對(duì)應(yīng)一個(gè)唯一的地址

            33.1個(gè)字節(jié)等于8個(gè)二進(jìn)制位,即8個(gè)位為一個(gè)字節(jié),一個(gè)字節(jié)可以表示的整數(shù)最小為0,最大255,即8個(gè)位可以表示0-255之間的數(shù),一個(gè)二進(jìn)制位的值只能是0或1

            34.同種類型在不同的平臺(tái)所占字節(jié)數(shù)不同,要計(jì)算數(shù)據(jù)類型所占內(nèi)存空間的字節(jié)數(shù)需要用sizeof()運(yùn)算符

            35.sizeof是C語(yǔ)言關(guān)鍵字,不是函數(shù)名,sizeof(變量名)計(jì)算一個(gè)變量所占內(nèi)存的字節(jié)數(shù)

            36.計(jì)算不同類型運(yùn)算符的表達(dá)式時(shí),要考慮運(yùn)算符的優(yōu)先級(jí)和結(jié)合性

            37.正數(shù)的反碼、補(bǔ)碼與原碼都相同,負(fù)數(shù)的補(bǔ)碼等于反碼加1

            38.在計(jì)算機(jī)內(nèi)存中負(fù)數(shù)都是用補(bǔ)碼來(lái)表示

            39.對(duì)于實(shí)數(shù),無(wú)論小數(shù)海曙指數(shù)形式,在計(jì)算機(jī)內(nèi)存中都采用浮點(diǎn)形式來(lái)存儲(chǔ)

            40.浮點(diǎn)數(shù)分為階碼、尾數(shù)兩部分,實(shí)數(shù)N=S*pow(r,j),S為尾數(shù)(無(wú)論正負(fù),規(guī)定用存小數(shù)),j為階碼(無(wú)論正負(fù),必須是整數(shù)),r是基數(shù) eg:10.0111=0.100111*pow(2,10)

            41.階碼所占位數(shù)決定實(shí)數(shù)的取值范圍,尾數(shù)所占位數(shù)決定實(shí)數(shù)的精度,尾數(shù)的符號(hào)決定實(shí)數(shù)的正負(fù),階碼和尾數(shù)的字節(jié)大小與編譯器有關(guān)

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

            43.運(yùn)算符的優(yōu)先級(jí):?jiǎn)文窟\(yùn)算<算術(shù)運(yùn)算<關(guān)系運(yùn)算<邏輯運(yùn)算<條件運(yùn)算<賦值運(yùn)算<逗號(hào)運(yùn)算

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

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

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

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

            二、 簡(jiǎn)單的算術(shù)運(yùn)算和表達(dá)式

            1.條件運(yùn)算符是C語(yǔ)言提供的唯一一個(gè)三元運(yùn)算符,C語(yǔ)言中沒(méi)有冪運(yùn)算符

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

            3.一元運(yùn)算符也叫單目運(yùn)算符,二元運(yùn)算符也叫雙目運(yùn)算符,三元運(yùn)算符也叫三目運(yùn)算符

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

            5.求余運(yùn)算限定參與運(yùn)算的兩個(gè)操作數(shù)必須為整型,余數(shù)的符號(hào)與被除數(shù)的符號(hào)相同,不能對(duì)兩個(gè)實(shí)型數(shù)進(jìn)行求余運(yùn)算

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

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

            8.運(yùn)算符的優(yōu)先級(jí):?jiǎn)文窟\(yùn)算>算術(shù)運(yùn)算>關(guān)系運(yùn)算>邏輯運(yùn)算>條件運(yùn)算>賦值運(yùn)算>逗號(hào)運(yùn)算

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

            #include

            void main()

            {

            int x=321;

            int a,b,c,sum;

            a=x%10;//a=1

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

            c=x/100;//c=3

            sum=a+b+c;

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

            }

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

            11.增1運(yùn)算符也稱自增運(yùn)算符,減1運(yùn)算符也稱自減運(yùn)算符,都是一元運(yùn)算符,只有一個(gè)操作數(shù)必須是變量不能是常量或表達(dá)式

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

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

            m=-n++《=》m=-(n++)《=》m=-n,n=n+1;

            //正面:-和++都是一元運(yùn)算符,優(yōu)先級(jí)相同,此時(shí)要考慮結(jié)合性,結(jié)合性都是右結(jié)合的,所以先算++后算-

            //反面:如果等價(jià)m=(-n)++就不合法了,因?yàn)楸磉_(dá)式不能進(jìn)行自增操作

            14.scanf函數(shù)和printf函數(shù)都是C的標(biāo)準(zhǔn)輸入/輸出函數(shù),&為取地址運(yùn)算符

            15.宏常量與宏替換:

            1) 在程序中直接使用的常數(shù)稱為幻數(shù),將幻數(shù)定義為宏常量或const常量是為了提高程序的可讀性和可維護(hù)性

            2) 宏常量也稱符號(hào)常量,沒(méi)有數(shù)據(jù)類型,編譯器不對(duì)其進(jìn)行類型檢查,只進(jìn)行字符串替換

            3) 宏定義一般形式:#define 標(biāo)識(shí)符 字符串。標(biāo)識(shí)符被稱為宏名,宏名與字符串之間可有多個(gè)空白符,不加等號(hào),結(jié)尾不加分號(hào)

            4) 宏常量是由宏定義編譯預(yù)處理命令來(lái)定義,宏名替換成字符串的過(guò)程稱為宏替換,宏替換不做任何語(yǔ)法檢查

            5) 當(dāng)宏定義是一個(gè)表達(dá)式時(shí),調(diào)用時(shí),是一個(gè)數(shù)就可以直接帶入,而是表達(dá)式也要看成是一個(gè)數(shù)代進(jìn)宏定義表達(dá)式中,

            而看成一個(gè)數(shù)這就要求把調(diào)用的數(shù)加上圓括號(hào),為了減少不必要的錯(cuò)誤,最好都加上圓括號(hào)

            6) 宏替換的過(guò)程是將宏名原樣替換成字符串,而不是直接計(jì)算出值,所以要用調(diào)用后的結(jié)果參與其他運(yùn)算就需要把調(diào)用的結(jié)果加上圓括號(hào)

            7) 例題:

            #include

            #define N 2 //N=2

            #define M N+1 //M=2+1

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

            void main()

            {

            int i;

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

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

            i--; // i=6

            printf("%d ",i);

            }

            8) 例題:

            #include

            #define f(x) x*x

            void main()

            {

            int b;

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

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

            }

            9) 例題:

            #include

            #define f(x) x*x

            void main()

            {

            int b;

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

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

            }

            10) 例題:

            #include

            #define f(x) x*x

            void main()

            {

            int b;

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

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

            }

            11) 例題:

            #include

            #define f(x) (x*x)

            void main()

            {

            int b;

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

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

            }

            16.const常量

            1) const常量只能在定義時(shí)賦初值,因?yàn)榫幾g器將其放在只讀存儲(chǔ)區(qū),不允許在程序中修改

            2) const常量的定義一般形式:const 類型名 標(biāo)識(shí)符=字符串;//將標(biāo)識(shí)符聲明為具有該數(shù)據(jù)類型的const常量

            3) const是一種類型修飾符,const常量具有數(shù)據(jù)類型,編譯器要對(duì)其進(jìn)行類型檢查

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

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

            2) 表達(dá)式中,操作數(shù)類型不相同,C編譯器自動(dòng)將所有操作數(shù)進(jìn)行類型提升,轉(zhuǎn)換成同一類型,所占字節(jié)最大,再計(jì)算

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

            1) 賦值運(yùn)算符左側(cè)變量與右側(cè)表達(dá)式類型不同時(shí),發(fā)生自動(dòng)類型轉(zhuǎn)換:右側(cè)表達(dá)式的值轉(zhuǎn)換成左側(cè)變量的類型

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

            1) 強(qiáng)制類型轉(zhuǎn)換運(yùn)算符是一元運(yùn)算符

            2) 強(qiáng)制類型轉(zhuǎn)換也稱強(qiáng)轉(zhuǎn),是將表達(dá)式的值轉(zhuǎn)換為任意類型,并不改變變量本身的數(shù)據(jù)類型

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

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

            #include

            void main()

            {

            int m=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=%d ",m);//m=5,只是將m強(qiáng)轉(zhuǎn)為實(shí)型數(shù)據(jù),并不改變m的數(shù)據(jù)類型 }

            20.常用的標(biāo)準(zhǔn)數(shù)學(xué)函數(shù):

            1) 使用C標(biāo)準(zhǔn)數(shù)學(xué)函數(shù),要在程序開(kāi)頭加上編譯預(yù)處理命令:#include

            2) 例:已知三角形三邊長(zhǎng)為a,b,c,計(jì)算三角形的面積

            #include

            #include

            void main()

            {

            float a,b,c,s,area;

            printf("Input a,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.賦值運(yùn)算符的左側(cè)不能出現(xiàn)表達(dá)式,變量與變量之間可以賦值

            例1:若有定義:int a,b,c;下列表達(dá)式中哪一個(gè)是合法的C語(yǔ)言賦值表達(dá)式(C、D)

            A)a=7+b=c=7 B)a=b++=c=7 C)a=(b=7,c=12) D)a=3,b=a+5,c=b+2

            //A.7+b表達(dá)式不能做左值 B.b++表達(dá)式不能做左值 C.逗號(hào)表達(dá)式a=12 D.依次賦值

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

            A)a=++a B)a=b++=10 C)a+=b D)a=1>a

            //D.算術(shù)運(yùn)算符優(yōu)先級(jí)高于賦值運(yùn)算符,先算1>a再將其結(jié)果賦給a

            例3:若有下列定義:int a=3,b=2,c=1;以下選項(xiàng)錯(cuò)誤的賦值表達(dá)式是(A)

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

            //A.先計(jì)算圓括號(hào)里的值等于4,然后按照賦值表達(dá)式的順序從右向左計(jì)算,將3賦值給4這是不對(duì)的,即賦值號(hào)左側(cè)只能是變量,不能出現(xiàn)表達(dá)式b=4

            三、 鍵盤(pán)輸入和屏幕輸出

            1.字符常量:

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

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

            以反斜線()開(kāi)頭,也是放在一對(duì)單引號(hào)內(nèi),適用于控制字符(如回車符,換行符)

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

            1) — 換行 8) a — 響鈴報(bào)警提示音

            2) — 回車(不換行) 9) " — 一個(gè)雙引號(hào)

            3) — 空字符 10) — 一個(gè)單引號(hào)

            4) — 水平制表 11) — 一個(gè)反斜線

            5) v — 垂直制表 12) ? — 問(wèn)號(hào)

            6)  — 退格 13) ddd —1到3位八進(jìn)制ASCII碼值所代表的字符

            7) f — 走紙換頁(yè) 14) xhh —1到2位十六進(jìn)制ASCII碼值所代表的字符

            4. ,是將光標(biāo)移到下一行起始位置, 是將光標(biāo)移到當(dāng)前行的起始位置

            5. ,是水平制表符,相當(dāng)于按下Tab鍵,每次按下Tab鍵并不是從當(dāng)前光標(biāo)位置向后移動(dòng)一個(gè)Tab寬度,而是移到下一個(gè)制表位,實(shí)際移動(dòng)的寬度視當(dāng)前光標(biāo)位置距相鄰的下一個(gè)制表位的距離而定

            6.制表位,屏幕上的一行被分為若干個(gè)域,相鄰域之間的交接點(diǎn)稱為制表位,每個(gè)域的寬度就是一個(gè)Tab寬度,多數(shù)習(xí)慣上為4

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

            8.一個(gè)整形數(shù)在內(nèi)存中是以二進(jìn)制形式存儲(chǔ)的,而一個(gè)字符在內(nèi)存中也是以其對(duì)應(yīng)的ASCII碼的二進(jìn)制形式存儲(chǔ)的,但char型數(shù)據(jù)在內(nèi)存中只占一個(gè)字節(jié),而int型數(shù)據(jù)在16位系統(tǒng)中占2個(gè)字節(jié),32位系統(tǒng)占4個(gè)字節(jié)。

            9.在ASCII碼取值范圍內(nèi),char型數(shù)據(jù)可以和int型數(shù)據(jù)進(jìn)行混合運(yùn)算,char型數(shù)據(jù)也能以int型輸出,直接輸出其對(duì)應(yīng)的ASCII碼的十進(jìn)制值

            10.字符的輸入/輸出:

            1) get)和put)是C標(biāo)準(zhǔn)函數(shù)庫(kù)中專門(mén)用于字符輸入/輸出的函數(shù),功能是只能輸入/輸出一個(gè)字符

            2) 例:從鍵盤(pán)輸入一個(gè)大寫(xiě)英文字母,將其轉(zhuǎn)換為小寫(xiě)字母顯示在屏幕上

            #include

            void main()

            {

            char ch;

            ch=get);//鍵盤(pán)輸入一個(gè)字符,再按回車表示輸入結(jié)束,字符存入變量ch,注意:get)沒(méi)有參數(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)換說(shuō)明符,需要原樣輸出的普通字符

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

            %d — 輸出帶符號(hào)十進(jìn)制整數(shù),整數(shù)符號(hào)省略

            %u — 輸出無(wú)符號(hào)十進(jìn)制整數(shù)

            %o — 輸出無(wú)符號(hào)八進(jìn)制整數(shù),不輸出前導(dǎo)符0

            %x — 輸出無(wú)符號(hào)十六進(jìn)制整數(shù)(小寫(xiě)),不輸出前導(dǎo)符0x

            %X — 輸出無(wú)符號(hào)十六進(jìn)制整數(shù)(大寫(xiě)),不輸出前導(dǎo)符0x

            %c — 輸出一個(gè)字符

            %s — 輸出字符串

            %f — 以十進(jìn)制小數(shù)形式輸出實(shí)數(shù),包含單,雙精度,隱含6位小數(shù),但并非全是有效數(shù)字,單精度有效7位,雙精度16位

            %e — 以指數(shù)形式輸出實(shí)數(shù)(小寫(xiě)e表示指數(shù)部分),小數(shù)點(diǎn)前有且僅有一位非0數(shù)字

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

            %g — 自動(dòng)選取f或e格式中寬度較小的一種使用,不輸出無(wú)意義的0

            %% — 輸出%

            4) 輸出值參數(shù)表:需要輸出的數(shù)據(jù)項(xiàng)的列表,可以是變量或表達(dá)式,逗號(hào)隔開(kāi),類型與格式轉(zhuǎn)換說(shuō)明符相匹配

            5) 每個(gè)格式轉(zhuǎn)換說(shuō)明符與輸出值參數(shù)表中的輸出值參數(shù)一一對(duì)應(yīng),沒(méi)有輸出值參數(shù),格式控制字符串就不需要格式轉(zhuǎn)換說(shuō)明符

            6) 例:從鍵盤(pán)輸入一個(gè)大寫(xiě)英文字母,將其轉(zhuǎn)換為小寫(xiě)字母和其十進(jìn)制ASCII碼值顯示在屏幕上

            #include

            void main()

            {

            char ch;

            printf("Please enter a key:");

            ch=get);

            ch=ch+32;

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

            7) 函數(shù)printf()中的格式修飾符:在%和格式符中間插入格式修飾符,用于輸出格式的微調(diào),如:指定輸出域?qū)?、精度、左?duì)齊等

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

            英文字母L — 修飾格式符f,e,g時(shí),用于輸出long double型數(shù)據(jù)

            英文字母h — 修飾格式符d,o,x時(shí),用于輸出short型數(shù)據(jù)

            輸出域?qū)抦 — m為整數(shù),輸出時(shí)占m列,若m>0,當(dāng)數(shù)據(jù)寬度小于m時(shí),域內(nèi)右靠齊,左補(bǔ)空格,當(dāng)數(shù)據(jù)寬度大于m時(shí),修飾符失效,按實(shí)際寬度輸出,若m有前導(dǎo)符0,左邊多余位補(bǔ)0;若m<0,輸出數(shù)據(jù)在域內(nèi)左靠齊

            顯示精度 .n — n為大于等于0的整數(shù),精度修飾符位于最小域?qū)捫揎椃螅蓤A點(diǎn)和整數(shù)構(gòu)成,對(duì)于浮點(diǎn)數(shù),用于指定輸出的浮點(diǎn)數(shù)小數(shù)位數(shù);對(duì)于字符串,用于指定從字符串左側(cè)開(kāi)始截取的子串字符個(gè)數(shù)

            8) 使用const常量定義pi,編程從鍵盤(pán)輸入圓的周長(zhǎng)和面積,使其輸出數(shù)據(jù)保留兩位小數(shù)

            #include

            void main()

            {

            const double pi=3.14159;

            double r,circum,area;

            printf("Please enter r:");

            scanf("%lf",&r);

            circum=2*pi*r;

            area=pi*r*r;

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

            printf("circum=%f,area=%f ",circum,area);

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

            printf("circum=%7.2f,area=%7.2f ",circum,area);//域?qū)挒?,占7個(gè)字符寬度,小數(shù)點(diǎn)也算一個(gè)字符,精度為2,小數(shù)點(diǎn)后保留2位

            }

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

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

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

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

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

            %d — 輸入十進(jìn)制整數(shù)

            %o — 輸入八進(jìn)制整數(shù)

            %x — 輸入十六進(jìn)制整數(shù)

            %c — 輸入一個(gè)字符,空白字符(包括空格、回車、制表符)也作為有效字符輸入 %s — 輸入字符串,遇到第一個(gè)空白字符(包括空格、回車、制表符)時(shí)結(jié)束 %f或%e — 輸入實(shí)數(shù),以小數(shù)或指數(shù)形式輸入均可

            %% — 輸入一個(gè)%

            5) 參數(shù)地址表:由若干變量的地址組成的列表,用逗號(hào)分隔

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

            英文字母l — 加在格式符d,o,x,u之前,用于輸入long型數(shù)據(jù);加在f,e之前,用于輸入double型數(shù)據(jù)

            英文字母L — 加在格式符f,e之前,用于輸入long double型數(shù)據(jù)

            英文字母h — 加在格式符d,o,x時(shí),用于輸入short型數(shù)據(jù)

            輸出域?qū)抦 — m為正整數(shù),指定輸入數(shù)據(jù)的寬度,系統(tǒng)自動(dòng)按此寬度截取所需數(shù)據(jù)

            顯示精度 .n — n為0或正整數(shù),scanf()沒(méi)有精度格式修飾符,輸入時(shí)不能規(guī)定精度 忽略輸入修飾符* — 表示對(duì)應(yīng)的輸入項(xiàng)在讀入后不賦給相應(yīng)的變量

            7) 函數(shù)scanf()輸入數(shù)值型數(shù)據(jù)時(shí),被認(rèn)為輸入結(jié)束的幾種情況:遇空格符、回車符、制表符;達(dá)到輸出域?qū)?遇非法字符輸入

            8) 如果函數(shù)scanf()的格式控制字符串中存在除格式轉(zhuǎn)換說(shuō)明符以外的其他字符,必須將這些字符原樣輸入

            #include

            void main()

            {

            int a,b;

            scanf("%d %d",&a,&b); //以空格作為分隔符,等價(jià)于scanf("%d%d",&a,&b),等價(jià)于scanf("%d %d",&a,&b),

            printf("a=%d,b=%d ",a,b);//實(shí)際輸入時(shí),空格、回車符、制表符都可作為分隔符,即輸入:12空格34 12回車34 12制表符34均可,

            }

            #include

            void main()

            {

            int a,b;

            scanf("%d,%d",&a,&b);//輸入時(shí)必須以逗號(hào)作為分隔符,即只能輸入:12,34

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

            }

            #include

            void main()

            {

            int a,b;

            scanf("a=%d,b=%d",&a,&b);//輸入時(shí)必須將"a="和"b="原樣輸入,即只能輸入:a=12,b=34 printf("a=%d,b=%d ",a,b);

            C語(yǔ)言程序架構(gòu)

            1.多模塊初始化注冊(cè)架構(gòu)

            一個(gè)大型軟件由多個(gè)模塊構(gòu)成,在初始化過(guò)程中,依次調(diào)用這些模塊的初始化函數(shù),這些初始化函數(shù)將這些模塊內(nèi)部提供的可供調(diào)用接口集中注冊(cè)到一個(gè)大的數(shù)據(jù)結(jié)構(gòu)中。然后main函數(shù)才開(kāi)始處理接收到的參數(shù),根據(jù)收到參數(shù)的不同,去調(diào)用大數(shù)據(jù)結(jié)構(gòu)中不同的接口函數(shù)。

            適用場(chǎng)景:適用于構(gòu)造交互式程序,初始化時(shí),所有模塊都注冊(cè)好,開(kāi)始接受用戶輸入時(shí),根據(jù)輸入?yún)?shù)調(diào)用不同的函數(shù)接口。

            2.查表架構(gòu)

            1). 在實(shí)現(xiàn)read,write,trim命令按照一定比率下發(fā)到設(shè)備的程序中,通過(guò)構(gòu)造一個(gè)長(zhǎng)度為100的數(shù)組,其中25個(gè)置為0代表read的比例,25個(gè)置為1代表write的比例,50個(gè)置為2代表trim的比例,通過(guò)生成大量的0~99的隨機(jī)數(shù),達(dá)到read,write,trim命令為25:25:50的比例。

            2).一個(gè)下發(fā)隊(duì)列,可以接受read,write,erase命令,而該隊(duì)列的規(guī)則是最多同時(shí)處理4個(gè)read,2個(gè)write和1個(gè)erase,在想知道該下發(fā)隊(duì)列還能接收什么命令時(shí),通過(guò)查表實(shí)現(xiàn),例如,下發(fā)隊(duì)列中當(dāng)前有1個(gè)write命令,則查表可以,它還可以接收1個(gè)write或2個(gè)read,不能接收erase。

            適用場(chǎng)景:控制邏輯比較復(fù)雜的情況,適宜適用查表的方法來(lái)避免復(fù)雜的邏輯,以空間換時(shí)間。

            3.交叉遍歷架構(gòu)

            見(jiàn)前文:從m個(gè)不定長(zhǎng)數(shù)組中 各取一個(gè)元素的組合生成算法

            適用場(chǎng)景:適合交叉遍歷測(cè)試程序的編寫(xiě)。

            C語(yǔ)言基礎(chǔ)循環(huán)結(jié)構(gòu)

            1.1 for循環(huán)結(jié)構(gòu)

            1.for循環(huán)語(yǔ)句的一般表達(dá)式是:

            for(表達(dá)式1;表達(dá)式2;表達(dá)式3) 語(yǔ)句

            2.C語(yǔ)言語(yǔ)法規(guī)定:循環(huán)體語(yǔ)句只能包含一條語(yǔ)句,若需多條語(yǔ)句,應(yīng)使用復(fù)合語(yǔ)句。

            1.2 while和do while循環(huán)結(jié)構(gòu)

            1.while語(yǔ)句用來(lái)實(shí)現(xiàn)″當(dāng)型″循環(huán)結(jié)構(gòu),它的.一般形式如下:

            while(表達(dá)式)語(yǔ)句

            當(dāng)表達(dá)式為非0值時(shí)執(zhí)行while語(yǔ)句中內(nèi)嵌的語(yǔ)句;當(dāng)表達(dá)式的值為0時(shí),直接跳過(guò)while語(yǔ)句后面的語(yǔ)句,執(zhí)行下一條語(yǔ)句。

            2.while語(yǔ)句執(zhí)行的特點(diǎn)是:先判斷表達(dá)式,后執(zhí)行語(yǔ)句。

            3.do while用來(lái)實(shí)現(xiàn)″直到型″循環(huán)結(jié)構(gòu),它的一般形式為:

            do語(yǔ)句

            while(表達(dá)式);

            這個(gè)語(yǔ)句執(zhí)行時(shí),先執(zhí)行一次指定的內(nèi)嵌的語(yǔ)句,然后判別表達(dá)式,當(dāng)表達(dá)式的值為非0時(shí),返回重新執(zhí)行該語(yǔ)句,如此反復(fù),直到表達(dá)式的值為等于0為止,此時(shí)循環(huán)結(jié)束。

            4.do while語(yǔ)句執(zhí)行的特點(diǎn)是:先執(zhí)行語(yǔ)句,后判斷表達(dá)式。

            1.3 continue語(yǔ)句和break語(yǔ)句

            1.break語(yǔ)句有兩個(gè)用途:①在switch語(yǔ)句中用來(lái)使流程跳出switch結(jié)構(gòu),繼續(xù)執(zhí)行switch語(yǔ)句后面的語(yǔ)句;②用在循環(huán)體內(nèi),迫使所在循環(huán)立即終止,即跳出所在循環(huán)體,繼續(xù)執(zhí)行循環(huán)體后面的第一條語(yǔ)句。

            2.continue語(yǔ)句結(jié)束本次循環(huán),即跳過(guò)循環(huán)體中尚未執(zhí)行的語(yǔ)句。在while和do while語(yǔ)句中,continue語(yǔ)句將使控制直接轉(zhuǎn)向條件測(cè)試部分,從而決定是否繼續(xù)轉(zhuǎn)向循環(huán)。在for循環(huán)中,遇到continue語(yǔ)句后,首先計(jì)算for語(yǔ)句表達(dá)式3的值,然后再執(zhí)行條件測(cè)試(表達(dá)式2),最后根據(jù)測(cè)試結(jié)果來(lái)決定是否繼續(xù)轉(zhuǎn)向for循環(huán)。

            1.4 循環(huán)的嵌套

            1.一個(gè)循環(huán)體內(nèi)又包含另一個(gè)完整的循環(huán)結(jié)構(gòu),稱為循環(huán)的嵌套。內(nèi)嵌的循環(huán)中還可以嵌套循環(huán),這就是多層循環(huán)。

            2.三種循環(huán)(while循環(huán)、do while循環(huán)和for循環(huán))可以互相嵌套。

              為你推薦