iOS概念入門學習 C語言 字串

2021-07-04 14:03:24 字數 2806 閱讀 6898

概要:本文介紹了字串的概念、定義方法和常用的函式,並用例項加以串聯以說明字串的用法。

字串是位於雙引號中的字串行。字串即字元陣列。

在記憶體中以「\0」結束,所佔位元組比實際多乙個

注意:

1. 可以把乙個字元常量賦給乙個字元變數,但不能把字串常量賦給字元變數

2. c語言中沒有字串變數,可以用字元陣列來存放字串

printf("hello world!");

char ch[10]="ab";

定義格式:char 陣列名[常量表示式] 

例如:char c[10];

字元陣列也可以是二維或多維陣列。如:

char 陣列名[常量表示式1][常量表示式2]

例如:char c[5][10]; 即為二維字元陣列。

注意:定義字元陣列時,應確保陣列長度比字串長度至少多1(存放』\0』)

1)定義同時進行初始化

char c[5]=;

2)部分初始化

char d[10]=;

3)先定義再初始化

char e[5];

e[0]='a';

e[1]='b';

1)printf和scanf

使用printf和scanf進行輸入和輸出時,需要用到%s佔位符,%s 從給定的位址開始,輸出字元直到遇到\0結束。應該說明的是,對乙個字元陣列,如果不做初始化賦值,則必須說明陣列長度,還應該特別注意的是,當用scanf函式輸入字串時,字串中不能含有空格,否則將以空格作為串的結束符。

char a[100];

printf("請輸入乙個字串\n");

scanf("%s",a);

printf("%s",a);

2)puts和gets

puts在輸出字串時會自動換行,但與printf不同的是,puts不能進行格式化輸出。gets相對於scanf來說好處在於gets函式並不以空格為字串結束輸入的標誌,而只以回車作為結束標誌。

char f[100];

gets(f);

puts(f);

但是scanf和gets缺點就在於若是使用者輸入了超過陣列指定長度的字串,程式將 報錯。

3)fputs和fgets

i) fgets

格式:fgets(陣列名,陣列長度,stdin)

fgets從輸入緩衝區讀取乙個字串儲存到字元陣列中,當輸入的字串的長度大於陣列的長度,此時fgets會自動的把陣列的最後乙個元素變成\0,當輸入的字串的長度小於陣列長度的時候,fgets還會接收回車。

ii) fputs

格式:fputs(陣列名,stdout);

fputs是不會自動換行,也不能進行格式化的輸出,而puts 可以自動換行

4)幾種輸入輸出方式的比較

i) printf和scanf

優點:可以格式化輸出。

缺點:printf不能自動換行,scanf中不能有空格

ii) puts和gets

優點:gets可以接受空格

缺點:使用gets會有乙個警告,並且當我們輸入的字元數大於字串長度時程式會報錯。

iii) fputs和fgets

fgets()、fputs()最大的優點是幫我們自動擷取輸入的字串,使得我們對字串 的訪問是安全的。

下面將介紹幾個字串的常用函式,介紹完概念之後,將用乙個程式把所有函式的用法表現出來。

1)字串連線函式 strcat

格式: strcat(字元陣列名1,字元陣列名2)
功能:把字元陣列2中的字串連線到字元陣列1 中字串的後面,並刪去字串1後的串標誌 「\0」。本函式返回值是字元陣列1的首位址。

本函式把初始化賦值的字元陣列與動態賦值的字串連線起來。要注意的是,字元陣列1應定義足夠的長度,否則不能全部裝入被連線的字串。

2)字串拷貝函式strcpy

格式: strcpy(字元陣列名1,字元陣列名2)
功能:把字元陣列2中的字串拷貝到字元陣列1中。串結束標誌「\0」也一同拷貝。字元數名2, 也可以是乙個字串常量。這時相當於把乙個字串賦予乙個字元陣列。

本函式要求字元陣列1應有足夠的長度,否則不能全部裝入所拷貝的字串。

3)字串比較函式strcmp

格式: strcmp(字元陣列名1,字元陣列名2)
比較規則:

對兩個字串自左至右逐個字元相比(按ascii碼值大小比較),直到出現不同的字元或遇到『\0』為止。如果全部字元相同,則認為相等;若出現不相同的字元,則以第乙個不相同的字元的比較結果為準。

如果兩個字串都由英文本母組成,則有乙個簡單的規律:在英文本典中位置在後面的為「大」,還要特別注意:小寫字母比大寫字母「大」。

返回值:

- (1)字串1=字串2,返回0

- (2)字串1>字串2,返回乙個正整數

- (3)字串1《字串2,返回乙個負整數。

本函式也可用於比較兩個字串常量,或比較陣列和字串常量。

總結:字串是一種日常程式設計經常會用到的型別,可以用來儲存各種資訊,並對資訊做一些處理,掌握好常用字串函式,對於日後的程式設計學習很有用處!

C語言入門 字串

在c語言中,沒有字串型資料,只能用字元陣列和字元指標來處理字串。如 char ca 10 或 char ca 10 或 char ca 10 hello 都表示ca這個字串中有10個字元 包括 0 後面多出的元素自動補 0。但是ca string 這樣的賦值語句是不合法的,後期賦值只能使用迴圈乙個乙...

C語言入門 字串

還是要繼續學習,每天給自己打氣。字元陣列 char word 這不是c語言的字串,不能用字串的方式做計算 char word 區別就是最後多了乙個0,這就成為了字串 以0 整數0 結尾的一串字元 0或 0 是一樣的,但和 0 不同 0標誌字串的結束,但它不是字串的一部分 計算字串長度的時候不包含這個...

iOS概念入門學習 C語言 指標

概述 本文簡要介紹了指標的概念 定義方法和簡單地應用,指標是乙個十分複雜的工具,還包含各種類別,如 字串指標 結構體指標 函式指標等,此文僅只作入門而已。提起指標的意義,不得不說到變數的訪問方式,變數的訪問方式分為兩種 直接訪問和間接訪問。如下圖 直接訪問 變數的賦值和取值 通過變數名進行訪問值 間...