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