一些C語言慣用法

花了三週時間看完了《C語言程序設計與現代方法》,全書概念講解細緻嚴謹,知其然的同時更知其所以然。示例程序嚴整規範,着重培養良好的編程習慣。習題質量平均水準高(每章我選做了部分),而且還提供了講義和在線資源。無論是對於初學者入門還是老手查漏補缺,這本書都值得拜讀,如果時間允許的話,最好也完成所有練習題。
摘錄一些常用的C語言慣用法:

1. 忽視這一行剩下的字符

while (getchar() != '\n'); /* skip reset of line */

2. 變量ch讀取getchar()遇到的第一個非空白字符

char ch;
while ((ch = getchar()) == ' '); /* skip blanks */

3. 遍歷數組求和

int a[N], *p;
for(p = a; p < a + N; p++)
	sum += *p;

4. 字符數組聲明

#define STR_LEN 80
Char str[STR_LEN+1];

5. 搜索字符串的結尾

While(*s)
    s++;
While(*s++);

6. 複製字符串

While(*p++ = *s++);

7. 臨時屏蔽包含註釋的代碼

#if 0
	包含註釋的代碼行
#endif

8. 自定義枚舉類型

typedef enum{
    Mon,
    Tue,
    Wed,
    Thu,
    Fri,
    Sat,
    Sun,
    Max
}Weekday;

9. 搜索鏈表

struct Node{
	int n;
	struct Node* next;
};
struct Node *p;
for(p = first; p != NULL; p = p->next){
	/* your code */
}

10. 位設置,將第j位設置爲1

i |= 1 << j;

11. 位清零,將第j位清零

i &= ~(1 << j);

12. 測試第j位是否被設置

if( i & (1 << j)){
	/* your code */
}

13. scanf逐個讀取一串整數,在遇到首個問題字符處停止

while( scanf("%d", &i) == 1){
	/* your code */
}

14. getc從文件中逐個讀入字符直到遇到文件末尾

while( (ch = getc(fp)) != EOF){
	/* your code */
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章