• <em id="6vhwh"><rt id="6vhwh"></rt></em>

    <style id="6vhwh"></style>

    <style id="6vhwh"></style>
    1. <style id="6vhwh"></style>
        <sub id="6vhwh"><p id="6vhwh"></p></sub>
        <p id="6vhwh"></p>
          1. 国产亚洲欧洲av综合一区二区三区 ,色爱综合另类图片av,亚洲av免费成人在线,久久热在线视频精品视频,成在人线av无码免费,国产精品一区二区久久毛片,亚洲精品成人片在线观看精品字幕 ,久久亚洲精品成人av秋霞

            c語(yǔ)言知識(shí)點(diǎn)

            更新時(shí)間:2023-03-03 12:51:38 閱讀: 評(píng)論:0

            幼兒教育理念-笑臉兩個(gè)點(diǎn)一個(gè)彎

            c語(yǔ)言知識(shí)點(diǎn)
            2023年3月3日發(fā)(作者:跟女孩子聊天怎么找話題)

            期末復(fù)習(xí)C語(yǔ)言知識(shí)點(diǎn)歸納

            一、概述部分

            主要考察知識(shí)點(diǎn):

            C程序的結(jié)構(gòu)特點(diǎn);C程序的擴(kuò)展名;程

            序的開發(fā)過程;

            函數(shù)的構(gòu)成;

            C語(yǔ)言使用的基本符號(hào):ASCII字符集;

            標(biāo)識(shí)符的命名規(guī)則;

            關(guān)鍵字、用戶自定義標(biāo)識(shí)符

            1.C程序的基本模塊是函數(shù),一個(gè)C語(yǔ)言源程序可以由一個(gè)

            或多個(gè)函數(shù)組成,有且只有1個(gè)main()函數(shù),可以放在程序

            中的任何位置.

            2.函數(shù)的定義是平行的,不能嵌套定義,但可以進(jìn)行嵌套

            調(diào)用。

            3.一個(gè)C程序不論有幾個(gè)函數(shù),都是從main()函數(shù)開始執(zhí)

            行.

            4.C源程序文件的擴(kuò)展名".c"。

            ++6.0下C語(yǔ)言程序的完整實(shí)現(xiàn)過程包括4個(gè)基本步驟:

            ?

            編輯形成源文件(.c)

            ?

            編譯,形成目標(biāo)文件(.obj)

            ?

            鏈接,形成可執(zhí)行文件(.exe)

            ?

            運(yùn)行.

            6.函數(shù)的構(gòu)成:變量定義、語(yǔ)句、注釋

            7.標(biāo)識(shí)符

            按照

            C

            語(yǔ)言所定義的規(guī)則來(lái)命名的符號(hào),用作變量名、數(shù)組

            名、函數(shù)名等,系統(tǒng)定義的關(guān)鍵字也遵循該規(guī)則。

            規(guī)則:由字母、數(shù)字、下劃線組成,第一個(gè)字符必須

            是字母或下劃線。

            C

            語(yǔ)言中的標(biāo)識(shí)符分:關(guān)鍵字、用戶定義標(biāo)識(shí)符

            例如

            :area

            a234

            _1234

            為合法標(biāo)識(shí)符

            6x

            a-b

            a+b

            為非法標(biāo)識(shí)符

            注意

            :

            標(biāo)識(shí)符區(qū)分大小寫。

            PRINTF

            printf

            是不同的標(biāo)識(shí)符

            用戶自定義的標(biāo)識(shí)符應(yīng)避開

            C

            語(yǔ)言的關(guān)鍵字及庫(kù)函數(shù)

            名。

            4.c語(yǔ)言的32個(gè)關(guān)鍵字:看附表,留印象

            二、數(shù)據(jù)類型、常量、變量、表達(dá)式

            注意:

            常用數(shù)據(jù)類型的關(guān)鍵字;

            常量的表達(dá)形式;

            變量的定義及賦值;

            各類表達(dá)式的計(jì)算規(guī)則;

            不同數(shù)據(jù)類型數(shù)據(jù)混合運(yùn)算時(shí)的類型轉(zhuǎn)

            換;

            典型問題:數(shù)據(jù)的混合計(jì)算、整數(shù)的分

            解、數(shù)據(jù)交換

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

            c語(yǔ)言中,整型、實(shí)型、字符型是最基本的數(shù)

            據(jù)類型.

            此外還有構(gòu)造類型,如數(shù)組,結(jié)構(gòu)體,共用體等。

            2.常量

            指在程序運(yùn)行中,其值不能被改變。

            分為整型常量、實(shí)型常量、字符常量、字符串常量。

            ?

            整型常量

            C

            語(yǔ)言中主要有十進(jìn)制、八進(jìn)制、十六進(jìn)制等:8進(jìn)制以0

            引導(dǎo),16進(jìn)制以0x或0X引導(dǎo),十進(jìn)制不能以0開頭.

            十進(jìn)制例如12、-3、32767等。

            八進(jìn)制用數(shù)字0開頭,由0-7這8個(gè)數(shù)字組成。

            例如010、016為合法八進(jìn)制數(shù)

            127、018為非法八進(jìn)制數(shù)

            十六進(jìn)制用數(shù)字0和字母x或X開頭,用0-9表示前10

            個(gè)數(shù)字,字母A-F(可小寫)表示后6個(gè)數(shù)字。

            例如0xAF、0x10、0x34為合法十六進(jìn)制數(shù)

            100、ABC、0xAFH為非法十六進(jìn)制數(shù)

            ?實(shí)型常量(float或double型)

            表示方式有兩種:小數(shù)形式和指數(shù)形式。

            小數(shù)形式:

            例如:0.123、.123、123.都是合法形式,為double型。

            0.123F(float型)

            指數(shù)形式:

            例如:2.3026可用以下任何一種指數(shù)表示

            0.23026E1

            2.3026e0

            23.026E-1

            但下面的指數(shù)形式為非法

            E3.5e3.6

            ?

            字符型常量

            一個(gè)字符常量占一個(gè)字節(jié)存儲(chǔ)空間.用單引號(hào)限定。有普

            通字符和轉(zhuǎn)義字符。如:

            普通字符:如

            ‘A’

            ’c’

            ’5‘

            都是合法的字符常量。

            轉(zhuǎn)義字符:如

            ’n’換行’’反斜杠

            ’’’單引號(hào)’”’雙引號(hào)

            ’ddd’三位八進(jìn)制’xhh’二位十六進(jìn)制

            0x41

            (表示以十六進(jìn)制數(shù)41為ASCII碼值的字符,即

            A

            的轉(zhuǎn)義字符形式).

            0

            (表示空字符,在字符串中用作字符串的結(jié)束標(biāo)志)

            注意:轉(zhuǎn)義字符表面上由多個(gè)字符

            組成,但在內(nèi)存中只占1字節(jié)的空

            間。

            ?字符串常量

            用英文雙引號(hào)括起來(lái).如:”hellon”

            ?

            字符串中的字符個(gè)數(shù)稱為字符串的長(zhǎng)度.空字符串長(zhǎng)度為

            0.

            ?

            字符串存儲(chǔ)中每個(gè)字符占一個(gè)字節(jié),字符串結(jié)尾自動(dòng)加一

            個(gè)結(jié)束標(biāo)志符’0’,所以字符串存儲(chǔ)的時(shí)候,占用的空

            間長(zhǎng)度要比串的實(shí)際長(zhǎng)度多1.

            strlen(“china”),求字符串的字

            符個(gè)數(shù),5(個(gè))

            sizeof(“china”),求字符串占用

            的存儲(chǔ)空間,6(字節(jié))

            注意下面兩種情況:

            (1)charch[100]={“Hello”};

            該串的長(zhǎng)度(字符個(gè)數(shù))為5,但數(shù)組ch

            的空間長(zhǎng)度為100。

            (2)charch[]={“Hello”};

            該串的長(zhǎng)度(字符個(gè)數(shù))為5,但數(shù)組ch

            的空間長(zhǎng)度為6。

            3.變量

            指在程序運(yùn)行過程中其值可以改變的量,表示存儲(chǔ)數(shù)據(jù)的空

            間,需要時(shí)要先定義。

            變量的命名必須符合標(biāo)識(shí)符的命名規(guī)則,且不能和

            C

            語(yǔ)言

            中關(guān)鍵字同名。

            (

            例如

            :main

            是關(guān)鍵字

            )

            例如

            :a

            b

            ab

            a_1

            為合法變量

            define

            printf

            為非法變量

            注意

            :ab

            是一個(gè)整體,含義不同于

            a

            乘以

            b

            變量定義,如:

            intx,a1,a2;

            charch1,ch2;

            floatm;

            doubles;

            ?

            VC++6.0下,int型數(shù)據(jù)占4個(gè)字節(jié),float型數(shù)據(jù)占4

            個(gè)字節(jié),double型數(shù)據(jù)占8個(gè)字節(jié),.char型數(shù)據(jù)占

            1個(gè)字節(jié).

            ?自加和自減運(yùn)算符

            例如:a++和++a等價(jià)于a=a+1

            b--和--b等價(jià)于b=b-1

            a++和++a的區(qū)別:

            假設(shè)a的初值為5

            表達(dá)式a++值為5,最后a值為6。

            表達(dá)式++a值為6,最后a值為6。

            ?

            條件運(yùn)算

            由"?"和":"構(gòu)成,它是根據(jù)條件從兩個(gè)表達(dá)式中選擇一個(gè)

            進(jìn)行計(jì)算取值的操作,優(yōu)先級(jí)高于賦值運(yùn)算符,低于算術(shù)運(yùn)

            算和關(guān)系運(yùn)算.

            例如:inta=1,b=2,c=3,d=4,z;

            z=(a>b)?c:d;結(jié)果:z值為4

            三、輸入輸出函數(shù)

            重點(diǎn):輸入輸出的格式控制

            1.數(shù)據(jù)輸出printf

            格式:printf(格式符,輸出項(xiàng)1,輸出項(xiàng)2,….)

            格式符功能

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

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

            %f輸出小數(shù)形式浮點(diǎn)數(shù)

            %e輸出指數(shù)形式浮點(diǎn)數(shù)

            %s輸出一個(gè)字符串

            數(shù)據(jù)寬度說(shuō)明:

            1)在%和格式字符之間插入一個(gè)整數(shù)來(lái)指定輸出寬度。

            例如:%4d、%5c

            2)對(duì)于float和double類型的實(shí)數(shù),可以用n1.n2形式

            n1指定輸出數(shù)據(jù)的寬度(包括小數(shù)點(diǎn)),n2指定小數(shù)

            點(diǎn)后小數(shù)的位數(shù)。

            例如:%12.3f、%12.0f

            題型:判斷輸出結(jié)果時(shí)格式的正確與否!

            例1輸出整型變量a和b的值,數(shù)據(jù)寬度均為4。

            printf(“a=%4d,b=%4d”,a,b);

            2

            輸出單精度變量

            k

            的值。

            printf(“%10.2f”,k);

            2.

            數(shù)據(jù)輸入

            scanf

            格式

            :scanf(

            格式符,輸入項(xiàng)

            1

            ,輸入項(xiàng)

            2

            …)

            格式符功能

            %c

            輸入一個(gè)字符

            %d

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

            %f

            輸入單精度數(shù)

            %lf

            輸入雙精度數(shù)

            %s

            輸入一個(gè)字符串

            題型:判斷輸入數(shù)據(jù)時(shí)的格式正確與否!

            1

            從鍵盤上輸入兩個(gè)整數(shù),保存在變量

            a

            b

            中。

            scanf(“%d%d”,&a,&b);

            2

            從鍵盤上輸入一個(gè)雙精度數(shù),保存在變量

            data

            中。

            scanf(“data=%lf”,&data);

            鍵盤輸入

            23.5

            ,則輸入格式應(yīng)為:

            data=23.5

            3.

            字符專用的

            getchar

            函數(shù)和

            putchar

            函數(shù)

            分別用來(lái)輸入字符和輸出字符。

            1

            從鍵盤上輸入一個(gè)字符保存在

            ch

            中。

            charch;

            ch=getchar();

            2charc1=’A’,c2;

            c2=c1+1;

            putchar(c2);

            輸出結(jié)果是

            ’B’

            3

            輸出一個(gè)回車換行符。

            putchar(‘n’);

            :

            從鍵盤上輸入一串字符,最后以

            ’!’

            為結(jié)束標(biāo)志。分別

            統(tǒng)計(jì)大寫字母,小寫字母、數(shù)字出現(xiàn)的次數(shù)。

            #include

            main()

            {

            charch;

            intn1=0,n2=0,n3=0;

            printf(“

            請(qǐng)輸入一串字符以

            !

            結(jié)束

            :n”);

            ch=getchar();//

            先輸入一個(gè)字符

            while(ch!='!')

            {

            if(ch>='A'&&ch<='Z')

            n1++;

            if(ch>='a'&&ch<='z')

            n2++;

            if(ch>='0'&&ch<='9')

            n3++;

            ch=getchar();//

            繼續(xù)輸入下一個(gè)字符

            }

            printf("

            大寫字母出現(xiàn)次數(shù)是

            %dn",n1);

            printf("

            小寫字母出現(xiàn)次數(shù)是

            %dn",n2);

            printf(“

            數(shù)字出現(xiàn)次數(shù)是

            %dn",n3);

            }

            4.

            字符串專用的輸入輸出函數(shù)

            gets()

            puts()

            例如:

            charstr[100];

            gets(ch);//

            輸入一個(gè)字符串存入字符數(shù)組

            str

            puts(ch);//

            輸出字符數(shù)組

            str

            中存放的字符串

            6

            .復(fù)合語(yǔ)句

            格式

            :

            {

            語(yǔ)句

            1

            語(yǔ)句

            2

            ….

            語(yǔ)句

            n

            }

            2若已經(jīng)定義

            inta,b;

            且已賦值,要將

            a

            b

            中的

            數(shù)進(jìn)行交換,下面選項(xiàng)中不正確的是

            A){a=a+b,b=a-b,a=a-b}

            B){t=a,a=b,b=t;}

            C){a=t;t=b;b=a;}

            D){t=b;b=a;a=t;}

            結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu):

            順序結(jié)構(gòu)、選擇結(jié)構(gòu)(分支結(jié)構(gòu))、循

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

            四、選擇結(jié)構(gòu)

            注意:

            條件表達(dá)式的構(gòu)造;關(guān)系運(yùn)算、邏輯運(yùn)

            算;

            選擇結(jié)構(gòu)的基本語(yǔ)句:

            if語(yǔ)句

            if-el

            if-el的嵌套結(jié)構(gòu)(el與if的匹配

            規(guī)則)

            switch語(yǔ)句的語(yǔ)法要求,執(zhí)行流程

            1.關(guān)系運(yùn)算符

            >

            <

            >=

            <=

            ==

            !=

            關(guān)系運(yùn)算的結(jié)果只有兩種

            :

            真或假

            C語(yǔ)言中關(guān)系運(yùn)算的結(jié)果為真用1表示,假

            用0表示。

            16>=6‘a(chǎn)’>’A’’1’<‘5’

            結(jié)果均為真,值為

            1

            26!=6‘D’==’d’‘9’>’F’

            結(jié)果均為假,值為

            0

            2.邏輯運(yùn)算符

            &&(

            )||(

            )!(

            )

            優(yōu)先級(jí)

            :!>&&>||

            1

            若變量

            a

            值為

            10

            ,變量

            b

            值為

            16

            ,計(jì)算表達(dá)式。

            a>b||a>sqrt(b)&&b>=16

            最后結(jié)果為真,表達(dá)式的值為

            1

            3.

            條件表達(dá)式的構(gòu)造:

            注意:

            數(shù)學(xué)上的表達(dá)式:0≤x≤10

            在C程序中的表達(dá):x>=0&&x<=10

            判斷char型變量ch中存放的是大寫字母或小寫字母:

            判斷整數(shù)n能否被整除m整除:

            判斷年份是否是閏年:

            語(yǔ)句

            單分支結(jié)構(gòu):

            if(條件表達(dá)式)語(yǔ)句

            若表達(dá)式為真,則執(zhí)行語(yǔ)句;否則if語(yǔ)句結(jié)束。

            注意:

            條件表達(dá)式可以是常量、變量、關(guān)系

            表達(dá)式、邏輯表達(dá)式

            當(dāng)常量、變量、關(guān)系表達(dá)式、邏輯表

            達(dá)式的取值不是0的時(shí)候,條件為真;

            若取值為0,則條件為假。

            -el:二選一

            if(條件表達(dá)式)

            {語(yǔ)句組1}

            el

            {語(yǔ)句組2}

            表達(dá)式的值非0表示真,執(zhí)行語(yǔ)句組1;否則,執(zhí)

            行語(yǔ)句組2.

            例1從鍵盤上輸入兩個(gè)整數(shù),輸出較大的數(shù)。

            #include

            main()

            {

            intx,y;

            printf(“請(qǐng)輸入兩個(gè)整數(shù):n”);

            scanf(“%d%d”,&x,&y);

            if(x>y)

            printf(“%d”,x);

            el

            printf(“%d”,y);

            }

            語(yǔ)句的嵌套

            多選一結(jié)構(gòu):

            if(表達(dá)式1)

            {語(yǔ)句組1}

            elif(表達(dá)式2)

            {語(yǔ)句組2}

            elif(表達(dá)式3)

            {語(yǔ)句組3}

            el

            {語(yǔ)句組n}

            注意:

            el與if的配對(duì)規(guī)則:

            el總是與它前面的、最近的、沒有

            與其他el進(jìn)行配對(duì)的if進(jìn)行配對(duì)。

            1

            根據(jù)輸入的學(xué)生成績(jī),大于或等于

            90

            分為

            A

            60

            分以下等級(jí)為

            E

            ,其余每

            10

            分一個(gè)等級(jí)。

            #include

            main()

            {

            intg;

            printf(“

            請(qǐng)輸入一個(gè)整數(shù)

            :n”);

            scanf(“%d”,&g);

            if(g>=90)printf(“An”);

            elif(g>=80)printf(“Bn”);

            elif(g>=70)printf(“Cn”);

            elif(g>=60)printf(“Dn”);

            elprintf(“En”);

            }

            語(yǔ)句

            一般格式:

            switch(表達(dá)式)/*switch表達(dá)式為整

            型或字符型值!*/

            {

            ca常量1:語(yǔ)句組1/*ca后面必須是

            常量或常量表達(dá)式!*/

            ca常量2:語(yǔ)句組2

            .........

            default:語(yǔ)句組//也可省略該語(yǔ)句

            }

            可以使用break語(yǔ)句來(lái)中止后面語(yǔ)句的執(zhí)行.

            ?

            switch表達(dá)式通常為整型或字符型值,ca中的常量類

            型與之對(duì)應(yīng),ca后面的表達(dá)式可以是常量或常量表達(dá)

            式,不能為變量表達(dá)式.

            若表達(dá)式的值與表達(dá)式1相等,則執(zhí)行語(yǔ)句1;若與表達(dá)

            式2相等,則執(zhí)行語(yǔ)句2……若均不相等則執(zhí)行語(yǔ)句n。

            例1分析switch語(yǔ)句的執(zhí)行

            #include

            main()

            {

            intg=3;

            switch(g)

            {

            ca1:printf(“****n”);break;

            ca2:printf(“

            n”);break;

            ca3:printf(“&&&&n”);

            ca4:printf(“@@@@n”);break;

            ca5:printf(“$$$$n”);break;

            default:printf(“~~~~n”);

            }

            }

            程序運(yùn)行結(jié)果:&&&&@@@@

            五、循環(huán)結(jié)構(gòu)

            注意:

            三種循環(huán)語(yǔ)句:

            while語(yǔ)句、do-while語(yǔ)句、for語(yǔ)句

            語(yǔ)法格式,流程理解;運(yùn)用;while循

            環(huán)和do-while循環(huán)的區(qū)別

            典型問題:

            一組有規(guī)律的數(shù)的求和、求積數(shù)、

            素?cái)?shù)判斷(特別重要)

            循環(huán)

            格式

            :

            while(

            條件表達(dá)式

            )

            循環(huán)體

            若條件表達(dá)式為真,則執(zhí)行循環(huán)體。再判斷表達(dá)式,若仍為

            真,則重復(fù)執(zhí)行循環(huán)體直到表達(dá)式為假時(shí)循環(huán)結(jié)束。

            注意:

            條件表達(dá)式可以是常量、變量、關(guān)系

            表達(dá)式、邏輯表達(dá)式

            當(dāng)常量、變量、關(guān)系表達(dá)式、邏輯表

            達(dá)式的取值不是0的時(shí)候,條件為真;

            若取值為0,則條件為假。

            1

            編程計(jì)算

            S=1+2+……100

            #include

            main()

            {

            intk=1

            s=0;//

            和數(shù)變量初始值為

            0

            ,切記!

            while(k<=100)

            {s=s+k;

            k=k+1;//

            循環(huán)變量變化,必須的!

            }

            printf(“%d”,s);

            }

            -while循環(huán)

            格式

            :

            do

            循環(huán)體

            while(

            表達(dá)式

            );

            先執(zhí)行循環(huán)體,然后判斷表達(dá)式。若為真則重復(fù)執(zhí)行

            循環(huán)體直到表達(dá)式為假時(shí)循環(huán)結(jié)束。

            1

            do-while

            循環(huán)計(jì)算

            10!

            #include

            main()

            {

            intk=1;

            doubles=1;//

            積數(shù)變量初始值為

            1

            ,切記!

            do

            {s=s*k;k++;}

            while(k<=10);

            printf(“%ld”,s);

            }

            注意:while循環(huán)和do-while循環(huán)

            的區(qū)別

            while循環(huán)是先判斷表達(dá)式,因

            此循環(huán)體有可能一次也不執(zhí)行。

            do-while循環(huán)是先執(zhí)行一次循

            環(huán)體,再判斷表達(dá)式,所以不論

            表達(dá)式為真為假,循環(huán)體至少要

            執(zhí)行一次。

            循環(huán)

            格式

            :

            for(

            表達(dá)式

            1;

            表達(dá)式

            2;

            表達(dá)式

            3)

            循環(huán)體

            先執(zhí)行表達(dá)式

            1

            ,然后判斷表達(dá)式

            2

            ,若為真則執(zhí)行

            循環(huán)體。然后執(zhí)行表達(dá)式

            3

            ,再判斷表達(dá)式

            2

            ,若仍

            為真則重復(fù)執(zhí)行循環(huán)體直到表達(dá)式

            2

            為假時(shí)結(jié)束。

            1

            for

            循環(huán)計(jì)算

            S=1+2+…100

            #include

            main()

            {

            intk,sum=0;

            for(k=1;k<=100;k++)

            sum=sum+k;

            printf(“%d”,sum);

            }

            2

            若一個(gè)三位數(shù)個(gè)位、十位、百位的立方和等于它本身

            則稱這個(gè)數(shù)為水仙花數(shù)。例如

            153

            是一個(gè)水仙花數(shù)。

            編程輸出所有的水仙花數(shù)。

            #include

            main()

            {

            inta,b,c,i;

            for(i=100;i<=999;i++)

            {

            a=i/100;

            b=i%100/10;

            c=i%10;

            if(a*a*a+b*b*b+c*c*c==i)

            printf("%dn",i);

            }

            }

            4.令循環(huán)中斷的break語(yǔ)句

            break語(yǔ)句可以用在switch語(yǔ)句中用于結(jié)束某分

            支的執(zhí)行,也可用在循環(huán)語(yǔ)句中,使循環(huán)提前結(jié)束。

            用在循環(huán)體內(nèi)表示強(qiáng)行退出循環(huán)。

            例1計(jì)算S=1+2+3+…n,直到累加和大于5000為止。

            #include

            main()

            {

            inti,s=0;

            for(i=1;;i++)

            {

            s=s+i;

            if(s>5000)break;

            }

            printf(“%d”,s);

            }

            注意:當(dāng)有多重循環(huán)時(shí),break只能退出最內(nèi)層循環(huán)。

            素?cái)?shù)判斷的算法!

            ue語(yǔ)句

            用在循環(huán)體中用來(lái)跳過本次循環(huán)余下的語(yǔ)句,立即開

            始下一輪循環(huán)的判斷和執(zhí)行,整個(gè)循環(huán)并未因

            continue

            結(jié)束。

            1

            寫出下列程序運(yùn)行結(jié)果。

            inti,k=0,s=0;

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

            {

            s=s+i;

            if(s>5)

            {printf(“i=%d,s=%d,k=%dn”,i,s,k);

            continue;

            }

            k=k+s;

            printf(“i=%d,s=%d,k=%dn”,i,s,k);

            }

            運(yùn)行結(jié)果

            :

            i=1,s=1,k=1

            i=2,s=3,k=4

            i=3,s=6,k=4

            i=4,s=10,k=4

            i=5,s=15,k=4

            六、數(shù)組

            注意:

            數(shù)組的定義和初始化、數(shù)組與循環(huán)的結(jié)

            合、數(shù)組的應(yīng)用(如:最大值最小值問

            題、)、字符串與字符數(shù)組

            數(shù)組是包含多項(xiàng)相同類型數(shù)據(jù)的一種數(shù)據(jù)結(jié)構(gòu),它使用同一

            個(gè)名字命名,再用下標(biāo)進(jìn)行分量標(biāo)識(shí).數(shù)組元素的下標(biāo)從0

            開始,數(shù)組長(zhǎng)度為n時(shí),最末元素的下標(biāo)是n-1.

            1.

            定義一維數(shù)組

            一維數(shù)組定義格式

            數(shù)據(jù)類型數(shù)組名[數(shù)組長(zhǎng)度];

            //數(shù)組長(zhǎng)度指數(shù)組中可以存放的數(shù)據(jù)元素的個(gè)數(shù),用整數(shù)

            常量表示,也可用代表一個(gè)正整數(shù)的符號(hào)常量表示

            1

            定義一個(gè)包含

            4

            個(gè)整數(shù)的數(shù)組

            a

            inta[4];

            2

            定義一個(gè)包含

            3

            個(gè)雙精度數(shù)的數(shù)組

            b

            doubleb[3];

            注意

            :C

            語(yǔ)言中數(shù)組的下界從

            0

            開始計(jì)數(shù)。

            例如

            :a[4]

            4

            個(gè)元素分別為

            a[0]

            a[1]

            a[2]

            a[3]

            數(shù)組有一維數(shù)組,二維數(shù)組,和多維數(shù)組.數(shù)組中的每一個(gè)分

            量稱為一個(gè)數(shù)組元素。

            2.

            數(shù)值型一維數(shù)組的初始化

            用一對(duì)大括號(hào)將數(shù)組的初值括起來(lái)。

            例如:inta[6]={10,20,30,40,50,60};

            注意:C語(yǔ)言中,不允許初值個(gè)數(shù)多于數(shù)組定義的長(zhǎng)度。

            inta[]={10,20,30,40,50,60};

            給初值的情況下,數(shù)組的長(zhǎng)度可省略,系統(tǒng)以初值的個(gè)數(shù)作

            為數(shù)組的長(zhǎng)度。

            ?

            對(duì)部分元素的初始化,例如:inta[6]={10,20,30}是對(duì)前

            3個(gè)元素的賦值.

            例1inta[3]={1,2,3};

            此例中a[0]值為1、a[1]值為2、a[2]值為3

            例2inta[5]={0};

            此例中數(shù)組a的全部元素值均為0

            例3inta[3]={1,2,3,4};

            此例中由于初值個(gè)數(shù)多于數(shù)組元素個(gè)數(shù),所以非法。

            4inta[]={0,0,0,0};

            此例中省略數(shù)組元素個(gè)數(shù),初值為

            4

            個(gè)

            0

            等價(jià)于

            inta[4]={0};

            注意

            :

            數(shù)組名是一個(gè)常量值,不能對(duì)它賦值。

            例如

            :inta[3];

            a=5;

            此語(yǔ)句非法,應(yīng)改為

            a[0]=5;

            3.一維數(shù)組應(yīng)用

            例1從鍵盤上輸入10個(gè)整數(shù),輸出最大數(shù)和最小數(shù)。

            #include

            main()

            {

            inta[10],i,max,min;

            printf("

            請(qǐng)輸入

            10

            個(gè)整數(shù)

            :n");

            for(i=0;i<=9;i++)

            scanf("%d",&a[i]);

            max=a[0];

            min=a[0];

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

            {

            if(a[i]>max)max=a[i];

            if(a[i]

            }

            printf("

            最大數(shù)是

            %dn",max);

            printf("

            最小數(shù)是

            %dn",min);

            }

            例2斐波數(shù)列的定義如下:

            1、1、2、3、5、8、13、……

            編程輸出斐波數(shù)列的第40項(xiàng)值。

            #include

            main()

            {

            longa[40];

            inti;

            a[0]=1;

            a[1]=1;

            for(i=2;i<=39;i++)

            a[i]=a[i-1]+a[i-2];

            printf("%ld",a[39]);

            }

            4.

            字符數(shù)組

            字符串用字符數(shù)組存放。每元素存放一個(gè)字符.

            如:

            charch[]={'x10','x21','x1f','x5a'};

            該數(shù)組中的初值字符為轉(zhuǎn)義字符。

            ?

            字符串

            用雙引號(hào)將一串字符括起來(lái)稱字符串。如:

            ”Hello,world!”

            C

            語(yǔ)言中用一維數(shù)組來(lái)存放,并以

            ’0’

            作為結(jié)束標(biāo)志。

            ‘0’

            就是

            0

            ,占用空間但不計(jì)入串的實(shí)際長(zhǎng)度。

            例如

            :

            字符串

            ”student”

            的長(zhǎng)度為

            7

            ,占用空間為

            8

            通常利用字符數(shù)組存放字符串。如:

            charstr[20]={"hello"};

            該字符串的實(shí)際長(zhǎng)度為5個(gè)字符,占用的數(shù)組空間長(zhǎng)度為20

            '0'是字符串的結(jié)束標(biāo)志.系統(tǒng)在存放一個(gè)字符串時(shí),會(huì)在

            串的最后一個(gè)字符后添加'0'。

            ?

            任何一個(gè)一維數(shù)組在內(nèi)存中都占用一段連續(xù)的空間.

            ?

            用"%s"格式輸入字符串時(shí),遇到回車鍵結(jié)束,但獲得的字

            符中不包含回車鍵本身,而是在字符串末尾添加'0'.

            ?

            使用一個(gè)一維scanf()函數(shù)使用"%s"格式輸入多個(gè)字符

            串時(shí),輸入的各字符串之間要以空格鍵分隔.

            如:charch[20];

            scanf(“%s”,ch);//從鍵盤輸入一個(gè)字符串存入數(shù)組ch

            ?

            用%s格式符為一個(gè)字符數(shù)組輸入字符串時(shí),只有第一個(gè)

            空格之前的字符串被讀入到字符數(shù)組中.

            如:對(duì)上面的ch數(shù)組,輸入“Helloworld!”則只有空

            格前面的“Hello”被存入數(shù)組。

            ?字符串常用函數(shù)

            使用下列函數(shù)時(shí)要包含頭文件

            1)字符串拷貝函數(shù)

            strcpy(s1,s2)

            表示將s2復(fù)制到s1中。

            2)字符串連接函數(shù)

            strcat(s1,s2)

            表示將s2連接到s1后面形成一個(gè)新字符串。

            3)字符串長(zhǎng)度函數(shù)

            strlen(s)

            計(jì)算出

            s

            的實(shí)際長(zhǎng)度不包括

            ’0’

            4)

            字符串比較函數(shù)

            strcmp(s1,s2)

            s1>s2,

            函數(shù)返回值大于

            0

            s1=s2,

            函數(shù)返回值等于

            0

            s1

            函數(shù)返回值小于

            0

            ?

            字符串應(yīng)用

            1

            從鍵盤上輸入一個(gè)字符串,輸出它的長(zhǎng)度。

            #include

            #include

            main()

            {

            char*p,str[100];

            p=str;

            printf("

            請(qǐng)輸入一個(gè)字符串

            :n");

            gets(p);

            printf("%d",strlen(p));

            }

            5.定義二維數(shù)組

            ?

            定義格式

            :

            類型名數(shù)組名

            [

            一維上界

            ][

            二維上界

            ]

            1

            定義一個(gè)

            2

            2

            列的整型數(shù)組

            a

            inta[2][2];

            此例中數(shù)組

            a

            共有

            4

            個(gè)元素,分別是

            a[0][0]

            a[0][1]

            a[1][0]

            a[1][1]

            2

            定義一個(gè)

            4

            4

            列的整型矩陣

            a

            inta[4][4];

            ?

            二維數(shù)組的初始化

            用嵌套的大括號(hào)將數(shù)組初值括起來(lái)。

            1inta[4][3]={{1,2,3},{4,5,6},{7,8,9},{10,11,12}};

            2inta[4][3]={{1,2},{4,5},{7},{10}};

            此例中系統(tǒng)自動(dòng)給空缺的地方補(bǔ)

            0

            3inta[4][3]={{1,2},{4,5}};

            系統(tǒng)自動(dòng)給后面的行補(bǔ)初值

            0

            4inta[4][3]={1,2,4,5};

            此例中數(shù)組

            a

            的第一行中元素和第二行的第一個(gè)

            元素依次為

            1,2,4,5

            其余全部為

            0

            ?

            定義二維數(shù)組大小

            1inta[][3]={{1,2,3},{4,5},{6},{8}};

            4

            個(gè)行花括號(hào)

            ,

            因此說(shuō)明是

            4

            3

            列。

            2inta[][3]={1,2,3,4,5};

            表示一個(gè)

            2

            3

            列數(shù)組。

            ?定義并初始化二維數(shù)組時(shí),數(shù)組的列

            數(shù)(第二維)不能省略!

            如:

            inta[2][]={{1,2},{3,4,5}};是錯(cuò)誤的。

            ?二維數(shù)組應(yīng)用

            例:從鍵盤上輸入5個(gè)學(xué)生3門課程的成績(jī),分別計(jì)算

            每個(gè)學(xué)生的平均分和每門課程的平均分。

            #include

            #defineM5

            #defineN3

            main()

            {

            inta[M][N],i,j,sum;

            printf("請(qǐng)輸入15個(gè)分?jǐn)?shù)(0-100):n");

            for(i=0;i<=M-1;i++)

            for(j=0;j<=N-1;j++)

            scanf("%d",&a[i][j]);

            printf("每個(gè)學(xué)生的平均分n");

            for(i=0;i<=M-1;i++)

            {

            sum=0;

            for(j=0;j<=N-1;j++)

            sum=sum+a[i][j];

            printf("%4d",sum/N);

            }

            printf("n");

            printf("

            每門課程的平均分

            n");

            for(i=0;i<=N-1;i++)

            {

            sum=0;

            for(j=0;j<=M-1;j++)

            sum=sum+a[j][i];

            printf("%4d",sum/M);

            }

            }

            七、函數(shù)

            注意:

            函數(shù)的種類:庫(kù)函數(shù)、自定義函數(shù);

            函數(shù)的定義;

            函數(shù)的參數(shù):形參、實(shí)參、參數(shù)的個(gè)數(shù);

            函數(shù)的類型;

            函數(shù)的聲明;

            函數(shù)調(diào)用過程中參數(shù)傳遞問題;

            1.函數(shù)的定義

            ?

            帶返回值的函數(shù)

            格式

            :

            類型名函數(shù)名

            (

            參數(shù)列表

            )

            {

            語(yǔ)句

            return

            返回值

            }

            1

            已知

            F(X)=2*X+3

            ,計(jì)算

            F(1)+F(2)+….F(10)

            的值。

            #include

            intf(intx)

            {

            return2*x+3;

            }

            voidmain()

            {

            inti,sum=0;

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

            sum=sum+f(i);

            printf("%d",sum);

            }

            2

            編程輸出

            2

            100

            之間所有的素?cái)?shù)之和。

            #include

            intisprime(intnum)

            {

            inti;

            for(i=2;i<=num-1;i++)

            if(num%i==0)

            return0;

            return1;

            }

            voidmain()

            {

            inti,sum=0;

            for(i=2;i<=100;i++)

            if(isprime(i)==1)

            sum=sum+i;

            printf("%d",sum);

            }

            3

            從鍵盤上輸入兩個(gè)整數(shù),分別輸出它們的最大公約數(shù)

            和最小公倍數(shù)。

            #include

            intgetmax(inta,intb)

            {

            intresult;

            result=a

            while(a%result!=0||b%result!=0)

            result=result-1;

            returnresult;

            }

            intgetmin(inta,intb)

            {

            intresult=1;

            while(result%a!=0||result%b!=0)

            result=result+1;

            returnresult;

            }

            voidmain()

            {

            inta,b;

            printf("

            請(qǐng)輸入兩個(gè)整數(shù)

            :n");

            scanf("%d%d",&a,&b);

            printf("

            最大公約數(shù)是

            %dn",getmax(a,b));

            printf("

            最小公倍數(shù)是

            %dn",getmin(a,b));

            }

            ?

            不帶返回值的函數(shù)

            格式

            :

            void

            函數(shù)名

            (

            參數(shù)列表

            )

            {

            語(yǔ)句

            }

            ?

            函數(shù)的類型

            表示函數(shù)返回值的類型,是函數(shù)定義

            時(shí),函數(shù)名前面的標(biāo)識(shí)符,若缺省,則

            系統(tǒng)默認(rèn)為int型。

            ?

            函數(shù)調(diào)用過程中的傳值和傳地址

            傳值是指子程序中變量的變化不會(huì)影響主程序變量。

            傳地址是指子程序中變量的變化會(huì)影響主程序變量。

            1

            交換兩變量

            a

            b

            的值。

            (

            傳值方式

            )

            #include

            voidchange(inta,intb)

            {

            intt;

            {t=a;a=b;b=t;}

            }

            voidmain()

            {

            inta=3,b=5;

            printf("a=%db=%dn",a,b);

            change(a,b);

            printf("a=%db=%dn",a,b);

            }

            運(yùn)行結(jié)果

            :

            a=3b=5

            a=3b=5

            函數(shù)

            change(inta,intb)

            為傳值方式,最后

            a

            b

            的值

            并未交換。故傳值方式不能改變主程序變量的值。

            2

            交換兩變量

            a

            b

            的值。

            (

            傳地址方式

            )

            #include

            voidchange(int*a,int*b)

            {

            intt;

            {t=*a;*a=*b;*b=t;}

            }

            voidmain()

            {inta=3,b=5;

            printf("a=%db=%dn",a,b);

            change(&a,&b);

            printf("a=%db=%dn",a,b);

            }

            運(yùn)行結(jié)果

            :

            a=3b=5

            a=5b=3

            函數(shù)

            change(int*a,int*b)

            為傳地址方式,最后

            a

            b

            的值

            成功交換。故傳地址方式能改變主程序變量的值。

            八、指針

            ?

            指針變量初始化的方法inta;

            int*p=&a;

            ?

            賦值語(yǔ)句的方法inta;

            int*p;

            p=&a;

            不允許把一個(gè)數(shù)賦予指針變量,故下面的賦值是錯(cuò)誤

            的:int*p;p=1000;被賦值的指針變量前不能再加“*”

            說(shuō)明符,如寫為*p=&a也是錯(cuò)誤的。

            ?

            通過指針變量獲得地址值

            通過賦值語(yǔ)句將一個(gè)指針變量的值賦給另一個(gè)指針變量。

            如:int*p,*q,a=0;

            p=&a;

            q=p;

            則指針變量p和q保存的是同一個(gè)變量a的地址,即p

            和q指向同一個(gè)整型變量。對(duì)p指向的變量的操作也就是對(duì)

            q指向的變量的操作。

            如:*p++;printf(“%d”,*q);的輸出結(jié)果為1。

            ?

            給指針變量賦“空”值

            在stdio.h頭文件中,系統(tǒng)定義了一個(gè)符號(hào)常量NULL,

            其值為0,可通過給指針變量賦一個(gè)“空”值(即0值),使

            其不指向任何內(nèi)存單元,方法為:

            p=NULL;或p=0;或p=’0’;

            指針變量定義及賦值,舉例:

            1

            定義兩個(gè)指向整型變量的指針

            p1

            p2

            int*p1,*p2;

            2

            定義兩個(gè)整型變量

            m

            n

            及兩個(gè)指針

            p

            q

            ,并使

            p

            q

            分別指向

            m

            n

            intm,n,*p,*q;

            p=&m;

            表示

            p

            存放變量

            m

            的地址

            q=&n;

            表示

            q

            存放變量

            n

            的地址

            3

            定義一個(gè)包含

            10

            個(gè)整數(shù)的數(shù)組

            a

            和一個(gè)指針

            p

            ,并

            使

            p

            指向

            a

            inta[10],*p;

            p=a;

            表示

            p

            指向數(shù)組

            a

            的首地址,即

            a[0]

            的地址。

            注意

            :

            3

            p=a

            不能寫成

            p=&a

            ,因?yàn)?/p>

            a

            本身就是地址。

            3

            指針間的賦值

            假設(shè)已有下列定義

            :

            int*q,*p,k=0;

            q=&k;

            例如

            :p=q;

            表示兩指針間賦值,讀作

            p

            指向

            q

            此時(shí)

            p

            q

            均指向變量

            k

            的地址。

            4

            空指針

            C

            語(yǔ)言中空值用

            NULL

            表示,其值為

            0

            5

            定義指針時(shí)可以給指針賦值

            NULL

            例如

            :int*p=NULL;

            表示

            p

            沒有指向任何地址

            等價(jià)于

            p=’0’;

            p=0;

            注意

            :

            此時(shí)指針

            p

            沒有實(shí)際單元,所以暫時(shí)不能訪問。

            6

            通過指針引用存儲(chǔ)單元

            假設(shè)已有下列定義

            :

            int*p,m,n=0;

            p=&n;

            例如

            :m=*p;

            表示將

            p

            指向存儲(chǔ)單元內(nèi)容給變量

            m

            等價(jià)于

            m=n;

            *p=*p+1;

            等價(jià)于

            n=n+1;

            注意

            :*p=*p+1;

            還可以寫成下面的形式

            *p+=1;

            ++*p;

            (*p)++;

            7

            指針的移動(dòng)

            當(dāng)指針指向一片連續(xù)空間時(shí),移動(dòng)才有意義。

            假設(shè)已有下列定義

            :

            inta[5],*p,*q,k;

            p=a;

            例如

            :q=p+2;

            表示將

            q

            指向元素

            a[2]

            的地址

            p++;

            表示將

            p

            向后移一個(gè)單元

            q--;

            表示將

            q

            向前移一個(gè)單元

            k=p[2];

            等價(jià)于

            k=a[3];

            8

            指針的比較

            若兩指針指向一片連續(xù)空間,可比較大小。

            假設(shè)已有下列定義

            :

            inta[10],*p,*q,k;

            p=a;

            q=p+2;

            例如

            :if(p

            小于

            q”);

            由于條件成立,所以輸出

            p

            小于

            q

            k=q-p;

            表示

            p

            q

            之間相差的元素個(gè)數(shù)

            最后

            k

            值為

            2

            ?

            函數(shù)之間地址值的傳遞

            1)形參為指針變量時(shí)實(shí)參和形參之間的數(shù)據(jù)傳遞

            在函數(shù)調(diào)用過程中,主調(diào)函數(shù)通過實(shí)參傳遞給被調(diào)函數(shù)的

            形參,這種調(diào)用稱為傳值調(diào)用。形參的改變不會(huì)影響實(shí)參。

            如果實(shí)參傳遞給形參的不是普通變量,而是地址,則形參

            和實(shí)參指向的實(shí)際上是同一個(gè)內(nèi)存單元,形參指向的存儲(chǔ)

            單元的改變,也就是實(shí)參指向的存儲(chǔ)單元的改變。這種將

            地址作為參數(shù)傳遞的調(diào)用方式稱為傳引用調(diào)用。

            例:

            傳值調(diào)用:

            main()

            {

            inta=1,b=2;

            fun(a,b);

            printf(“%d,%d”,a,b);

            }

            voidfun(intp,intq)

            {

            intt;

            t=p;p=q;q=t;

            }

            輸出結(jié)果:1,2輸出結(jié)果:2,1

            傳引用調(diào)用時(shí)應(yīng)當(dāng)注意實(shí)參的基類型必須與形參的基類

            型一致。

            通過這種方式,可以在被調(diào)函數(shù)中直接改變主調(diào)函數(shù)中變

            量的值。

            傳引用調(diào)用:

            main()

            {

            inta=1,b=2;

            fun(&a,&b);

            printf(“%d,%d”,a,b);

            }

            voidfun(int*p,int*q)

            {

            int*t;

            t=p;p=q;q=t;

            }

            ?

            函數(shù)返回地址值

            函數(shù)的返回值不光可以為基本類型,還可以為指針類型,

            即可以定義返回指針的函數(shù),稱為指針型函數(shù)。

            其一般定義形式如下:

            基類型*函數(shù)名(形參表)

            {

            函數(shù)體

            }

            其形參一般為指針。

            注意:在被調(diào)函數(shù)中定義的變量屬于局部變量,其生存期

            為函數(shù)執(zhí)行過程中。當(dāng)被調(diào)函數(shù)執(zhí)行完返回主調(diào)函數(shù)中時(shí),

            被調(diào)函數(shù)中定義的變量將不再存在。所以,如果被調(diào)函數(shù)返

            回的地址是被調(diào)函數(shù)中定義的變量的地址,則返回的地址值

            無(wú)效。

            ?

            指針的應(yīng)用

            1

            從鍵盤上輸入兩個(gè)整數(shù),輸出較大數(shù)。

            (

            要求使用指針

            )

            #include

            main()

            {

            inta,b,*p,*q;

            p=&a;

            q=&b;

            printf("

            請(qǐng)輸入兩個(gè)整數(shù)

            :n");

            scanf("%d%d",p,q);

            if(*p>*q)

            printf("%d",*p);

            el

            printf("%d",*q);

            }

            2

            從鍵盤上輸入

            10

            個(gè)整數(shù),輸出最大數(shù)和最小數(shù)。

            #include

            main()

            {

            inta[10],*p,k,max,min;

            p=a;

            printf("

            請(qǐng)輸入

            10

            個(gè)整數(shù)

            :n");

            for(k=0;k<=9;k++)

            scanf("%d",&p[k]);

            max=p[0];

            min=p[0];

            for(k=1;k<=9;k++)

            {

            if(p[k]>max)max=p[k];

            if(p[k]

            }

            printf("

            最大數(shù)是

            %dn",max);

            printf("

            最小數(shù)是

            %dn",min);

            }

            九、指針處理字符串

            例1定義一個(gè)未知長(zhǎng)度的字符串s。

            char*s=”Hello”;

            此例采用指針方式,

            s

            指向字符串

            ”Hello”

            的起始地址

            ?

            字符串的賦值

            假設(shè)已有下列定義

            :

            char*sp,s[6];

            1

            sp

            賦值

            ”hello”

            ,讓指針變量

            sp

            指向字符串。

            sp=”hello”;

            2

            給字符數(shù)組

            s

            賦值

            ”hello”

            strcpy(s,”hello”);

            表示將

            ”hello”

            復(fù)制到

            s

            3

            給字符數(shù)組

            s

            賦值

            ”student”

            strcpy(s,”student”);

            此例語(yǔ)法上沒有錯(cuò)誤,但數(shù)組

            s

            空間不夠,最后

            會(huì)產(chǎn)生錯(cuò)誤結(jié)果。

            注意:

            1)例2不能寫成s=”hello”;因?yàn)閟是數(shù)組名即地址常量,

            故不能直接賦值。

            2)strcpy為字符串函數(shù),需要包含頭文件

            ?

            字符數(shù)組的單獨(dú)賦值

            1charstr[10]={‘s’,‘t’,‘r’,‘i’,‘n’,‘g’,‘!’,‘0’};

            此例中數(shù)組

            str

            10

            個(gè)元素

            ,

            最后

            2

            個(gè)元素也是

            ’0’

            此字符串共占

            10

            個(gè)空間,實(shí)際長(zhǎng)度為

            7

            。此例中

            若省略

            ’0’

            效果相同。

            2charstr[]={‘s’,‘t’,‘r’,‘i’,‘n’,‘g’,‘!’,‘0’};

            此例定義一個(gè)包含

            7

            個(gè)字符的字符串,最后一個(gè)

            ’0’

            不能省略。此時(shí)

            str

            可以作為字符串使用。

            3charstr[]={‘s’,‘t’,‘r’,‘i’,‘n’,‘g’,‘!’};

            此例只是定義一個(gè)

            7

            個(gè)字符的數(shù)組,但由于沒有

            ’0’

            str

            不能作為字符串使用,否則會(huì)產(chǎn)生錯(cuò)誤。

            9

            字符數(shù)組的整體賦值

            1charstr[10]={“string!”};

            charstr[10]=”string!”;

            以上兩種寫法都是合法的,效果相同。

            2charstr[7]=”string!”;

            這種方法雖然語(yǔ)法上沒有錯(cuò),但由于

            ’0’

            沒有放入

            注意:

            數(shù)組中,可能會(huì)產(chǎn)生錯(cuò)誤結(jié)果。

            將上述語(yǔ)句改為charstr[]=”string!”;

            就完全正確了,系統(tǒng)自動(dòng)計(jì)算數(shù)組大小。

            這種寫法簡(jiǎn)單又不會(huì)出錯(cuò),推薦使用。

            10

            字符串的輸入和輸出

            使用

            scanf

            printf

            時(shí),格式符均為

            %s

            1charstr[15];

            scanf(“%s”,str);

            表示將輸入的一串字符依次存放在

            str

            中。

            2charstr[15];

            scanf(“%s”,&str[3]);

            表示將輸入的一串字符從第

            4

            個(gè)元素的地址開始

            依次存放。

            3charstr[15],*p;

            p=str;

            scanf(“%s”,p);

            這和例

            1

            功能相同,只是使用指針方法。

            4charstr[]=”student”;

            printf(“%s”,str);

            表示輸出整個(gè)字符串

            str

            的內(nèi)容。

            ?

            字符串應(yīng)用

            1

            從鍵盤上輸入一個(gè)字符串,輸出它的長(zhǎng)度。

            #include

            #include

            main()

            {

            char*p,str[100];

            p=str;

            printf("

            請(qǐng)輸入一個(gè)字符串

            :n");

            gets(p);

            printf("%d",strlen(p));

            }

            2

            從鍵盤上輸入一個(gè)字符串,輸出其反字符串。

            方法一

            (

            單個(gè)輸出法

            )

            #include

            #include

            main()

            {

            chars[100];

            inti;

            printf("

            請(qǐng)輸入一個(gè)字符串

            :n");

            scanf("%s",s);

            for(i=strlen(s)-1;i>=0;i--)

            printf("%c",s[i]);

            }

            方法二

            (

            整體輸出法

            )

            #include

            #include

            main()

            {

            chars1[100],s2[100];

            inti,j=0;

            printf("

            請(qǐng)輸入一個(gè)字符串

            :n");

            scanf("%s",s1);

            for(i=strlen(s1)-1;i>=0;i--)

            s2[j++]=s1[i];

            s2[j]='0';

            printf("%s",s2);

            }

            本文發(fā)布于:2023-03-03 12:51:37,感謝您對(duì)本站的認(rèn)可!

            本文鏈接:http://www.newhan.cn/zhishi/a/1677819098121003.html

            版權(quán)聲明:本站內(nèi)容均來(lái)自互聯(lián)網(wǎng),僅供演示用,請(qǐng)勿用于商業(yè)和其他非法用途。如果侵犯了您的權(quán)益請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除。

            本文word下載地址:c語(yǔ)言知識(shí)點(diǎn).doc

            本文 PDF 下載地址:c語(yǔ)言知識(shí)點(diǎn).pdf

            上一篇:植物景觀
            下一篇:返回列表
            相關(guān)文章
            留言與評(píng)論(共有 0 條評(píng)論)
               
            驗(yàn)證碼:
            推薦文章
            排行榜
            Copyright ?2019-2022 Comsenz Inc.Powered by ? 實(shí)用文體寫作網(wǎng)旗下知識(shí)大全大全欄目是一個(gè)全百科類寶庫(kù)! 優(yōu)秀范文|法律文書|專利查詢|
            主站蜘蛛池模板: 国产精品色内内在线播放| 四虎成人在线观看免费| 国产亚洲精品VA片在线播放 | 99精品国产一区二区三区不卡| 99久久精品国产一区二区暴力| 粉嫩av蜜臀一区二区三区| 精品国产中文字幕在线| 欧洲尺码日本尺码专线美国又| 热99精品视频| 国产高清看片日韩欧美久久| 无人区码一码二码三码区| 无套后入极品美女少妇| 精品国产午夜福利在线观看| 欧美成人www在线观看| 人妻偷拍一区二区三区| 午夜激情福利在线免费看| 日韩精品人妻av一区二区三区| yy111111在线尤物| 国产亚洲一二三区精品| 99精品国产成人一区二区| 免费无码高潮流白浆视频| 亚洲丰满熟女一区二区蜜桃| 国产精品久久久久久福利69堂| 国产精品麻豆成人av| 亚洲精品成人久久av| 亚洲av无码精品色午夜蛋壳| 图片区偷拍区小说区五月| 精品人妻日韩中文字幕| 亚洲中文久久久精品无码| 久久精品国产色蜜蜜麻豆| AVtt手机版天堂网国产| 国内大量情侣作爱视频| 免费播放岛国影片av| 国产麻豆精品一区一区三区| 无码免费大香伊蕉在人线国产| 精品久久人人妻人人做精品| 亚洲中文字幕无码卡通动漫野外 | 热久久国产| 日本一区二区三区在线播放| 国产精品福利自产拍久久| 国产性生大片免费观看性|