一些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 */
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章