C語言-數組

      網友投稿 812 2025-04-04

      1. 數組介紹


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

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

      數組的定義語法:

      int data[10]; <數據類型> <數據名稱>[常量-整數-數據數量]; 定義一個int類型的數組,數組的名稱是data,長度是10,所占空間大小:4*10 字節。

      特點:

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

      數組練習1: 定義一個數組、打印出數組里的數據

      #include int main() { char i; int data[10]={12,13,14,15}; //下標 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; }

      數組練習2: 從鍵盤上讀取5個數據存放到數組里,在順序打印、逆序打印

      #include int main() { int i; int data[5]={0}; //下標 //從鍵盤上讀取5個數據存放到數組里 printf("請輸入5個數據:"); 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. 數組定義語法與注意事項

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

      3. 案例: 計算平均值

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

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

      4. 案例: 求和

      要求: 定義數組,從鍵盤上錄入5個整數數據,求和,輸出結果。

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

      5. 案例: 判斷數據范圍

      要求: 定義數組,從鍵盤上錄入10個整數數據,計算里面大于5、大于10數據的數量,輸出結果。

      #include int main() { int i; int data[10]; int cnt_10=0,cnt_5=0; printf("請輸入10個數據:"); for(i=0;i<10;i++) { scanf("%d",&data[i]); } //處理數據 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. 案例: 冒泡排序-整數數組

      從鍵盤上錄入10個數據,進行冒泡排序. 大到小排序。

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

      7. 字符串數組

      7.1 字符串特點

      C語言-數組

      1. 字符串本身就是字符數組。比如:char a[10]="123"; 2. 常規字符串使用雙引號括起來的。 比如:char a[10]="123"; 3. 字符串以'

      1. 字符串本身就是字符數組。比如:char a[10]="123"; 2. 常規字符串使用雙引號括起來的。 比如:char a[10]="123"; 3. 字符串以'\0' 作為結束符號。 4. 字符數組一定是字符串? 不一定。 比如: char a[]={12,3,4,5,5};

      ' 作為結束符號。 4. 字符數組一定是字符串? 不一定。 比如: 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; }

      C 語言 數據結構

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:word中表格如何加頁(word表格中怎么加頁)
      下一篇:化工工程項目進度表(化工工程建設項目年度總結)
      相關文章
      亚洲av综合色区| 亚洲精品国产精品乱码不卡| 亚洲午夜无码久久久久| 亚洲人成无码www久久久| 久久无码av亚洲精品色午夜| 亚洲AV无码专区亚洲AV桃| 国产亚洲玖玖玖在线观看| 国产精品亚洲四区在线观看| 亚洲国产精品久久网午夜| 亚洲精品国产电影午夜| 亚洲国产天堂在线观看| 亚洲国产精品第一区二区| 亚洲国产精品热久久| 亚洲人成在线观看| 亚洲av中文无码乱人伦在线播放 | 国产亚洲欧洲精品| 亚洲区小说区激情区图片区| 亚洲男人的天堂www| 亚洲av中文无码乱人伦在线咪咕| 亚洲AV无码专区电影在线观看| 久久亚洲成a人片| 久久久亚洲欧洲日产国码aⅴ | 亚洲国产成人手机在线观看| 亚洲色无码国产精品网站可下载| 亚洲色欲色欱wwW在线| 337p日本欧洲亚洲大胆人人| 亚洲福利视频一区二区| 精品国产人成亚洲区| 狠狠色伊人亚洲综合成人| 久久久无码精品亚洲日韩蜜桃| 亚洲尹人九九大色香蕉网站| 亚洲精品自拍视频| 亚洲综合伊人制服丝袜美腿| 亚洲人成电影网站免费| 爱情岛亚洲论坛在线观看 | 亚洲国产天堂久久综合| 亚洲婷婷五月综合狠狠爱| 亚洲人成依人成综合网| 亚洲一级片在线播放| 亚洲成av人无码亚洲成av人| 亚洲男人在线无码视频|