国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【C語言基礎考研向】11 gets函數(shù)與puts函數(shù)及str系列字符串操作函數(shù)

這篇具有很好參考價值的文章主要介紹了【C語言基礎考研向】11 gets函數(shù)與puts函數(shù)及str系列字符串操作函數(shù)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1.gets函數(shù)與puts函數(shù)

gets函數(shù)類似于scanf函數(shù),用于讀取標準輸入.前面我們已經知道scanf函數(shù)在讀取字符串時遇到空格就認為讀取結束,所以當輸入的字符串存在空格時,我們需要使用gets 函數(shù)進行讀取.
gets函數(shù)的格式如下:

char *gets(char *str);

gets函數(shù)從STDIN (標準輸入)讀取字符并把它們加載到str(字符串)中,直到遇到換行符(\n) .如下例所示,執(zhí)行后,我們輸入"how are you",共11個字符,可以看到gets 會讀取空格,同時可以看到我們并未給數(shù)組進行初始化賦值,但是最后有’\0’,這是因為gets遇到\n后,不會存儲\n,而是將其翻譯為空字符’\0’.

puts函數(shù)類似于printf函數(shù),用于輸出標準輸出.puts函數(shù)的格式如下:

int puts(char *str);

函數(shù) puts把 str(字符串)寫入STDOU(標準輸出). puts會將數(shù)組c中存儲的"how are you"字符串打印到屏幕上,同時打印換行,相對于printf函數(shù), puts只能用于輸出字符串,同時多打印一個換行符,等價于printf(%sin",c).

#include <stdio.h>
//gets一次讀取一行
int main()
{
	char c[20l;
	gets(c);
	puts(c);
	return 0;
}

執(zhí)行結果如圖:

how are you
how are you

2 str系列字符串操作函數(shù)(初試沒那么重要,對于機試更重要一些)

str系列字符串操作函數(shù)主要包括strlen. strcpy. strcmp、strcat等. strlen函數(shù)用于統(tǒng)計字符串長度, strcpy函數(shù)用于將某個字符串復制到字符數(shù)組中, strcmp函數(shù)用于比較兩個字符串的大小,strcat 函數(shù)用于將兩個字符串連接到一起.各個函數(shù)的具體格式如下所示:

#include <string.h>
size_t strlen(char *str);
char *strcpy(char *to, const char *from);
int strcmp(const char *str1, const char *str2);
char *strcat(char *str1, const char *str2);

對于傳參類型char*,直接放入字符數(shù)組的數(shù)組名即可.
接下來我們通過下例來具體學習str系列字符串操作函數(shù),掌握每個函數(shù)的內部實現(xiàn).

【例】str系列字符串操作函數(shù)的使用.

#include <stdlo.h>
#include <string.h>

int mystrlen(char c[]){
int i = O;
while (c[i++]);
return i -1;

}

/ / strlen統(tǒng)計字符串長度
int main() {
int len;//用于存儲字符串長度
char c[20];
char d[100] = "world";
gets(c);
puts(c);
len = strlen(c);
printf("len=%d\n",len);
len = mystrlen(c);
printf( "mystrlen len=%din", len);
strcat(c, d);
strcpy(d, c);//c中的字符串復制給d
puts(d);
printf("c?d %din", strcmp(c, d));
puts(c);
return O;
}

下圖所示為我們輸入"hello"后的執(zhí)行結果,通過strlen 函數(shù)計算的字符串長度為5,我們自己寫的函數(shù)就是strlen函數(shù)的計算原理,即通過判斷結束符來確定字符串的長度.

strcpy函數(shù)用來將字符串中的字符逐個地賦值給目標字符數(shù)組.例中我們將c復制給d,就是將c中的每個字符依次賦值給d,也會將結束符賦值給d.注意,目標數(shù)組一定要大于字符串大小,即sizeof(d)>strlen?,否則會造成訪問越界.

hello
hellolen=5
mystrlen len=5
helloworld
c?d 0
helloworld

strcmp函數(shù)用來比較兩個字符串的大小,由于字符數(shù)組c中的字符串與d相等,所以這里的返回值為0,如果c中的字符串大于d,那么返回值為1;如果c中的字符串小于d,那么返回值為-1,如何比較兩個字符串的大小呢?具體操作是從頭開始,比較相同位置字符的ASCII碼值,若發(fā)現(xiàn)不相等則直接返回,否則接著往后比較.例如,strcmp(“hello” ," how")的返回值是-1,即"“hello"小于"how”,因為第一個字符h相等,接著比較第二個位置的字符, e的ASCII碼值小于o的,然后返回-1.

strcat函數(shù)用來將一個字符串接到另外一個字符串的末尾.例中字符數(shù)組c中存儲的是
“hello”,我們將d中的"world"與c拼接,最終結果為"helloworld"。注意,目標數(shù)組必須大于拼接后的字符串大小,即sizeof?>strlen(“helloworld”).文章來源地址http://www.zghlxwxcb.cn/news/detail-815816.html

到了這里,關于【C語言基礎考研向】11 gets函數(shù)與puts函數(shù)及str系列字符串操作函數(shù)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【C語言基礎考研向】05 scanf讀取標準輸入超詳解

    【C語言基礎考研向】05 scanf讀取標準輸入超詳解

    文章目錄 一.scanf函數(shù)的原理 樣例 問題原因 解決方法 二.多種數(shù)據(jù)類型混合輸入 錯誤樣例 正確樣例 ??C語言未提供輸入/輸出,其輸入和輸出是通過標準函數(shù)庫來實現(xiàn)的。C語言通過scanf函數(shù)讀取鍵盤輸入, 鍵盤輸入又被稱為標準輸入 。當scanf函數(shù)讀取標準輸入時,如

    2024年01月22日
    瀏覽(24)
  • 考研C語言刷題基礎篇之數(shù)組(一)

    考研C語言刷題基礎篇之數(shù)組(一)

    目錄 第一題:用數(shù)組作為參數(shù)實現(xiàn)冒泡排序 不用函數(shù)的冒泡排序 冒泡排序原理: 錯誤的數(shù)值傳參冒泡排序 錯誤的原因? 就是什么是數(shù)組名 正確的數(shù)組傳參的冒泡排序? 數(shù)組的地址和數(shù)組首元素的地址的區(qū)別? 冒泡排序原理: 一共經過n-1次排序:相鄰之間兩兩作比較。交換

    2024年01月25日
    瀏覽(28)
  • 考研C語言刷編程題篇之分支循環(huán)結構基礎篇(一)

    考研C語言刷編程題篇之分支循環(huán)結構基礎篇(一)

    目錄 第一題 第二題 ?方法一:要循環(huán)兩次,一次求階乘,一次求和。 注意:在求和時,如果不將sum每次求和的初始值置為1,那么求和就會重復。 方法二: 第三題 方法一:用數(shù)組遍歷的思想 ?方法二用折半查找的思想 折半查找的思想 ?第四題 方法一:用兩個變量,兩個數(shù)

    2024年01月21日
    瀏覽(26)
  • 【C語言基礎考研向】10 字符數(shù)組初始化及傳遞和scanf 讀取字符串

    字符數(shù)組的定義方法與前面介紹的一維數(shù)組類似.例如, 字符數(shù)組的初始化可以采用以下方式. (1)對每個字符單獨賦值進行初始化.例如, (2)對整個數(shù)組進行初始化.例如, 但工作中一般不用以上兩種初始化方式,因為字符數(shù)組一般用來存取字符串.通常采用的初始化方式是

    2024年01月25日
    瀏覽(30)
  • gets和puts函數(shù)

    1.gets類似于scanf函數(shù),用于讀取標準輸入。scanf函數(shù)在讀取字符串時遇到空格就認為讀取結束,所以當輸入的字符串存在空格時,需要使用gets函數(shù)進行讀取。 gets函數(shù)的格式如下: gets函數(shù)從標準輸入中獲取到字符并將其加載到str中,知道遇到換行符。當輸入“how are you”,可

    2024年02月03日
    瀏覽(19)
  • C語言基礎——函數(shù)

    C語言基礎——函數(shù)

    函數(shù)是指將一組能完成一個功能或多個功能的語句放在一起的代碼結構。在C語言程序中,至少會包含一個函數(shù),及主函數(shù)main()。本章將詳細講解關于函數(shù)的相關內容。 C語言重要組成部分。本質是將一個語句塊通過命名的方式獨立出來。通過調用函數(shù),可以實現(xiàn)對部分代碼的

    2024年02月08日
    瀏覽(21)
  • Go語言基礎之函數(shù)

    Go語言基礎之函數(shù)

    Go語言中支持函數(shù)、匿名函數(shù)和閉包,并且函數(shù)在Go語言中屬于“一等公民”。 函數(shù)定義 Go語言中定義函數(shù)使用func,具體格式如下: 其中: 函數(shù)名:由字母、數(shù)字、下劃線組成。但函數(shù)名的第一個字母不能是數(shù)字。在同一個包內,函數(shù)名也稱不能重名(包的概念詳見

    2024年02月11日
    瀏覽(19)
  • C++語言基礎——函數(shù)(詳解)

    C++語言基礎——函數(shù)(詳解)

    目錄 函數(shù)是什么 函數(shù)的定義 主函數(shù)舉例 ?空函數(shù) 函數(shù)的調用 語法格式 舉例說明:計算x的n次方 遞歸 遞歸的主要點 遞歸的結構 條件 遞歸使用的場景 函數(shù)全名叫 計算機函數(shù) ,它可以幫助你完成一些特定的程序。你可以把它簡單理解成一把手槍。 手槍的作用: 完成幾發(fā)子

    2024年01月21日
    瀏覽(19)
  • 【C語言基礎】:內存操作函數(shù)

    【C語言基礎】:內存操作函數(shù)

    ? ? ?? ? 書山有路勤為徑,學海無涯苦作舟。 創(chuàng)作不易,寶子們!如果這篇文章對你們有幫助的話,別忘了給個免費的贊喲~ 一、memcpy函數(shù)的使用和模擬實現(xiàn) 函數(shù)原型 : 內存復制塊 將num字節(jié)的值從源指向的位置直接復制到目標指向的內存塊。 源指針和目標指針所指向的對

    2024年04月11日
    瀏覽(19)
  • 【C語言基礎】:字符函數(shù)和字符串函數(shù)

    【C語言基礎】:字符函數(shù)和字符串函數(shù)

    ? ? ?? ? 書山有路勤為徑,學海無涯苦作舟。 創(chuàng)作不易,寶子們!如果這篇文章對你們有幫助的話,別忘了給個免費的贊喲~ 1. 字符分類函數(shù) C語言中有一系列的函數(shù)是對字符進行分類的,就是對判斷一個字符屬于什么類型的字符,這類字符函數(shù)的使用都要包含一個頭文件

    2024年04月17日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包