1. 程式人生 > >關於C語言中一些常用函式的說明

關於C語言中一些常用函式的說明

1.I/O函式

(1)scanf函式:

int scanf(const char *format…..);

從標準輸入流stdin中按格式format將資料寫到引數表中;若操作成功,返回寫到引數表中的引數個數,否則返回EOF;

注意以下幾點:

①scanf函式沒有精度控制

如出現:

scanf(“%6.2f”,&a);

是絕對錯誤的

②在以%c格式輸入字元資料時,所有輸入的均為有效字元

如:

scanf(“%c%c%c”,&a,&b,&c);

輸入:d e f

則a=’d’,b為空格字元'  ',c=’d’

如果以%s讀入字串,則空格鍵和回車鍵都可以作為輸入結束的標誌

如:

scanf(“%s%s”,p,q);---------p,q均為指標

輸入:Hello World與

        Hello

        World

效果是相同的,p均指向Hello這個字串,q均指向World這個字串

③如果在格式控制字串中有非格式字元,則輸入時要照原樣入;

如:

scanf(“%d,%d,%d,”,&,&b,&c);

則輸入時必須加上逗號:5,6,7

④如果同while配合用的話,則需注意去掉回車鍵

如有下面一段程式:

while(scanf(“%d”,&n)==1&&n!=0)

{

  char ch;

  scanf(“%c”,&ch);

  printf(“%c\n”,ch);

}

則輸出結果是:

2                                                                                                                                                                          

3

0

結果表明ch字元是回車鍵

所以如果要消除影響:

有兩種方法:

1)加上getchar();

while(scanf(“%d”,&n)==1&&n!=0)

{

  getchar();

  char ch;

  scanf(“%c”,&ch);

  printf(“%c\n”,ch);

}

2)在while中加上%*c

While(scanf(“%d%*c”,&n)==1&&n!=0)即可

2.數學函式

(1)求絕對值

double fabs(double );

float fabsf(float);

long double fabsl(long double);

int abs(int);

long int labs(long int);

(2)floor函式:返回不大於引數的整數

 float floor(float);

 double floor(double);

(3)ceil函式:返回不小於引數的整數

 float ceil(float);

 double floor(double);

(4)pow:返回X^Y;

 double pow(double x,double y);

(5)sqrt:返回x的開方

 double sqrt(double x);

(6)log2,log10:返回底數的自然對數值

 double log2(double x);

 double log10(double x);

3.字串處理函式

(1)char *strchr(const char *str,int ch);

    返回str中第一次出現字元ch的位置指標,否則返回NULL;

(2)char *strstr(const char *str1,const char *str2);

   返回str1中第一次出現str2的位置指標,否則返回NULL;

(3)int stricmp(const char *str1,const char *str2);

   忽略字元的大小寫進行比較

(4)int strncmp(const char *str1,const char *str2,int count);

   將str1前n個字元與str2的前n個字元進行比較

(5)char *strncpy(char *str1,const char *str2,int count);

   將str2的前n個字元複製到str1中

(6)char *strrev(char *str);

   將字串str逆序,並返回逆置後的結果

4.常用使用函式

(1)double atof(const char *str);

    將字串str表示的數轉換成浮點數

(2)int atoi(const char *str);

    將字串str表示的數轉換成整數

(3)void qsort(void *buf,int count,int size,cmp);————>count為所需要進行排序的元素個數,size為每個元素所佔用的空間

    快速排序

相關推薦

關於C語言一些常用函式的說明

1.I/O函式 (1)scanf函式: int scanf(const char *format…..); 從標準輸入流stdin中按格式format將資料寫到引數表中;若操作成功,返回寫到引數表中的引數個數,否則返回EOF; 注意以下幾點: ①scanf函式沒

c語言一些常用函式

1.sscanf() char s[100]; scanf("%s", s); int v; sscanf(&s[1], "%d", &v); 輸入s :(112, 334)  輸入s

C語言一些常用IO函式的總結

scanf()函式格式化讀入函式,採用轉換說明匹配 scanf()通過%的形式對資料進行讀入,可以一次讀入多個數據。scanf的實現依靠指標所以有如下兩條規則: 1、scanf()讀入基本資料型別時,需要在變數名前加&。 2、scanf()讀入字串陣列時,不需要加。

Linux c一些常用函式總結(c語言中文網。。。)

