一些關於C語言的總結

2021-05-23 14:12:17 字數 2385 閱讀 3348

看到一哥們寫的筆記,感覺不錯就拿過來了。本想加到網摘裡邊,可搗騰了半天就沒有發現加網摘的鏈結,最後還是寫到自己的部落格中吧!

總結1:

char *ch ="12345";  <=> char ch = "12345"; <=> char ch = ; (puts /printf(%s))<=>char ch = ;(必須有單引號)

scanf("%[^'/n']",a); <=> gets(a);(空格也會錄入,直到回車)

總結2:

sscanf()函式和sprintf()函式

大家知道fprintf是對檔案進行輸出,而f對應file,這裡的s對應string,也就是sprintf的輸出物件是字串,這個函式就可以把整型轉化為字串,而sscanf則是以字串為輸入物件,可以把字串轉化為如數字

例子:int n;char s="1234";

sscanf(s,"%d",&n);這樣n的值就是1234

總結3:

字串處理庫

(1)memset(陣列名 ,要初始化的數, 陣列長度)     //陣列初始化

例子:把a陣列清0

memset(a,0,sizeof(a));注意這裡面引數順序和fillchar的區別,前面說過mem*系列是把陣列當成了字串來處理,所以處理的物件是每個位元組,所以如果是int陣列,除了清0和全部清為-1以外(-1的補碼是全1), 其它初始化操作慎用.

(2)memcpy(目標陣列, 被拷貝陣列, 要拷貝長度)

陣列複製,

c語言中不提供直接的等號陣列複製,但是通過它能夠快速複製陣列

例子:把a複製到b中

memcpy(b,a,sizeof(a));//a相當於點,sizeof(a)相當於長度,兩個確定了一條資料線,可以平移到b

(3)memcmp(陣列1,陣列2,要比較長度l)

陣列比較,:把兩陣列的前l個位元組看成是兩個字串做strcmp一樣的比較

該函式在一些陣列比較判重的時候比較高效率

(4)memmove(目標陣列,被拷貝陣列,要拷貝長度)

陣列複製,它和memcpy不同的是兩陣列可以有重疊部分,也就是可以實現fp中move的作用

例子:把a從第a[i]個開始後面的k個資料都後移一位

memmove(a+i+1,a+i,sizeof(a[0])*k);

標準函式庫

(1)abs函式,這是乙個取絕對值的函式,但是要注意它和pascal中abs函式的區別,在c中的abs函式只適用於整型,而實型變數取絕對值則需要中的fabs

(2)快排函式qsort():

void qsort ( void * base, size_t num, size_t size, int ( * comparator ) ( const void *, const void * ) );

/* qsort example */

#include

#include

int values = ;

int compare (const void * a, const void * b)

int main ()

output:

10 20 25 40 90 100

(3)隨機數產生函式rand():

/* rand example: guess the number */

#include

#include

#include

int main ()

while (isecret!=iguess);

puts ("congratulations!");

return 0;

}output:

guess the number (1 to 10): 5

the secret number is higherguess the number (1 to 10): 8

the secret number is lowerguess the number (1 to 10): 7

congratulations!

(4)這個庫裡面沒有函式,但是有一些常用的極限,比如int_max(int變數的上限)long_max,ulong_max(unsigned long的上限)等等,是很有用的

總結4:

int (*(*a)(int (*)[10][20],int))[10];//右左法則

總結5:

const void *p; <=>void const *p;  /*常量指標,與常引用相似,不能通過指標改變指向的資料,中心語為指標,所以可以先定義,後賦值,強調指向的內容為「常量」*/

void * const p;/*指標常量,與指標變數相對,不能改變指標的指向)*/

const void *const p; <=> void const *const p;/*指向常量的常指標*/

關於C語言的一些總結

最近看了一些書籍,總結一下程式設計師容易忽略的程式設計細節吧,對面試還是考試有幫助的,不斷更新中。1.sizeof 想必大家都知道這個關鍵字吧,不是函式哦,凡是在c c 編輯器了有和其它關鍵字有相同顏色的單詞都是關鍵字,這是乙個計算型別或者變數在記憶體中的佔位大小,當是型別時如sizeof int ...

C 關於多型的一些總結

多型按字面的意思就是多種形態。當類之間存在層次結構,並且類之間是通過繼承關聯時,就會用到多型。c 多型意味著呼叫成員函式時,會根據呼叫函式的物件的型別來執行不同的函式。1 什麼是多型 2 多型有什麼用 3 多型的原理是什麼 4 如何實現多型 5 c 的純虛函式 2 多型是物件導向的重要技術之一,它是...

關於C語言大作業的一些提示和一些C語言的庫函式

1 俄羅斯方塊的基本方塊由以下7種組成 也可以自行增加種類 可使用乙個三維的陣列來表示這七種基礎方塊。庫是c c 中的日期和時間標頭檔案。用於需要時間方面的函式。用於生成隨機數。srand函式隨機數發生器的初始化函式,使用的時候用rand i函式獲得0 i 1之間的隨機數,其中i為整數 一般初始化 ...