1.使用 #if 注释掉一段代码
#if 0
statements
#endif
2.在C语言中,数组参数是以引用形式传递的,也就是地址调用,而标量和常量视按值传递的。在函数中修改标量参数都会在函数返回时丢失,而数组则不会。换个角度理解:所有传递给函数的参数都是按值传递的。
3.常用 scanf 格式码
%d | int |
%ld | long |
%f | float |
%lf | double |
%c | char |
%s | char型数据 |
4.常用 printf 格式代码
%d | 十进制 |
%o | 八进制 |
%x | 十六进制 |
%g | 浮点值 |
%c | 字符 |
%s | 字符串 |
/n | 换行 |
5.易错点
错将==写成=,在编译器中可能不会报错,应当注意。
6. for(a = 0; a<100; a++) 语句的执行顺序:先执行初始化部分a = 0;然后执行调整部分a++,再执行测试部分a<100;
举例,j上述循环等效为:
int a = 0;
while(a<100)
{
a++;
}
7.枚举类型:值为符号常量而不是字面值得类型,默认从1开始,可以赋值。
8.point的声明
注意
int *a,*b,*c;
与
int* a,b,c;
的区别。
显然前者是声明三个指向int的指针。虽然 int* 可以用来声明指针,但是上面所示例的第二种声明中只有a为指针,b和c均为整型数据。
9.使用typedef进行重定义
typedef char *ptr_to_char; //Do not foget the semicolon
void main()
{
ptr_to_char str1 = "redefine\n";
printf(str1);
}
10.const常量声明
以const在对指针声明中的使用区别
int const *p; | 指针所指向的值不能修改 |
int *const p; | 指针的值不能修改 |
int const *const p; | 指针和它指向的值都不能修改 |
11.default,当switch语句中所有的case都不匹配时,进入default。
在每个switch语句中都放上一条default子句是个好习惯,这样可以检测到任何非法值。
12.条件操作符
expression1?expression2:expression3;
如果条件1成立,就返回执行条件2的值,反之返回执行条件3的值;
if(a>4)
b = 1;
else
b = 2;
等效于
a>4?b=1:b=2;