一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C語(yǔ)言-數(shù)組

DS小龍哥-嵌入式技術(shù) ? 來(lái)源:DS小龍哥-嵌入式技術(shù) ? 作者:DS小龍哥-嵌入式技 ? 2022-08-14 09:59 ? 次閱讀

1. 數(shù)組介紹

C語(yǔ)言的數(shù)組是一個(gè)同類(lèi)型數(shù)據(jù)的集合,主要用來(lái)存儲(chǔ)一堆同類(lèi)型的數(shù)據(jù)。

程序里怎么區(qū)分是數(shù)組? [ ] 這個(gè)括號(hào)是數(shù)組專(zhuān)用的符號(hào). 定義數(shù)組、 訪問(wèn)數(shù)組數(shù)據(jù)都會(huì)用到。

數(shù)組的定義語(yǔ)法:

int data[10];  <數(shù)據(jù)類(lèi)型> <數(shù)據(jù)名稱(chēng)>[常量-整數(shù)-數(shù)據(jù)數(shù)量];

定義一個(gè)int類(lèi)型的數(shù)組,數(shù)組的名稱(chēng)是data,長(zhǎng)度是10,所占空間大小:4*10 字節(jié)。

特點(diǎn):

1.    訪問(wèn)數(shù)組成員的時(shí)候:下標(biāo)是從0開(kāi)始的。int data[10];  下標(biāo) (0~9)
2.    數(shù)組只是支持在定義的時(shí)候進(jìn)行整體賦值。
3.    數(shù)組定義的時(shí)候,[]里只能填常量。數(shù)組在定義之后就無(wú)法更改大小。
4.    數(shù)組的空間是連續(xù)的—內(nèi)存。
5.    數(shù)組的名稱(chēng)就是數(shù)組空間的首地址。
6.    數(shù)組初始化時(shí),如果沒(méi)有賦值,那么數(shù)組空間里的數(shù)據(jù)是未知的---局部變量。
7.    數(shù)組初始化時(shí),只要給一個(gè)空間賦值,剩余空間都自動(dòng)初始化為0---局部變量。

數(shù)組練習(xí)1: 定義一個(gè)數(shù)組、打印出數(shù)組里的數(shù)據(jù)

#include 
int main()
{
    char i;
    int data[10]={12,13,14,15}; //下標(biāo)
    int a[5];
    for(i=0;i<10;i++) //0~9
    {
        printf("data[%d]=%d\n",i,data[i]);
    }
    for(i=0;i<5;i++) //0~4
    {
        printf("a[%d]=%d\n",i,a[i]);
    }
    return 0;
}

數(shù)組練習(xí)2: 從鍵盤(pán)上讀取5個(gè)數(shù)據(jù)存放到數(shù)組里,在順序打印、逆序打印

#include 
int main()
{
    int i;
    int data[5]={0}; //下標(biāo)
    //從鍵盤(pán)上讀取5個(gè)數(shù)據(jù)存放到數(shù)組里
    printf("請(qǐng)輸入5個(gè)數(shù)據(jù):");
    for(i=0;i<5;i++)
    {
        scanf("%d",&data[i]); //兩種: 空格 、 回車(chē)-換行
    }
    
    for(i=0;i<5;i++)
    {
        printf("data[%d]=%d\n",i,data[i]);
    }
    
    for(i=4;i>=0;i--)
    {
        printf("data[%d]=%d\n",i,data[i]);
    }
    return 0;
}

2. 數(shù)組定義語(yǔ)法與注意事項(xiàng)

1. 數(shù)組的名稱(chēng)是數(shù)組元素的首地址。(數(shù)組的名字就是地址)
2. 數(shù)組只能在初始化的時(shí)候進(jìn)行整體賦值。比如:  int a[100]={10,20,30};
3. 數(shù)組的下標(biāo)訪問(wèn)是從0開(kāi)始的。比如: int a[10];  下標(biāo)范圍: a[0] ~ a[9] 
4. 數(shù)組名稱(chēng)雖然是地址,但是這個(gè)地址是不能偏移、也不能自增自減,也不能改變指向。
   int a[10];   
   int b[10];
   a++、a--;  //錯(cuò)誤的
   a=b;      //錯(cuò)誤的
   a[0]=b[0]; // 正確
