首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C語言入門第四天:陣列基礎與字串操作

     編輯:關於C語言

複習重點

  • 變數定義、輸入輸出
  • if-else、while/do-while/for 迴圈

陣列定義與記憶體

int a[1000];  // 開闢 1000 個 int 空間,下標 0~999

避免逐一定義 int a,b,c…。陣列空間連續,下標從 0 開始。

範例一:輸入 n 個數,各加 1 輸出

#include 
int main() {
    int n, a[100000];
    scanf("%d", &n);
    for (int i = 0; i < n; i++) scanf("%d", &a[i]);
    for (int i = 0; i < n; i++) {
        a[i] += 1;
        printf("%d ", a[i]);
    }
    return 0;
}

注意:陣列大小須 ≥ 最大可能 n,否則越界(編譯不報錯,執行期未定義)。

範例二:費波納契數列第 m 項(m<50)

#include 
int main() {
    int n, a[50] = {1,1};
    for (int i = 2; i < 50; i++) a[i] = a[i-1] + a[i-2];
    scanf("%d", &n);
    printf("%d", a[n-1]);  // 下標 0 對應第 1 項
    return 0;
}

陣列巢狀:以陣列值作下標

a[b[i]] 合法,若 b[i] 在有效範圍內。

字元陣列與字串

  • char str[100]; 每格存一字元。
  • 字串以 '\0' 結尾,存「good」需 5 格(含結尾)。
  • 常用庫函式:strcpy、strlen、strcmp(需 #include )。

範例三:字串反轉輸出

#include 
#include 
int main() {
    char a[10000];
    scanf("%s", a);           // 無空格字串
    int len = strlen(a);
    for (int i = len-1; i >= 0; i--) printf("%c", a[i]);
    return 0;
}
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved