1、字符陣列1)輸入、輸出 %s2)字符陣列初始化 字串char ch[]="hello"2、字串處理函式1)函式原型函式回傳值 函式名(形參1型別 形參1,形參2型別 形參2....)2)函式的呼叫語法 函式名(實參1,實參2...)說明:實參必須有確定的值,并且個數和形參保持一致,型別和形參一致或賦值兼容 int a=3.6,double x=3;1、字串輸入、輸出函式int gets( char * str)====從鍵盤輸入一個字串,保存到str所指向的記憶體單元中 int puts(char * str)=====輸出str所指向的地址中的字串,并且換行char ch[20];gets(ch);<==>gets(&ch[0]) gets(ch[1])錯誤,實參型別為char,而函式gets要求的形參型別為char *gets(&ch[1])正確,從鍵盤輸入一個字串,保存到從ch[1]開始的陣列元素puts(ch);puts(&ch[1]);正確,輸出從ch[1]開始的一個字串(到\0之前的字串)puts("hello");2、字串連接函式char * strcat(char * str1,char *str2) 將str2所指向的字串,連接到str1所指向的字串后面,并且去掉st1后面的\0,回傳的是str1(地址)注意,str1所指向的記憶體單元足夠大(放下連接后的字串)char ch1[]="hello";char ch2[]="world";strcat(ch1,ch2);錯誤,ch1不足夠大char ch1[20]="hello";char ch2[]="world";strcat(ch1,ch2);正確puts(ch1);輸出helloworldputs(strcat(ch1,ch2));將strcat(ch1,ch2)函式呼叫的結果(函式的回傳值)作為puts的實參,呼叫正確,輸出???strcat(ch1,&ch2[3]);puts(ch1);輸出helloldputs(strcat(ch1,&ch2[3]));輸出????strcat(&ch1[2],ch2);puts(ch1);輸出 helloworld ?????puts(strcat(&ch1[2],ch2));輸出 ?????3、字串復制函式1)函式原型char * strcpy(char * str1,char *str2)把str2指向的字串復制到str1所指向的記憶體單元中,回傳str1(地址)注意,str1所指向的記憶體單元大小要大于等于str2所指向的記憶體單元大小char ch1[20]="hello";char ch2[]="wor";strcpy(ch1,ch2);puts(ch1);輸出worstrcpy("hello","worldddd");錯誤,第一個引數的記憶體空間不足夠大puts(strcpy(ch1,ch2));輸出worstrcpy(&ch1[1],&ch2[1]);puts(ch1);輸出horputs(strcpy(&ch1[1],&ch2[1]))輸出or等價于 strcpy(&ch1[1],&ch2[1]);puts(&ch1[1]);2)函式原型char * strncpy(char * str1,char *str2,int n);把str2指向的字串中的n個字符(不一定包含\0)復制到str1所指向的記憶體單元中,回傳str1(地址)char ch1[20]="hello";char ch2[]="world";strncpy(ch1,ch2,3);puts(ch1);//輸出worlo4、字串比較函式函式原型int strcmp(char *str1,char * str2)比較兩個字串的大小(逐個字符比較ASCII值的大小),如果str1>str2回傳1,如果str1=str2回傳0,如果str1<str2回傳-15、字串有效長度函式函式原型unsigned int strlen(char *str)統計str字串中字符的個數,不包括\0,回傳字符個數char ch1[20]="hello";char ch2[]="world";int a,b,c;a=strlen(ch1); 5b=strlen(ch2); 5c=strlen("wordl"); 56、字串轉換小寫strlwr(char * str)char ch1[]="Hello"strlwr(ch1)//hello7、字串轉換成大寫 strupr(char *str)char ch1[]="Hello"strupr(ch1); //HELLO第七章 函式(實作了一定功能的代碼模塊)-模塊化,代碼復用1、函式的定義語法函式回傳值型別 函式名(形參1型別 形參1,形參2型別 形參2...)//函式的首部{ //函式體,函式功能的實作}說明:函式的回傳值型別,即函式型別,是函式完成功能后的回傳值的型別,如果沒有,明確定義為void ,如果有回傳值,則在函式體中要使用return陳述句帶回回傳值函式名為任意合法的識別符號形參 :函式完成功能時,所必須的已知條件,如果沒有則括號什么也不寫,稱為無參函式( 例如求1-100的和就是無參函式)函式體:用大括號括起來的內容,是函式功能的完整實作例如,寫一個函式,求兩個整數的和int add(int x, int y){ int z=x+y; return z;}int f=add(2,3);int add(){ int x,y,z; scanf("%d%d",&x,&y); z=x+y; return z; }int f=add();
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/97672.html
標籤:非技術版
上一篇:我用#CSDN#這個app發現了有技術含量的博客,小伙伴們求同去《centos7聯網》, 一起來圍觀吧 https://bbs.csdn.net/topics/
