精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

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

C語言-數(shù)組

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

1. 數(shù)組介紹

C語言的數(shù)組是一個同類型數(shù)據(jù)的集合,主要用來存儲一堆同類型的數(shù)據(jù)。

程序里怎么區(qū)分是數(shù)組? [ ] 這個括號是數(shù)組專用的符號. 定義數(shù)組、 訪問數(shù)組數(shù)據(jù)都會用到。

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

int data[10];  <數(shù)據(jù)類型> <數(shù)據(jù)名稱>[常量-整數(shù)-數(shù)據(jù)數(shù)量];

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

特點:

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

數(shù)組練習(xí)1: 定義一個數(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: 從鍵盤上讀取5個數(shù)據(jù)存放到數(shù)組里,在順序打印、逆序打印

#include 
int main()
{
    int i;
    int data[5]={0}; //下標(biāo)
    //從鍵盤上讀取5個數(shù)據(jù)存放到數(shù)組里
    printf("請輸入5個數(shù)據(jù):");
    for(i=0;i<5;i++)
    {
        scanf("%d",&data[i]); //兩種: 空格 、 回車-換行
    }
    
    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ù)組定義語法與注意事項

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

3. 案例: 計算平均值

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

#include 
int main()
{
    int i;
    float sum=0;
    float data[5];
    float max=0;
    float min=100;
    printf("請輸入5個數(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ù)組,從鍵盤上錄入5個整數(shù)數(shù)據(jù),求和,輸出結(jié)果。

#include 
int main()
{
    int i;
    int sum=0;
    int data[5];
    printf("請輸入5個數(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ù)組,從鍵盤上錄入10個整數(shù)數(shù)據(jù),計算里面大于5、大于10數(shù)據(jù)的數(shù)量,輸出結(jié)果。

#include 
int main()
{
    int i;
    int data[10];
    int cnt_10=0,cnt_5=0;
    printf("請輸入10個數(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ù)組

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

#include
int main()
{
    //從鍵盤上錄入5個數(shù)據(jù),進(jìn)行冒泡排序.  大到小排序。
    int a[5];
    int i,j;
    int tmp;
    printf("錄入5個數(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 字符串特點

1. 字符串本身就是字符數(shù)組。比如:char a[10]="123";
2. 常規(guī)字符串使用雙引號括起來的。 比如:char a[10]="123";
3. 字符串以'\0' 作為結(jié)束符號。
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 計算字符串長度

#include 
#include 

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

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

    關(guān)注

    180

    文章

    7598

    瀏覽量

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

    關(guān)注

    1

    文章

    415

    瀏覽量

    25910
收藏 人收藏

    評論

    相關(guān)推薦

    C語言數(shù)組詳解

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

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

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

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

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

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

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

    c語言-數(shù)組

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

    C語言數(shù)組類型有哪些?

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

    C語言數(shù)組詳解

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

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

    同樣我們在程序中也需要容器,只不過該容器有點特殊,它在程序中是一塊連續(xù)的,大小固定并且里面的數(shù)據(jù)類型一致的內(nèi)存空間,它還有個好聽的名字叫數(shù)組??梢詫?b class='flag-5'>數(shù)組理解為大小固定,所放物品為同類的一個購物袋,在該購物袋中的物品是按一定順序放置的。
    發(fā)表于 07-29 08:00 ?0次下載
    <b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>數(shù)組</b>的學(xué)習(xí)教程說明

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

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

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

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

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

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

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

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

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

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

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

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

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

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