當前文章復盤C語言的數組: 數組定義規則、數組空間類型、數組下標使用、數組存放的數據類型、數組數據替換、插入、輸入、輸出、字符串輸入、輸出、長度計算等等。
一、數組概念
數組是一個相同類型元素的集合。
定義數組語法: <數據類型><數組名稱>[數組的大小]; int data [100];
解釋:
定義一個int類型數組名稱是data,可以存放100int類型的數據,總大小字節: 100*4。
<數據類型> 可以填充那些參數?
基本數據類型(char 。。float、int。。。。。)、結構體數據類型、指針類型等。
數組概念說明
(1)[]稱為下標符號,用來操作數組。比如: b=a[10]; //將a數組里第10個元素取出來賦值給b變量。
(2).訪問數組時,下標的范圍是從0開始。比如: int a[10]; 下標范圍: 0~9
(3).數組在定義時,[]下標里填充的大小必須是常量。(C89標準) 比如: int a[b]; //錯誤 int a[10];
(4).數組只有在定義的時候,才可以整體賦值。比如: int a[10]={12,34,56,78,90};
(5).數組在定義的時候,如果賦了值,[]下標里可以不用指定大小。 比如: int a[]={12,34,56};
(6).數組在定義的時候,至少給一個下標賦了初始值,其他下標默認置為0。比如: int a[10]={0};
#include int main(void) { int buff_i[10]={10,20,30}; //定義整數類型數組 float buff_f[10]={10.123,20.123,30.123}; //定義浮點數類型數組 char buff_c[10]="123456";//定義字符串類型數組,結尾多了一個結束符"#include int main(void) { int buff_i[10]={10,20,30}; //定義整數類型數組 float buff_f[10]={10.123,20.123,30.123}; //定義浮點數類型數組 char buff_c[10]="123456";//定義字符串類型數組,結尾多了一個結束符"\0" //說明: 在C語言里面沒有專用字符串類型,字符串本身還是使用char類型定義。Qstring Sting char buff[10]={'1','2','3','4'}; //定義字符類型數組 int i; //打印整型 for(i=0;i<10;i++) { printf("%d ",buff_i[i]); } printf("\n"); //打印浮點類型 for(i=0;i<10;i++) { printf("%f ",buff_f[i]); } printf("\n"); //打印字符串 printf("%s\n",buff_c); //打印字符類型 for(i=0;i<10;i++) { printf("%c ",buff[i]); } printf("\n"); return 0; }
" //說明: 在C語言里面沒有專用字符串類型,字符串本身還是使用char類型定義。Qstring Sting char buff[10]={'1','2','3','4'}; //定義字符類型數組 int i; //打印整型 for(i=0;i<10;i++) { printf("%d ",buff_i[i]); } printf("\n"); //打印浮點類型 for(i=0;i<10;i++) { printf("%f ",buff_f[i]); } printf("\n"); //打印字符串 printf("%s\n",buff_c); //打印字符類型 for(i=0;i<10;i++) { printf("%c ",buff[i]); } printf("\n"); return 0; }
二、數組輸入輸出
#include //從鍵盤上錄入一串數據,倒序輸出 int main(void) { int i; int buff[5]; printf("請輸入5個數據:"); for(i=0;i<5;i++) { scanf("%d",&buff[i]); //從鍵盤上錄入數據 } for(i=5-1;i>=0;i--) { printf("%d ",buff[i]); //將數據打印到控制臺終端 } printf("\n"); return 0; }

三、數組的練習題目
(1). 從鍵盤上錄入一串數據(整數),將數組里的10替換成66,并統計替換的數量。
#include int main(void) { //將數組里的10替換成66,并統計替換的數量。 int buff[10]={10,34,10,347,23,10,123,56,78,10}; int i,cnt=0; for(i=0;i<10;i++) { if(buff[i]==10) { cnt++; //記錄數量 buff[i]=66; } } printf("替換的數量%d\n",cnt); for(i=0;i<10;i++) { printf("%d ",buff[i]); } printf("\n"); return 0; }
(2) 計算數組的大小
int main(void) { int buff[]={10,34,10,347,23,10,123,56,78,10,45,10,10}; //34,347,23,123,56,78 int len=10; printf("buff數組的總大小=%d\n",sizeof(buff)); printf("buff數組有%d個成員\n",sizeof(buff)/sizeof(buff[0])); return 0; }
(3)從鍵盤上輸入一串數據(整數),將數組里大于10的數據刪除掉。
//比如: char buff[]={12,34,8,4,7,100}; //最終的結果:{8,4,7,0,0,0} #include /* 從鍵盤上輸入一串數據(整數),將數組里大于10的數據刪除掉。 */ int main(void) { int buff[13]={1,34,2,347,23,3,123,56,78,4,45,5,6}; int len=13; int i,j; for(i=0;i10) //當if條件成立的時候,i就是當前需要覆蓋數據下標 { //將后面的所有數據向前移動一位 for(j=i;j四、字符串
(1)字符串大小計算示例
char str1[]={'A','B','c'}; //3 char str2[]="ABC"; //4 printf("str1=%d\n",sizeof(str1)); //3 printf("str2=%d\n",sizeof(str2)); //4 //為什么是4 ?因為字符串結尾自帶一個'\0' // '\0'表示是字符串的結束符號
(2)字符串的長度計算
#include int main(void) { char str[100]; //字符串如何從鍵盤上錄入? scanf("%s",str); //從鍵盤上錄入一個字符串 //str為什么不加&符號? 因為數組的名稱就是地址(表示是數組首地址)。 //字符串如何輸出? printf("str=%s\n",str); //如何知道從鍵盤上輸入了多少個字符? //首先得知道一點: 字符串結尾符'\0' 字符 int i=0; while(str[i]!='\0') //判斷字符串的結束符 { i++; } printf("字符串的長度=%d\n",i); return 0; }
(3)字符串的銜接符號
#include int main(void) { char str[100]="3847tr45gt\ // \表示字符串的銜接符號 rhonrbngfbn\ gf"; return 0; }
C 語言 數據結構
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。