C语言基本知识回顾

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在对指针声明中的使用区别

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;

猜你喜欢

转载自blog.csdn.net/wei348144881/article/details/103760775