作业:
1. 梳理笔记(原创!!!)
1.vi编辑器
命令“vi 文件名 ”可以直接生成文件:如 vi text.c 可直接生成text.c文件,文件需保存。
文件相关操作: cat test1.c在终端查看文件的内容
head test1.c在终端查看文件内容,默认查看前十行
head -n test1.c 在终端查看文件内容de前n行
tail test1.c在终端查看文件内容,默认查看后十行
tail -n test1.c 在终端查看文件内容de后n行
2.vscode编译器
命令“vscode 文件名或目录名”可以在vscode编译器中打开 文件或目录:如 vscode text.c
vscode 编译器比vi编译器操作更加便捷,可在vscode编译器中输入“ctrl+~”在vscode中打开终端。需要保存,保存快捷键为“ctrl+s”
3.gcc编译器
分为四步:1预处理:展开头文件,替换宏定义,删除注释
gcc -E test.c -o test.i
2编译:检查语法问题,有错报错,没有则继续运行生成汇编文件
gcc -S test.i -o test.s
3汇编:生成一个不可执行的二进制文件
gcc -c test.s -o test.o
4链接:链接库函数,最终生成二进制可执行文件
gcc test.o -o test(可执行文件名)
简写:gcc test.c 编译文件,生成a.out
./a.out
或
gcc test.c -o test(可执行文件名)
./test
4.计算机的存储单位
计算机最小存储单位 位bit 字节byte
位:0 1
1字节=8位
1KB=1024B
1MB=1024KB
1GB=1024MB
1TB=1024GB
5.计算机数据表示形式
1.数值型数据:二进制
八进制
十进制
十六进制
2.非数值型数据:(可查看man手册,在终端输入“man man”命令可查看)
6.词法符号
1.关键字: 存储类型: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
2.标识符:在给变量、数组、函数等命名时, 遵循标识符的命名规则:
1)由字母、数字、下划线(_)组成
2)开头不能是数字
3)不能和关键字重名
4)见名知意
helloWorld:小驼峰命名(除第一个单词外,其他单词开头大写)
HelloWorld:大驼峰命名(每个单词开头大写)
3.算数运算符:+ - * / % ++ --
/整数相除,结果会向下取整
b=++a;//会先进行++a,再将值赋给b
b=a++;//先将a的值赋给b,再进行a++
d=(b--)+(++c)//会先进行++c,将b+(++c)的值赋给d后,再进行b--
2. 解析代码:分析每一步变量的取值
#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);d=32,b=9,c=22
printf("%d\n",d);
} [单选题] *
A. d = 31
B. d = 32
C. d = 33
D. d = 34
9
D