fgets()函式 標頭檔案:include<stdio.h> fgets()函式 標頭檔案:include<stdio.h>fgets()函式用於從檔案流中讀取一行或指定個數的字元,其原型為:    char * fgets(char * 

C語言函數聲、形參、實參

-s 函數返回 int 是什麽 變量 strong 返回值 pro ont 函數原型: 原型prototype是函數的聲明;描述了函數的返回值與參數; 函數原型說明了兩點: 1、該函數的返回值 2、該函數的參數及其類型 ++++++++++++++++++++++++++

C語言常用函數_持續更新

就是 scanf() true 字符 水平 遇到 sca pan while isspace函數: 背景:之前遇到scanf()輸入時會把換行符留在輸入隊列的情況,如果下次要用到getchar(),但是會導致其先返回這個我們不需要的換行符;從而導致不希望出現的行為; 說明:

c++可以把任意基本型別轉換為string, 類似於c 語言的 sprintf函式

//c++中按照格式輸入輸出 類似於c 語言中的 sprintf函式 #include<iostream> #include<sstream>//std::stringstream 標頭檔案 int main() { std::string str = "高海文"

C語言一些知識點

  1.學程式設計:找程式碼,讀程式碼,改程式碼,寫程式碼;少看書。但少看不是不看,看一本書要限制在一天內。任務是通讀書中主要的概念,明白大致是幹什麼用的,形成一個大概的框架;然後一週內幹掉書中全部程式碼,程式碼不理解再瀏覽書中相關章節,注意是瀏覽。或者刷部落格。程式碼實在刷不懂,可以先刷後面,待

numpy一些常用函式記錄(3)

1. np.prod()    : prod函式用於求陣列元素的乘積。 Note: 陣列沒有元素,即為空時,得到的值為 1.0 In [2]: np.prod([]) Out[2]: 1.0 In [4]: np.prod([[],[]]) Out[4]: 1.0

C語言一些很酷的技巧(cool tricks)

1.  #if 0 ...... #endif 塊中的內容不會被編譯,因為註釋不允許巢狀,我們可以把暫時不用的程式碼塊放在 這裡面。 2. 陣列初始化的時候可以指定索引,而且可以給特定範圍的陣列賦值。 比如  int array[] = { [0 ... 9] = 1, [10 ... 20] = 2, [

C語言變數和函式的宣告與定義

一、變數在將變數前,先解釋一下宣告和定義這兩個概念。宣告一個變數意味著向編譯器描述變數的型別,但並不為變數分配儲存空間。定義一個變數意味著在宣告變數的同時還要為變數分配儲存空間。在定義一個變數的同時還可以對變數進行初始化。 區域性變數通常只定義不宣告,而全域性變數多在原始檔中定義,在標頭檔案中宣告。 區域性變

C語言返回字串函式的四種實現方法

其實就是要返回一個有效的指標,尾部變數退出後就無效了。 使用分配的記憶體,地址是有效 char   *fun() {         char*   s   =   (char*)calloc(100,   sizeof(char*)   );         if   (s)                

C語言使用靜態函式的好處

          靜態函式會被自動分配在一個一直使用的儲存區,直到退出應用程式例項,避免了呼叫函式時壓棧出棧,速度快很多。 關鍵字“static”,譯成中文就是“靜態的”,所以內部函式又稱靜態函式。但此處“static”的含義不是指儲存方式,而是指對函式的作用域僅侷限於本

C語言有關外部函式呼叫的問題

首先指出一點,我們通常所說的編譯器並非僅指編譯器,確切來說是編譯工具鏈,裡面包括了預編譯器、編譯器、彙編器和聯結器。 對於外部函式實體(處於呼叫函式所在原始檔之外的其他原始檔中的函式),是在連結過程中,才會被尋找和新增程序序,一旦沒有找到函式實體,就會報錯,無法成功連結。

R語言常用函式

語言的數學運算和一些簡單的函式整理如下:向量可以進行那些常規的算術運算,不同長度的向量可以相加,這種情況下最短的向量將被迴圈使用。改變編譯環境的語言(英語)Sys.setenv(LANGUAGE="en")> x <- 1:4> a <- 10> x * a[1] 10 20 3

C語言中static的作用及C語言使用靜態函式有何好處

在C語言中,static的字面意思很容易把我們匯入歧途,其實它的作用有三條,分別是: 一是隱藏功能,對於static修飾的函式和全域性變數而言 二是保持永續性功能,對於static修飾的區域性變數而言。 三是因為存放在靜態區,全域性和區域性的static修飾的變數,都預設初始化為0 下面我逐一給

C語言檔案操作函式彙總

#include <stdio.h> #include <stdlib.h> int main() { FILE* fd = fopen("test.txt","r"); if(NULL == fd)//檔案開啟失敗 { perror("fope

C語言的內部函式與外部函式

內部函式:   如果一個函式只能被本檔案中其它函式所呼叫,它稱為內部函式。在定義內部函式時,在函式名和函式型別的前面加static。即   static 型別識別符號 函式名 (形參表) 如: static int fun (int a, int b) 內部函式又稱靜態函

C語言的子函式和主函式有什麼聯絡啊?它們是怎麼編寫的?

函式定義的一般形式1.無參函式的一般形式 型別說明符 函式名() { 型別說明 語句 }  其中型別說明符和函式名稱為函式頭。 型別說明符指明瞭本函式的型別,函式的型別實際上是函式返回值的型別。 該型別說明符與第二章介紹的各種說明符相同。 函式名是由使用者定義的識別符號,函式名後有一個空括號,其中無引數,但括

C語言沒有main函式生成可執行程式的幾種方法

轉自:http://www.linuxidc.com/Linux/2013-09/90061.htm 1、define預處理指令 這種方式很簡單,只是簡單地將main字串用巨集來代替,或者使用##拼接字串。示例程式如下: #include <stdio.h>