C语言中常用的函数
C語言中常用的函數(shù)
- 1、putchar()函數(shù)
- 2、getchar()函數(shù)
- 3、pow( a , b )函數(shù)
- 4、sqrt( a )函數(shù)
- 5、fabs(a)函數(shù)
- 6、puts(字符數(shù)組)函數(shù)——輸出字符串的函數(shù)
- 7、gets(字符數(shù)組)——輸入字符串的函數(shù)
- 8、strcat(a , b)函數(shù)——字符串連接函數(shù)
- 9、strcpy函數(shù)——字符串復(fù)制函數(shù)
- 10、strncpy函數(shù)——字符串復(fù)制函數(shù)
- 11、strcmp函數(shù)——字符串比較函數(shù)
- 12、strlen函數(shù)——測量字符串長度的函數(shù)
- 13、strlwr函數(shù)——轉(zhuǎn)換為小寫的函數(shù)
- 14、strupr函數(shù)——轉(zhuǎn)換為大寫的函數(shù)
1、putchar()函數(shù)
putchar()函數(shù)用于輸出字符,每次只能輸出一個字符,若想輸出多個字符則需要使用多個putchar()函數(shù)。
putchar()函數(shù)輸出完結(jié)果后不會自動換行
putchar()函數(shù)是輸出字符的函數(shù),它輸出的是字符而不能輸出整數(shù)。
putchar( c )中的c可以是字符常量、整型常量、字符變量、整型變量。
例1:輸出的是char類型的字符
#include <stdio.h> int main() {char a='A',b='W',c='M';putchar(a);putchar(b);putchar(c); // printf("\n");putchar('\n'); //putchar()函數(shù)不會自動換行,所以需要使用'\n'進(jìn)行換行 }例2:輸出的是int類型的數(shù)值(通過ASCII碼值自動將數(shù)值轉(zhuǎn)換為字符)
#include <stdio.h> int main() {int a=97,b=99,c=101;putchar(a);putchar(b);putchar(c);putchar('\n'); //putchar()函數(shù)不會自動換行,所以需要輸出 }擴(kuò)展:
#include <stdio.h> int main() {putchar('\101');//輸出字符Aputchar('\'');//括號中的 \' 是轉(zhuǎn)義字符,代表單撇號' 用于輸出單撇號putchar('\015');//八進(jìn)制數(shù)15等于十進(jìn)制數(shù)13,13的ASCII碼值表示的是回車 }在c中,規(guī)定’\ddd’代表八進(jìn)制轉(zhuǎn)義符,’\xdd’代表十六進(jìn)制轉(zhuǎn)義符?!痋101’不含x,所以是八進(jìn)制,轉(zhuǎn)換成十進(jìn)制是數(shù)字65,查ASCII表可知,65代表大寫字母A,所以屏幕會輸出A。
2、getchar()函數(shù)
getchar()函數(shù)用于取得字符,getchar()函數(shù)沒有參數(shù),它的作用就是從計算機(jī)獲得一個字符。由于getchar()函數(shù)只能接收一個字符,如果想輸入多個字符就要用到多個getchar()函數(shù)。
例1:
#include <stdio.h> int main() {char a,b,c;a=getchar();b=getchar();c=getchar();putchar(a);putchar(b);putchar(c);printf("\n"); }在連續(xù)輸入ABC后并按下Enter鍵后,字符才送到計算機(jī)中,然后再輸出ABC這三個字符。
在鍵盤上輸入信息時,并不是在鍵盤上敲一個字符,該字符就立即送到計算機(jī)中去,而是先暫時存放在緩沖器中,只有俺下Enter之后才輸入到計算機(jī)中。
所以如果輸入一個字符就敲一下Enter鍵的話,會出現(xiàn)下面的結(jié)果:
原因很簡單,getchar()函數(shù)也可以獲取屏幕上無法顯示的字符,如控制字符,所以getchar函數(shù)可以讀取到敲擊的回車作為字符。
例2:
#include <stdio.h> int main() {putchar(getchar());putchar(getchar());putchar(getchar());putchar('\n'); }說明:
也可以在printf函數(shù)中輸出剛接收的字符:
printf("%c",getchar());例:在鍵盤上輸入大寫字母,在屏幕上顯示小寫字母
#include <stdio.h> int main ( ) {char c1,c2;c1=getchar(); // 從鍵盤讀入一個字符,賦給字符變量c1c2=c1+32; // 得到字符'a'的ASCII代碼,放在字符變量c2中putchar(c2); // 輸出c2的值,是一個字符putchar('\n');return 0; }例:在鍵盤上輸入大寫字母,在屏幕上顯示小寫字母(通過循環(huán)實(shí)現(xiàn)多次讀入)
#include <stdio.h> int main ( ) {char c;while((c=getchar())!='\n'){c = c+32;putchar(c);}putchar('\n'); }3、pow( a , b )函數(shù)
注意:pow( a , b )函數(shù)必須加上頭文件#include “math.h”
pow(a,b)用來求a的b次方
#include <stdio.h> #include "math.h" int main ( ) {int a=3,b=4;int aa=pow(a, 3); //a的3次方int bb=pow(b, 2); //b的平方printf("%d\n%d\n",aa,bb); }4、sqrt( a )函數(shù)
注意:sqrt( a )函數(shù)必須加上頭文件#include “math.h”
sqrt(a)函數(shù)用來求數(shù)值a的算術(shù)平方根的
注意:sqrt返回值是double類型的,所以在接收sqrt返回值的時候和輸出sqrt的返回值的時候,注意都應(yīng)該是double類型的。
其實(shí),sqrt(a)中的參數(shù)a也應(yīng)該是double類型的,不過是int類型的也可以進(jìn)行運(yùn)算。
例1:
#include <stdio.h> #include "math.h" int main ( ) {int aa=64,bb=8;double a=sqrt(aa);double b=sqrt(bb);printf("%lf\n%lf\n",a,b); }5、fabs(a)函數(shù)
注意:fab(a)函數(shù)必須加上頭文件#include “math.h”
注意:fab(a)函數(shù)是用來求a的絕對值的函數(shù),一般情況下a都是double類型的,而且fabs(a)函數(shù)返回值也應(yīng)該用double類型的變量來接收。
#include <stdio.h> #include "math.h" int main ( ) {double a=-5.7,b=8.3;double aa = fabs(a);double bb=fabs(b);printf("%.2lf\n%.2lf\n",aa,bb); }6、puts(字符數(shù)組)函數(shù)——輸出字符串的函數(shù)
注意:一定要加頭文件#include “string.h”
#include <stdio.h> #include "string.h" int main ( ) {char c[] = "abcdefg\nhiklmn";puts(c); }puts(字符數(shù)組) 這個函數(shù)會進(jìn)行自動換行的。
puts函數(shù)能夠?qū)⑥D(zhuǎn)義字符數(shù)出來
puts函數(shù)一次只能輸出一個字符串
7、gets(字符數(shù)組)——輸入字符串的函數(shù)
注意:一定要加頭文件#include “string.h”
#include <stdio.h> #include "string.h" int main ( ) {char c[] ={}; //可以初始化里面有值,也可以不初始化gets(c); //將輸入的字符串放入字符數(shù)組c中去c[0]='A'; //將數(shù)組的第一個元素改為Aputs(c); //以字符串的形式,將字符數(shù)組中的元素全部輸出gets(c); //再次讀入一個字符串puts(c); //再次輸出一個字符串 }gets(字符數(shù)組),這里面的字符數(shù)組可以被初始化,gets(字符數(shù)組)這個函數(shù),每一次都會將原本字符數(shù)組中的內(nèi)容替換為新輸入的字符串內(nèi)容。
gets函數(shù)一次只能輸入一個字符串
8、strcat(a , b)函數(shù)——字符串連接函數(shù)
格式:
strcat(字符數(shù)組1,字符數(shù)組2)
作用:
把兩個字符數(shù)組中的字符串連接起來,把字符數(shù)組2中的字符串連接到字符數(shù)組1的字符串后面,并且將結(jié)果放在字符數(shù)組1中,函數(shù)調(diào)用后得到一個函數(shù)值——字符數(shù)組1的地址。
字符數(shù)組1必須足夠大,以便于容納連接后的新字符串
連接前兩個字符串的后面都有’\0’,連接時將字符串1后面的’\0’取消,只在新串最后保留’\0’
9、strcpy函數(shù)——字符串復(fù)制函數(shù)
格式:
strcpy(字符數(shù)組1,字符串2);
字符數(shù)組1必須足夠大,以便于容納被復(fù)制的字符串2
#include <stdio.h> #include "string.h" int main ( ) {char c1[100] = {"大家好"};char c2[] = {"再見"};strcpy(c1, c2);printf("%s\n",c1);puts(c1); }字符數(shù)組1必須寫成數(shù)組名形式(如str1),字符串2可以時字符數(shù)組名,也可以時一個字符串常量,比如不聲明數(shù)組c2,而直接進(jìn)行strcpy(c1, “我們還會再見面的”);
不管字符串2中的字符串長度有多大或者有多小,使用strcpy函數(shù)都會將字符數(shù)組1中的原本的內(nèi)容覆蓋,只保留字符串2中的內(nèi)容。
10、strncpy函數(shù)——字符串復(fù)制函數(shù)
格式
strncpy(字符數(shù)組1 , 字符數(shù)組2 , n);
可以用strncpy函數(shù)將字符串2中前面的n個字符復(fù)制到字符數(shù)組1中去
作用是將str2中最前面的2個字符復(fù)制到str1中,取代str1中原有的最前面的2個字符。但復(fù)制的字符個數(shù)n不應(yīng)多于str1中原有的字符(不包括’\0’),如果復(fù)制的字符個數(shù)超過了str1中原有的字符個數(shù),那么就會將str1中所有的內(nèi)容覆蓋,只顯示str2中的字符串(當(dāng)然,str1數(shù)組的大小要足夠大)
#include <stdio.h> #include "string.h" int main ( ) {char c1[100] = {"Today"};char c2[] = {"beautiful girl"};strncpy(c1, c2 ,3);printf("%s\n",c1);puts(c1); } #include <stdio.h> #include "string.h" int main ( ) {char c1[100] = {"Today"};char c2[] = {"beautiful girl"};strncpy(c1, c2 ,12);printf("%s\n",c1);puts(c1); }11、strcmp函數(shù)——字符串比較函數(shù)
格式:
strcmp( 字符串1,字符串2 );
作用:比較字符串1和字符串2
字符串比較的規(guī)則:
將兩個字符串自左至右逐個字符相比(按照ASCII碼值大小比較),直到出現(xiàn)不同的字符或者遇到’\0’為止。
如果全部字符相同,則認(rèn)為兩個字符串相等。
如果出現(xiàn)不相同的字符,則以第1對不相同的字符的比較結(jié)果為準(zhǔn)。
如果字符串1與字符串2相同,則返回的函數(shù)值為0
如果字符串1>字符串2,則返回的函數(shù)值為一個正整數(shù)
如果字符串1<字符串2,則返回的函數(shù)值為一個負(fù)整數(shù)
12、strlen函數(shù)——測量字符串長度的函數(shù)
格式:
strlen(字符數(shù)組)
它是測試字符串長度的函數(shù),函數(shù)的值為字符串中的實(shí)際長度(不包括’\0’在內(nèi))
#include <stdio.h> #include "string.h" int main ( ) {int n;char str[100]="I love you";n = strlen(str);printf("%s的字符串長度為:%d\n",str,n); }13、strlwr函數(shù)——轉(zhuǎn)換為小寫的函數(shù)
格式:
strlwr(字符串)
作用:
將字符串中大寫的字母轉(zhuǎn)換為小寫的字母
14、strupr函數(shù)——轉(zhuǎn)換為大寫的函數(shù)
格式:
strupr(字符串)
作用:
將字符串中小寫的字母轉(zhuǎn)換為大寫的字母
總結(jié)
- 上一篇: mysql c语言教程,C语言调用mys
- 下一篇: c语言time函数详解,C语言Time函