Chapter 1 快速入门
1.1 快速开始
这个简单的例子有助于你快速进入C的世界:




















这个例子包含如下知识点:
- 如何编写程序的入口点main函数
- 如何用宏定义常量
- 如何声明和定义函数
- 如何调用函数
- 如何用printf函数打印字符串和浮点数
2.2 字符串的表示,头文件
这个例子显示了如何定义字符串和用头文件分离接口与实现:
//
quick.h
#ifndef QUICK_H_
#define QUICK_H_
int len( char s[]);
#endif /* QUICK_H_ */
#ifndef QUICK_H_
#define QUICK_H_
int len( char s[]);
#endif /* QUICK_H_ */








//quickstart.c
#include < stdio.h >
#include
<
stdlib.h
>

int
len(
char
s[])
{
int c=0;
while(s[c]!='')c++;
return c;
}

int
main(
int
argc,
char
*
argv)
{
char s1[]="Nice weekend,";
char s2[]={'D','i','e','g','o','!',''};
char* ps="What can I do for you?";
printf("%s%s%s ",s1,s2,ps);
printf("Length of s1 is:%d ",len(s1));
printf("Length of s2 is:%d ",len(s2));
//system("pause");
return 0;
}

#include < stdio.h >
























- 可以用三种方式定义字符串.技术上说,"字符串"保存在字符数组中,末尾必须有一个字符串结束符'/0'.如果字符串用双引号进行定义,则编译器会自动加上结束符.如果用单引号方式定义则需要手动加结束符.
- 数组方式和指针方式都能定义字符串.但稍有区别.以后会对此进行说明.
- 判断字符串长度的技术.从程序可以看出,如果字符串初始化不正确(末尾没有结束符),则函数有出错的可能.许多C中的Bug都来自于不正确的字符串操作.
- 如何用头文件使函数的接口和实现分离.extern 告诉编译器该函数在某处存在定义,从而顺利进行编译.
2.3 类型转换
这是个字符串到数值的转换例子































这里的知识点如下:
- 如何判断字符是否一个数字.技术上通过ASCII码值来判断.
- 如何应用这个特性转换字符.
2.4 指针
这是一个老生常谈的话题了.函数内的参数(即形参)的改变并不影响实参的值,除非使用指针.

































知识点
- 指针的语法和使用