一、标识符:
1. 由一个字母活多个字母、数字或下划线组成
2. 第一个字符必须为字母或者下划线。
3. 不能与任何关键字相同。
二、程序编译的四个过程
预编译、汇编、链接、可执行。
1. gcc -E test.c -o test.i 编译
2. gcc -S test.c -o test.s 汇编
3. gcc -c test.c -o test.o 链接
4. gcc test.o -o test 生成可执行文件,默认生成a.out。
注:简记为-ESc 生成 .iso
三、三种模式:
命令行模式 esc, 可以删除,复制,粘贴等
1. 插入模式 i, 编辑文件
2. 底行模式 :,shift + :,保存退出
3. 命令行模式:
dd 删除 , 删除多行 ndd , 删除多行: 3,10d(底行模式)
后退 u
复制一行 yy , 复制多行 nyy , 复制多行:3,10y(底行模式)
粘贴 p
shift + o 插入光标上一行 ;
o 插入光标下一行 ;
四、FILE/FUNCTION/LINE
printf(“%s%s%d\n”,FILE,FUNCTION,LINE);
FILE:表示文件名
FUNCTION:表示的是函数名。
LINE:表示此语句的行号。
五、基本数据类型:
逻辑类型。只有两个量true和false,表示逻辑真值和逻辑假值;
整数类型;char short int long
浮点类型;float double
void 类型;该类型也叫缺省型,用于描述值为空集,主要用于说明不返回值的函数
或指向任一类型的指针等;
六、整型数的存储
整型数一般都是按照补码存储,正数的补码是本身,负数 的补码为原码取反加1.
例如:-1
1000 0001 :取反:1111 1110(保留符号位,第一位不变)—->加1—–>1111 1111:255;
七、time ./a.out 查看文件的运行时间
变量前加上register,加快速度。
八、static用法。
#include <stdio.h>
void fun(int a)
{
int sum = 0;
sum += a;
printf("sum = %d\n",sum);
}
int main(void)
{
int m = 5;
fun(m);
fun(m);
fun(m);
return 0;
}
结果:
sum = 5
sum = 5
sum = 5
此时 sum的值一直 是 5, 当fun中的sum变量加上 static时 , sum的值每次都不一样,由于static保存在静态区,到整个函数结束一直存在,且 只执行一次,所以
在加上static时,函数调用了一次sum=0,此时在整个函数运行到结束为止,static int sum=0,只运行了一次。而再次调用时,即为即时的sum值。
#include <stdio.h>
void fun(int a)
{
**static** int sum = 0;
sum += a;
printf("sum = %d\n",sum);
}
int main(void)
{
int m = 5;
fun(m);
fun(m);
fun(m);
return 0;
}
结果:sum = 5
sum = 10
sum = 15
九、自加自减 i++/++i/i–/–i
int i = 5,j = 0;
j = i++;//此时j的值为5,i的值为6;
j = ++i;//此时j的值为6,i的值为6;
j = i--;//此时j的值为5,i的值为4;
j = --i;//此时j的值为4,i的值为4;