5. 如果數(shù)組是局部變量,初始化沒(méi)有賦值的情況下,成員是隨機(jī)值。
   比如: int a[10];  printf("%d\n",a[0]);
   初始化的時(shí)給數(shù)組進(jìn)行賦值,那么沒(méi)有賦值的下標(biāo)是什么值?
   比如:  int a[10]={1,2,3}; printf("%d\n",a[6]); //0
6. 數(shù)組定義的時(shí)候(C89), 數(shù)組的下標(biāo)里的大小只能填常量。 
    比如: 
    int a[]; //錯(cuò)誤的,定義數(shù)組必須填大小
    int size=10; int a[size]; //錯(cuò)誤的,定義數(shù)組只能填常量。
    int b[100]; //正確
    #define SIZE 100  int a[SIZE]; //正確

3. 案例: 計(jì)算平均值

要求: 定義數(shù)組,從鍵盤(pán)上錄入5個(gè)浮點(diǎn)類(lèi)型數(shù)據(jù)存放到數(shù)組,計(jì)算平均值和最大、最小值,輸出到屏幕上。

#include 
int main()
{
    int i;
    float sum=0;
    float data[5];
    float max=0;
    float min=100;
    printf("請(qǐng)輸入5個(gè)數(shù)據(jù):");
    /*1. 輸入數(shù)據(jù)*/
    for(i=0;i<5;i++)
    {
        scanf("%f",&data[i]);
    }
    /*2. 處理數(shù)據(jù)*/
    for(i=0;i<5;i++)
    {
        sum+=data[i]; //累加
        if(data[i]>max)max=data[i];
        if(data[i])min=data[i];>

4. 案例: 求和

要求: 定義數(shù)組,從鍵盤(pán)上錄入5個(gè)整數(shù)數(shù)據(jù),求和,輸出結(jié)果。

#include 
int main()
{
    int i;
    int sum=0;
    int data[5];
    printf("請(qǐng)輸入5個(gè)數(shù)據(jù):");
    /*1. 輸入數(shù)據(jù)*/
    for(i=0;i<5;i++)
    {
        scanf("%d",&data[i]);
    }
    /*2. 處理數(shù)據(jù)*/
    for(i=0;i<5;i++)
    {
        sum+=data[i]; //累加
    }
    printf("和:%d\n",sum);
    return 0;
}

5. 案例: 判斷數(shù)據(jù)范圍

要求: 定義數(shù)組,從鍵盤(pán)上錄入10個(gè)整數(shù)數(shù)據(jù),計(jì)算里面大于5、大于10數(shù)據(jù)的數(shù)量,輸出結(jié)果。

#include 
int main()
{
    int i;
    int data[10];
    int cnt_10=0,cnt_5=0;
    printf("請(qǐng)輸入10個(gè)數(shù)據(jù):");
    for(i=0;i<10;i++)
    {
        scanf("%d",&data[i]);
    }
    //處理數(shù)據(jù)
    for(i=0;i<10;i++)
    {
        if(data[i]>5)cnt_5++;
        if(data[i]>10)cnt_10++;
    }
    printf("cnt_5=%d\n",cnt_5);
    printf("cnt_10=%d\n",cnt_10);
    return 0;
}

6. 案例: 冒泡排序-整數(shù)數(shù)組

從鍵盤(pán)上錄入10個(gè)數(shù)據(jù),進(jìn)行冒泡排序. 大到小排序。

#include
int main()
{
    //從鍵盤(pán)上錄入5個(gè)數(shù)據(jù),進(jìn)行冒泡排序.  大到小排序。
    int a[5];
    int i,j;
    int tmp;
    printf("錄入5個(gè)數(shù)據(jù):");
    for(i=0;i<5;i++)
    {
        scanf("%d",&a[i]);
    }
    
    for(i=0;ia[j+1])
            {
                tmp=a[j];
                a[j]=a[j+1];
                a[j+1]=tmp;
            }   
        }
    }

    for(i=0;i(a)>(a)>

7. 字符串?dāng)?shù)組

