vi编辑器
touch test1.c
vi test1.c
或
vi test2.c 当前路径没有test2.c文件
需要保存,自动生成test2.c
vi编辑器可以新建文件,注意保存
文件相关操作:
cat test1.c在终端查看文件的内容
head test1.c在终端查看文件内容,默认查看前十行
head -n test1.c 在终端查看文件内容de前n行
tail test1.c在终端查看文件内容,默认查看后十行
tail -n test1.c 在终端查看文件内容de后n行
vscode编辑器
终端:code 文件夹名字
gcc编译器完整编译 4部
- 预处理:--gcc -E test.c -o test.i
- 编译:--gcc -S test.i -o test.s
- 汇编:--gcc -c test.s -o test.o
- 链接:--gcc test.o -o test(可执行文件名)
- 运行:./test
gcc编译器简写
-
gcc test.c 编译文件,生成a.out
-
./a.out
-
或
-
gcc test.c -o test(可执行文件名)
./test
数值型数据
077 第一位0 表示8进制
0x77 前两位0x 表示16进制
非数值型数据实际应用,操作的ASCII码值
man手册 一般用来查看一些命令或函数的用法
终端输入:man man
关键字
存储类型:auto static extern register
数据类型:int char float short long double signed unsigned
构造数据类型:struct enum union
分支:if else switch case default for do while go to break continue
其他:void const sizeof volatile return typedef
标识符
在给变量、数组、函数等命名时, 遵循标识符的命名规则:
1)由字母、数字、下划线(_)组成
2)开头不能是数字
3)不能和关键字重名
4)见名知意
helloWorld:小驼峰命名(除第一个单词外,其他单词开头大写)
HelloWorld:大驼峰命名(每个单词开头大写)
算术运算符
% 取余,只能用于整数运算
/ 整数相除,结果会向下取整
int a=5/2; printf("%d\n",a); 输出2
float a=5/2; printf("%f\n",a);//输出2.000000
float b=2; printf("%f\n",b);//输出2.000000
float a=5.0/2; printf("%f\n",a); //输出2.500000
强制转换
float a=(float)5/2; //强制转换只在当前这一行生效a=2.500000
printf("%.1f\n",a); //2.5 %.1f保留一位小数
float b=5/2;
printf("%f\n",b); //2.000000
作业
#include <stdio.h>
int main(int argc, char *argv[])
{
int a = 10;
int b = a--; /b=10,a=9
int c = a + b + 2; //c=21
int d = (b--) + (++c); //c==22 d=10+22=32
printf("%d\n",d); //d=32
}
结果输出32
#include <stdio.h>
int main(int argc, char *argv[])
{
int k = 011; //8进制 k=9
printf("%d\n",k++); //输出9
return 0;
}
结果输出9
%取余运算只能整数