C 中的字符串函數

已發表: 2022-11-14

C語言編程使用字符集合和各種現成的函數,將冗長的編碼過程簡化為簡短而精確的函數,以便於實現。 這些功能使程序員可以輕鬆地在有限的字符內進行多種操作並操作字符串。 多種編程語言包含其內置函數,隨時可以隨心所欲地使用以提高精確度。

今天,我們將討論 C 編程語言字符串及其函數,以深入了解各種字符串函數、它們的用途、優點和其他使程序員可以動態工作的功能。

目錄

什麼是字符串

字符串存在於多種編程語言中,儘管 c 處理字符串的方式與通常的編程語言不同。 在 C 語言中,字符串是一維字符數組,其中每個字符串字符在數組中佔據一個位置。 該字符串以空字符結尾,該字符由“\0”定義,表示任何字符串的結尾。

讓我們看一下字符和字符串表示:

char string[10] = {'w','e','l','c','o','m','e','\0'};

字符字符串 [10] = “歡迎”;

char string [] = “歡迎”;

以空字符結束字符串對於將字符序列識別為字符串很重要。 否則,它只是一個沒有空終止符的字符序列。 請注意,字符串包含在雙引號內,而單引號包含序列中的字符。 將字符串聲明為 string[10] 分配 10 個字節的字符串,而 string[] 在程序執行期間分配內存。

從世界一流大學在線學習軟件開發課程。 獲得執行 PG 課程、高級證書課程或碩士課程,以快速推進您的職業生涯。

字符串聲明

如上所述,使用兩種不同的方法聲明字符串。 C是一維的統計語言。 因此,字符串變量需要一個聲明來為任何字符串賦予特定的含義。

例如- char temp[]=” temp string”;

電子p r 一世n G \0

char類型的字符串,在雙引號內聲明時,直接在字符串末尾加上'\0'來結束。 也可以表示為char temp[]=”temp string”;

  • 聲明為“string[6]”的字符將擁有 6 個字節的內存來分配字符串值。 另一方面,聲明為“ string[] ”將通過程序的執行按要求分配空間。

字符串的初始化

聲明和初始化的過程齊頭並進,聲明聲明變量的存在,初始化為其賦值。 c中字符串的初始化有多種實現方式。 這裡有幾個:

  • char t[]=”臨時字符串”;
  • char t[10]=”臨時字符串”;
  • char t[]={'t','e','m', 'd','\0'};
  • char t[5]={'t','e','m', 'd','\0'};

C 中的字符串函數

包含 C 編程語言中的字符串函數以簡化字符串處理。 字符串函數是指執行特定任務的一系列句子。 這些函數可以在不同的字符串中重複使用以簡化字符串處理,從而可以在不同的編碼模式中使用同一組指令。 許多程序員從字符串函數中獲益,以節省多次重寫代碼的時間。 以下是使用字符串函數的優點:

  • 減少代碼的大小
  • 增強可讀性
  • 更簡單的調試過程
  • 改進了代碼的可重用性,允許程序員使用類似的功能而無需從頭開始編寫代碼。

字符串函數的類型

可以使用不同的內置字符串函數來處理存儲在 C 語言標準字符串處理函數庫(稱為“string.h”)中的字符串,而不是使用複雜的代碼序列來操作代碼。

以下是一些常見的字符串處理函數:

1.函數printf()和scanf()

scanf()函數用於從用戶那裡獲取輸入,直到它遇到空白或結束。

例如:

#include <stdio.h>

主函數()

{

int 測試整數;

printf("請輸入一個整數:");

scanf(“%d”, &testInteger);

printf(“數字 = %d”,testInteger);

返回 0;

}

輸出:

輸入一個整數:4

數量 = 4

printf()函數將格式化輸出定向到屏幕,同時打印字符串和變量。

例如:

#include <stdio.h>

主函數()

{

// 顯示引號內的字符串

printf("C 程序設計");

返回 0;

}

輸出:

C編程

軟件工程熱門課程和文章

熱門節目
軟件開發執行 PG 課程 - IIIT B 區塊鏈證書課程 - PURDUE 網絡安全證書計劃 - 普杜 計算機科學碩士 - IIIT B
其他熱門文章
2021-22 年美國雲工程師薪資 AWS 解決方案架構師在美國的薪水 美國的後端開發人員薪水 美國的前端開發人員薪水
Web開發人員在美國的薪水 2022 年 Scrum Master 面試問題 如何在 2022 年開始網絡安全職業? 工程專業學生在美國的職業選擇

2.函數puts()和gets()

gets()函數接受用戶輸入,同時將空格作為字符串讀取。 另一方面, puts()函數允許在用戶屏幕上打印字符串輸出。

例如:

#include 主要()

主函數()

{

炭溫度[20];

printf("請輸入您的姓名");

獲取(溫度);

printf(“我的名字是:”);

放(溫度);

返回 0;

}