7.1 字符串特點(diǎn)

1. 字符串本身就是字符數(shù)組。比如:char a[10]="123";
2. 常規(guī)字符串使用雙引號(hào)括起來(lái)的。 比如:char a[10]="123";
3. 字符串以'\0' 作為結(jié)束符號(hào)。
4. 字符數(shù)組一定是字符串? 不一定。 比如: char a[]={12,3,4,5,5};

7.2 字符串定義

#include
int main()
{
    char buff1[10]={'1','2','3','\0','4','5','6','\0','7'};
    
    char buff2[]={'1','2','3','\0'};
    char buff3[]="123";

    printf("%d\n",sizeof(buff2)); //4
    printf("%d\n",sizeof(buff3)); //4
    return 0;
}

7.3 計(jì)算字符串長(zhǎng)度

#include 
#include 

int main()
{
    char buff[100];
    int cnt=0;
    printf("請(qǐng)鍵盤(pán)上錄入字符串:");
    scanf("%s",buff); // 不可以錄入空格

    while(buff[cnt]!='\0')
    {
        cnt++;
    }
    printf("cnt=%d\n",cnt);
    return 0;
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7628

    瀏覽量

    139758
  • 數(shù)組
    +關(guān)注

    關(guān)注

    1

    文章

    419

    瀏覽量

    26302
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    C語(yǔ)言數(shù)組詳解

    介紹C語(yǔ)言數(shù)組的知識(shí)點(diǎn)。
    的頭像 發(fā)表于 05-19 10:15 ?6597次閱讀

    C語(yǔ)言數(shù)組和指針的區(qū)別

    大家好,我是嵌入式老林,從事嵌入式軟件開(kāi)發(fā)多年,今天分享的內(nèi)容是C語(yǔ)言數(shù)組和指針的區(qū)別,希望能對(duì)你有所幫助。
    發(fā)表于 07-11 12:40 ?472次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b><b class='flag-5'>數(shù)組</b>和指針的區(qū)別

    單片機(jī)以太網(wǎng)小工具:html文件轉(zhuǎn)化為C語(yǔ)言數(shù)組

    最近在弄LwIP,發(fā)現(xiàn)要把HTML文件轉(zhuǎn)化為C語(yǔ)言數(shù)組,比較麻煩,就自己寫(xiě)了個(gè)小程序。 現(xiàn)在拿來(lái)與壇友們分享。
    發(fā)表于 04-24 15:26

    C語(yǔ)言數(shù)組格式介紹

    C語(yǔ)言數(shù)組的格式
    發(fā)表于 12-17 07:40

    c語(yǔ)言-數(shù)組

    = "abcde";char book[][80]={"計(jì)算機(jī)應(yīng)用基礎(chǔ)","C語(yǔ)言","C++程序設(shè)計(jì)","
    發(fā)表于 04-07 09:16

    C語(yǔ)言數(shù)組類(lèi)型有哪些?

    C語(yǔ)言數(shù)組類(lèi)型有哪些?
    發(fā)表于 10-15 09:06

    C語(yǔ)言數(shù)組詳解

    上述的語(yǔ)句把數(shù)組中第五個(gè)元素的值賦為 50.0。所有的數(shù)組都是以 0 作為它們第一個(gè)元素的索引,也被稱(chēng)為基索引,數(shù)組的最后一個(gè)索引是數(shù)組的總大小減去 1。以下是上面所討論的
    的頭像 發(fā)表于 09-25 15:43 ?1.5w次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b><b class='flag-5'>數(shù)組</b>詳解

    C語(yǔ)言數(shù)組的學(xué)習(xí)教程說(shuō)明

    同樣我們?cè)诔绦蛑幸残枰萜?,只不過(guò)該容器有點(diǎn)特殊,它在程序中是一塊連續(xù)的,大小固定并且里面的數(shù)據(jù)類(lèi)型一致的內(nèi)存空間,它還有個(gè)好聽(tīng)的名字叫數(shù)組。可以將數(shù)組理解為大小固定,所放物品為同類(lèi)的一個(gè)購(gòu)物袋,在該購(gòu)物袋中的物品是按一定順序放置的。
    發(fā)表于 07-29 08:00 ?0次下載
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b><b class='flag-5'>數(shù)組</b>的學(xué)習(xí)教程說(shuō)明

    C語(yǔ)言總結(jié)_數(shù)組全方位練習(xí)

    C語(yǔ)言數(shù)組的練習(xí)題:涉及到數(shù)組插入、數(shù)組刪除、數(shù)組下標(biāo)數(shù)據(jù)的左移右移、
    的頭像 發(fā)表于 08-14 09:34 ?1101次閱讀

    C語(yǔ)言_數(shù)組的查找、替換、排序、拼接

    這篇文章主要是總結(jié)C語(yǔ)言的位運(yùn)算幾個(gè)實(shí)戰(zhàn)例子,接著介紹數(shù)組的基本定義用法、數(shù)組排序、插入、拼接、刪除、字符串查找替換等。
    的頭像 發(fā)表于 08-14 09:48 ?2789次閱讀

    C語(yǔ)言數(shù)組是什么

    C 語(yǔ)言支持數(shù)組數(shù)據(jù)結(jié)構(gòu),它可以存儲(chǔ)一個(gè)固定大小的相同類(lèi)型元素的順序集合。數(shù)組是用來(lái)存儲(chǔ)一系列數(shù)據(jù),但它往往被認(rèn)為是一系列相同類(lèi)型的變量。
    的頭像 發(fā)表于 02-17 14:29 ?1666次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b><b class='flag-5'>數(shù)組</b>是什么

    C語(yǔ)言數(shù)組元素的指針

    C語(yǔ)言調(diào)用函數(shù)時(shí)虛實(shí)結(jié)合的方法都是采用“值傳遞”方式,當(dāng)用變量名作為函數(shù)參數(shù)時(shí)傳遞的是變量的值,當(dāng)用數(shù)組名作為函數(shù)參數(shù)時(shí)。 由于數(shù)組名代表的是
    的頭像 發(fā)表于 03-10 14:45 ?1097次閱讀

    C語(yǔ)言數(shù)組和指針的區(qū)別

    指針是一個(gè)變量,它存儲(chǔ)了一個(gè)內(nèi)存地址,該地址指向一個(gè)變量的存儲(chǔ)位置。通過(guò)指針,可以訪問(wèn)和修改指向的變量。
    的頭像 發(fā)表于 05-30 10:55 ?1012次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b><b class='flag-5'>數(shù)組</b>和指針的區(qū)別

    C 語(yǔ)言數(shù)組的基本結(jié)構(gòu)

    數(shù)組是最基本的數(shù)據(jù)結(jié)構(gòu),關(guān)于數(shù)組的面試題也屢見(jiàn)不鮮,本文羅列了一些常見(jiàn)的面試題,僅供參考。目前有以下18道題目。 數(shù)組求和 求數(shù)組的最大值和最小值 求
    的頭像 發(fā)表于 06-22 10:56 ?772次閱讀

    C語(yǔ)言數(shù)組應(yīng)用計(jì)算機(jī)導(dǎo)論A第6講:數(shù)組

    C語(yǔ)言數(shù)組應(yīng)用計(jì)算機(jī)導(dǎo)論A第6講:數(shù)組
    發(fā)表于 11-20 15:33 ?0次下載