笔记:
1.vi编辑器
touch;vi;
cat 终端查看文件内容
head 默认查看文件内容前十行
head -n 查看文件内容前n行
tail 默认查看文件内容后十行
tail -n 查看文件内容后十行
#开头 预处理;< .h>系统配置文件;" .h"用户新建的头文件(一般在当前文件里)
main 主函数,程序的入口,一个工程中函数有且仅有一个
命令行参数argc命令行输入字符串的个数,argv存储命令行输入的字符串
return 主函数结束标志
函数的返回值要和函数的数据类型保持一致
2:vscode编辑器
终端:code 文件夹名字
3:gcc编译器
gcc test.c 生成a.out ./a.out
gcc test.c -o test(可执行文件名) 生成test ./test
展开头文件,替换宏定义,删除注释
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
4:计算机的存储单位
位bit 字节byte
1字节=8位;1KB=1024B;1MB=1024KB;1GB=1024KB;1T=1024GB
5:计算机数据表示形式
二进制 0 1;八进制0-7 8:010;十进制:0-9;十六进制0-9 a-f 16:0x10
进制转换:
十转二:短除法,拆分法,计算机
二转十:8421
二转八:一位八进制用三位二进制转
二转十六:一位十六进制用四位二进制转
十六进制转二:0xab-->10101011
非数值型数据
man 手册查看命令或函数用法
man ascii 查看ascii表
'0'=48,‘A’=65,‘a’=97 ,‘ ’=32
\转义字符 '\n'换行,‘101’=‘A’
词法符号
运算符 关键字 标识符 分隔符 标点符号
关键字:
存储类型: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
32位:4G 64位:2^48 虚拟内存空间
栈区:由系统自动开辟,自动回收 M
堆区:程序员手动开辟空间(malloc),手动回收(free)
全局区/静态区: .bss .data
常量区:char *p="hello"
标识符:
在给变量、数组、函数等命名时, 遵循标识符的命名规则:
1)由字母、数字、下划线(_)组成
2)开头不能是数字
3)不能和关键字重名
4)见名知意
helloWorld:小驼峰命名(除第一个单词外,其他单词开头大写)
HelloWorld:大驼峰命名(每个单词开头大写)
运算符:
算数运算符:+ - * / % ++ --
整数相除向下取整,取余只能用于整数运算
i++ i=i+1
a++与++a
int a=6;
int b=++a; //+ =
printf("%d %d\n",a,b);//7 7
int b=a++; //= +
printf("%d %d\n",a,b);//7 6
解析代码
最后输出结果为9
选择题:D.%