3.函數strcpy()

strcpy()函數將一個字符串的內容複製到另一個字符串。

例如:

#include <stdio.h>

#include <字符串.h>

主函數()

{

字符 s1[30] = “字符串 1”;

char s2[30] = “字符串 2:我要復製到 s1”;

/* 此函數已將 s2 複製到 s1 */

strcpy(s1,s2);

printf(“字符串 s1 是: %s”, s1);

返回 0;

}

輸出:

字符串 s1 是:字符串 2:我要復製到 s1

4.函數strlen()

不用編寫手動程序來獲取任何字符串的長度,而是使用函數strlen()來找出任何字符串的長度。

例如:

#include <stdio.h>

#include <字符串.h>

主函數()

{

char str1[20] = “BeginnersBook”;

printf(“當 maxlen 為 30 時字符串 str1 的長度: %d”, strnlen(str1, 30));

printf(“當 maxlen 為 10 時字符串 str1 的長度: %d”, strnlen(str1, 10));

返回 0;

}

輸出:

maxlen 為 30 時字符串 str1 的長度:13

maxlen為10時字符串str1的長度:10

5.函數strrev()

strrev()函數可用於反轉任何字符串的內容。

例如:

#include<stdio.h>

#include<字符串.h>

主函數()

{

char temp[20]=”反轉”;

printf(“反轉前的字符串是: %s\n”, temp);

printf(“strrev() 之後的字符串:%s”, strrev(temp));

返回 0;

}

6.函數strcmp()

strcmp()函數用於比較兩個字符串。 C 中的函數strcmp 比較兩個字符串之間的相互特徵以傳遞結果。 如果字符串相似,C 中的 strcmp 會捕獲它。

例如:

#include <stdio.h>

#include <字符串.h>

主函數()

{

char s1[20] = “BeginnersBook”;

char s2[20] = “BeginnersBook.COM”;

如果(strcmp(s1,s2)==0)

{

printf("字符串 1 和字符串 2 相等");

}別的

{

printf("字符串1和字符串2不同");

}

返回 0;

}

輸出:

字符串 1 和 2 不同

7. 函數 strcat()

strcat()函數用於將源字符串附加到目標字符串的末尾。 (貓指串聯)

例如:

#include <stdio.h>

#include <字符串.h>

主函數()

{

char s1[10] = “你好”;

char s2[10] = “世界”;

strcat(s1,s2);

printf(“拼接後的輸出字符串: %s”, s1);

返回 0;

}

輸出:

拼接後的輸出字符串:HelloWorld

8.函數strlwr()/strupr()

strlwr() 和 strupr()函數有助於將字母從小寫轉換為大寫,反之亦然。

例如:

#include<stdio.h>

#include<字符串.h>

主函數()

{

char str[]=”將我轉換為小寫”;

printf(“%s\n”, strlwr(str));

返回 0;

}

輸出:

將我轉換為小寫

同樣,如果我們使用strupr()函數代替strlwr() ,結果輸出將轉換為大寫

增加程序員的職業機會

對 C 或任何其他編程語言的全面了解可以為您的 IT 職業生涯打下良好的開端; 您所需要的只是專業認證和專門的思維空間來提高您的技能。 upGrad 的軟件開發執行計劃。 ,由普渡大學擴展,可以是您開始全棧職業的機會。

課程大綱是根據最新技能準備的,包括 MERN、開發、編程基礎、API、前端和後端開發、DevOps 等。 令人驚訝的是,學習者不必攜帶先前的編碼語言,這使得該計劃對所有有技術抱負的人開放!

與經驗豐富的教職員工一起,upGrad 的動態學習平台使學生能夠在行業領導者的繁榮環境中學習,他們對他們進行與當前技術市場相關的深入概念的培訓。

訪問upGrad了解更多信息!

結論

這些內置函數對於程序員來說非常可靠,可以通過複雜的編碼序列來使用它們,從而節省為某些操作創建函數的時間和精力。 除了這些解釋過的函數之外,字符串頭文件還包含各種其他函數鏈接操作以簡化編程。

繼續練習以探索所有這些!

什麼是 String 及其類型?

字符串是由在計算編程中廣泛使用的空字符終止的字符集合。 它具有簡化複雜編碼序列的多種功能,並且在不同的編程語言中具有多種數據類型,但在C語言中,字符串僅支持字符數據類型。

什麼是 C 中的空字符?

C 中的空字符是指任何不攜帶值的字符。 空字符的數值為零,也稱為空終止符。 儘管被視為具有零值的字符,但空字符在多種編程語言中很重要,因為它們被實現為用於填充空格和填充的控製字符。

C 中的函數是什麼?

C 語言中的函數是包含特定函數的代碼序列。 當以語法實現時,已知函數會運行某些操作,並且可以重複使用以在不同的語法中執行類似的功能。 函數可以是內置的,也可以需要定義以執行特定任務。